ubinos
Classes | Macros | Typedefs | Functions
stimer.h File Reference

ubik semaphore timer API More...

#include <ubinos_config.h>
#include <ubinos/type.h>
#include "sem.h"
#include "signal.h"

Go to the source code of this file.

Classes

struct  __stimer_tip_t
 

Macros

#define STIMER_OPT__ONESHOT   0x80
 
#define STIMER_OPT__BROADCAST   0x40
 

Typedefs

typedef struct __stimer_tip_t _stimer_tip_t
 
typedef _stimer_tip_tstimer_pt
 

Functions

int stimer_create (stimer_pt *stimer_p)
 
int stimer_delete (stimer_pt *stimer_p)
 
int stimer_set (stimer_pt stimer, unsigned int tick, sem_pt sem, unsigned int option)
 
int stimer_setms (stimer_pt stimer, unsigned int timems, sem_pt sem, unsigned int option)
 
int stimer_set_signal (stimer_pt stimer, unsigned int tick, signal_pt signal, int sigtype, unsigned int option)
 
int stimer_setms_signal (stimer_pt stimer, unsigned int timems, signal_pt signal, int sigtype, unsigned int option)
 
int stimer_start (stimer_pt stimer)
 
int stimer_stop (stimer_pt stimer)
 

Detailed Description

ubik semaphore timer API

ubik 세마포어 타이머 API를 정의합니다.

Macro Definition Documentation

◆ STIMER_OPT__BROADCAST

#define STIMER_OPT__BROADCAST   0x40

세마포어 타이머 선택 사항: 시그널을 브로드캐스트(signal_broadcast 함수를 호출) 함 (브로드캐스트 선택 사항)
이 선택 사항은 세마포어 타이머가 시그널을 보내도록 설정(stimer_set_signal함수로 설정)되었을 경우에만 유효함

◆ STIMER_OPT__ONESHOT

#define STIMER_OPT__ONESHOT   0x80

세마포어 타이머 선택 사항: 한번만 V 명령(sem_give 함수)을 수행하고 멈춤 (일회성 선택 사항)

Examples
stimertest02.c.

Typedef Documentation

◆ _stimer_tip_t

typedef struct __stimer_tip_t _stimer_tip_t

API용 세마포어 타이머 형 정의

◆ stimer_pt

API용 세마포어 타이머 포인터 형 정의

Function Documentation

◆ stimer_create()

int stimer_create ( stimer_pt stimer_p)

세마포어 타이머를 생성하는 함수

Parameters
stimer_p생성한 세마포어 타이머의 주소를 저장할 포인터의 주소

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음
Examples
stimertest00.c, stimertest01.c, stimertest02.c, and stimertest03.c.

◆ stimer_delete()

int stimer_delete ( stimer_pt stimer_p)

대상 세마포어 타이머를 제거하는 함수

Parameters
stimer_p제거할 대상 세마포어 타이머의 주소가 저장된 포인터의 주소

제거에 성공하면 *stimer_p는 NULL이 됨

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음
Examples
stimertest00.c, stimertest01.c, stimertest02.c, and stimertest03.c.

◆ stimer_set()

int stimer_set ( stimer_pt  stimer,
unsigned int  tick,
sem_pt  sem,
unsigned int  option 
)

대상 세마포어 타이머를 설정하는 함수

Parameters
stimer대상 세마포어 타이머 포인터

tick주기 (시스템 틱tick 수)

sem주기마다 V 명령(sem_give 함수)을 수행할 대상 세마포어

option선택 사항 (STIMER_OPT__...)
0: 어느 것도 선택하지 않음

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음
Examples
stimertest00.c, stimertest01.c, and stimertest02.c.

◆ stimer_set_signal()

int stimer_set_signal ( stimer_pt  stimer,
unsigned int  tick,
signal_pt  signal,
int  sigtype,
unsigned int  option 
)

대상 세마포어 타이머를 시그널을 보내도록 설정하는 함수

Parameters
stimer대상 세마포어 타이머 포인터

tick주기 (시스템 틱tick 수)

signal주기마다 시그널을 보낼 대상

sigtype시그널 종류 (0 이상)
option선택 사항 (STIMER_OPT__...)
0: 어느 것도 선택하지 않음

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ stimer_setms()

int stimer_setms ( stimer_pt  stimer,
unsigned int  timems,
sem_pt  sem,
unsigned int  option 
)

대상 세마포어 타이머를 설정하는 함수 (천분의 일초 단위)

Parameters
stimer대상 세마포어 타이머 포인터

timems주기 (천분의 일초)

sem주기마다 V 명령(sem_give 함수)을 수행할 대상 세마포어

option선택 사항 (STIMER_OPT__...)
0: 어느 것도 선택하지 않음

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ stimer_setms_signal()

int stimer_setms_signal ( stimer_pt  stimer,
unsigned int  timems,
signal_pt  signal,
int  sigtype,
unsigned int  option 
)

대상 세마포어 타이머를 시그널을 보내도록 설정하는 함수 (천분의 일초 단위)

Parameters
stimer대상 세마포어 타이머 포인터

timems주기 (천분의 일초)

signal주기마다 시그널을 보낼 대상

sigtype시그널 종류 (0 이상)
option선택 사항 (STIMER_OPT__...)
0: 어느 것도 선택하지 않음

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ stimer_start()

int stimer_start ( stimer_pt  stimer)

대상 세마포어 타이머를 시작하는 함수

Parameters
stimer대상 세마포어 타이머 포인터

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음
Examples
stimertest00.c, stimertest01.c, and stimertest02.c.

◆ stimer_stop()

int stimer_stop ( stimer_pt  stimer)

대상 세마포어 타이머를 멈추는 함수

Parameters
stimer대상 세마포어 타이머 포인터

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음
Examples
stimertest00.c, and stimertest01.c.