ubinos
|
ubiclib circular buffer API More...
Go to the source code of this file.
Classes | |
struct | _cirbuf_t |
Macros | |
#define | CIRBUF_OPT__NOOVERWRITE 0x0001 |
#define | CIRBUF_OPT__MTPROTECTION 0x0002 |
#define | cirbuf_init(cirbuf, maxsize) |
Typedefs | |
typedef struct _cirbuf_t | cirbuf_t |
typedef cirbuf_t * | cirbuf_pt |
Functions | |
int | cirbuf_create (cirbuf_pt *cirbuf_p, unsigned int maxsize) |
int | cirbuf_create_ext (cirbuf_pt *cirbuf_p, unsigned int maxsize, unsigned int option) |
int | cirbuf_delete (cirbuf_pt *cirbuf_p) |
int | cirbuf_write (cirbuf_pt cirbuf, unsigned char *buf, unsigned int size, unsigned int *written_p) |
int | cirbuf_read (cirbuf_pt cirbuf, unsigned char *buf, unsigned int size, unsigned int *read_p) |
int | cirbuf_clear (cirbuf_pt cirbuf) |
ubiclib circular buffer API
ubiclib 환형버퍼 API를 정의합니다.
#define cirbuf_init | ( | cirbuf, | |
maxsize | |||
) |
환형버퍼를 초기화하는 매크로
cirbuf | 대상 환형버퍼 포인터 |
maxsize | 버퍼 최대 크기 |
#define CIRBUF_OPT__MTPROTECTION 0x0002 |
선택 사항: 다중 태스크 환경에서 사용할 수 있음 (데이터는 손실될 수 있음)
#define CIRBUF_OPT__NOOVERWRITE 0x0001 |
선택 사항: 버퍼가 가득차면 새 데이터를 버림
int cirbuf_clear | ( | cirbuf_pt | cirbuf | ) |
환형버퍼의 데이터를 모두 지우는 함수
cirbuf | 대상 환형버퍼 포인터 |
int cirbuf_create | ( | cirbuf_pt * | cirbuf_p, |
unsigned int | maxsize | ||
) |
환형버퍼를 생성하는 함수
cirbuf_p | 생성한 환형버퍼의 주소를 저장할 포인터의 주소 |
maxsize | 버퍼 최대 크기 |
int cirbuf_create_ext | ( | cirbuf_pt * | cirbuf_p, |
unsigned int | maxsize, | ||
unsigned int | option | ||
) |
환형버퍼를 생성하는 함수 (확장형)
cirbuf_p | 생성한 환형버퍼의 주소를 저장할 포인터의 주소 |
maxsize | 버퍼 최대 크기 |
option | 옵션 (CIRBUF_OPT__...) 0: 기본 설정 |
int cirbuf_delete | ( | cirbuf_pt * | cirbuf_p | ) |
환형버퍼를 제거하는 함수
cirbuf_p | 제거할 환형버퍼의 주소가 저장된 포인터의 주소 제거에 성공하면 *cirbuf_p는 NULL이 됨 |
int cirbuf_read | ( | cirbuf_pt | cirbuf, |
unsigned char * | buf, | ||
unsigned int | size, | ||
unsigned int * | read_p | ||
) |
환형버퍼에서 데이터를 읽는 함수
cirbuf | 대상 환형버퍼 포인터 |
buf | 읽은 데이터를 저장할 버퍼 |
size | 읽을 데이터 크기 |
read_p | 읽은 데이터 크기를 저장할 변수의 주소 (NULL이면 무시) |
int cirbuf_write | ( | cirbuf_pt | cirbuf, |
unsigned char * | buf, | ||
unsigned int | size, | ||
unsigned int * | written_p | ||
) |
환형버퍼에 데이터를 쓰는 함수
cirbuf | 대상 환형버퍼 포인터 |
buf | 쓸 데이터가 저장되어 있는 버퍼 |
size | 쓸 데이터 크기 |
written_p | 쓴 데이터 크기를 저장할 변수의 주소 (NULL이면 무시) |