ubinos
|
ubiclib double linked list API More...
Go to the source code of this file.
Classes | |
struct | _dlist_elmt_t |
struct | _dlist_t |
Macros | |
#define | DLIST_ERR__NOTEXIST -21 |
#define | dlist_init(dlist) |
Typedefs | |
typedef struct _dlist_elmt_t | dlist_elmt_t |
typedef dlist_elmt_t * | dlist_elmt_pt |
typedef struct _dlist_t | dlist_t |
typedef dlist_t * | dlist_pt |
Functions | |
dlist_elmt_pt | dlist_elmt_create (void *data, void *data2) |
int | dlist_elmt_delete (dlist_elmt_pt elmt) |
int | dlist_create (dlist_pt *dlist_p) |
int | dlist_delete (dlist_pt *dlist_p) |
int | dlist_insertprev (dlist_pt dlist, dlist_elmt_pt ref, dlist_elmt_pt elmt) |
int | dlist_insertnext (dlist_pt dlist, dlist_elmt_pt ref, dlist_elmt_pt elmt) |
int | dlist_remove (dlist_elmt_pt elmt) |
dlist_elmt_pt | dlist_getcurnext (dlist_pt dlist) |
int | dlist_find (dlist_pt dlist, dlist_elmt_pt *elmt_p, void *data) |
int | dlist_findandremove (dlist_pt dlist, dlist_elmt_pt *elmt_p, void *data) |
ubiclib double linked list API
ubiclib 더블 링크드 리스트 API를 정의합니다.
#define DLIST_ERR__NOTEXIST -21 |
오류: 해당 엘리먼트가 없음
#define dlist_init | ( | dlist | ) |
typedef dlist_elmt_t* dlist_elmt_pt |
더블 링크드 리스트 엘리먼트 포인터 형 정의
struct _dlist_elmt_t dlist_elmt_t |
더블 링크드 리스트 엘리먼트 자료 구조
더블 링크드 리스트 엘리먼트 형 정의
int dlist_create | ( | dlist_pt * | dlist_p | ) |
더블 링크드 리스트를 생성하는 함수
dlist_p | 생성한 더블 링크드 리스트의 주소를 저장할 포인터의 주소 |
int dlist_delete | ( | dlist_pt * | dlist_p | ) |
더블 링크드 리스트를 제거하는 함수
dlist_p | 제거할 더블 링크드 리스트의 주소가 저장된 포인터의 주소 제거에 성공하면 *dlist_p는 NULL이 됨 |
dlist_elmt_pt dlist_elmt_create | ( | void * | data, |
void * | data2 | ||
) |
더블 링크드 리스트 엘리먼트를 생성하는 함수
data | 엘리먼트의 데이터 |
data2 | 엘리먼트의 데이터2 |
int dlist_elmt_delete | ( | dlist_elmt_pt | elmt | ) |
더블 링크드 리스트 엘리먼트를 제거하는 함수
elmt | 대상 더블 링크드 리스트 엘리먼트 포인터 |
int dlist_find | ( | dlist_pt | dlist, |
dlist_elmt_pt * | elmt_p, | ||
void * | data | ||
) |
지정된 값을 가진 첫번째 엘리먼트를 찾는 함수
dlist | 대상 더블 링크드 리스트 포인터 |
elmt_p | 찾은 엘리먼트 포인터를 저장할 변수 주소 |
data | 이 값을 가진 첫번째 엘리먼트를 찾음 |
int dlist_findandremove | ( | dlist_pt | dlist, |
dlist_elmt_pt * | elmt_p, | ||
void * | data | ||
) |
지정된 값을 가진 첫번째 엘리먼트를 찾아 제거하는 함수
dlist | 대상 더블 링크드 리스트 포인터 |
elmt_p | 찾은 엘리먼트 포인터를 저장할 변수 주소 (NULL이면 무시) |
data | 이 값을 가진 첫번째 엘리먼트를 찾아 제거함 |
dlist_elmt_pt dlist_getcurnext | ( | dlist_pt | dlist | ) |
현재 엘리먼트 포인터(cur)를 그 다음 엘리먼트 포인터로 변경하고 변경된 현재 엘리먼트 포인터를 돌려주는 함수
현재 엘리먼트 포인터가 NULL이거나 마지막 엘리먼트를 가리키면 현재 엘리먼트 포인터를 첫번째 엘리먼트 포인터로 변경
dlist | 대상 더블 링크드 리스트 포인터 |
int dlist_insertnext | ( | dlist_pt | dlist, |
dlist_elmt_pt | ref, | ||
dlist_elmt_pt | elmt | ||
) |
엘리먼트를 지정된 엘리먼트 다음에 추가하는 함수
dlist | 대상 더블 링크드 리스트 포인터 |
ref | 이 포인터가 가리키는 엘리먼트 다음에 추가함 NULL 이면 맨 앞에 추가함 |
elmt | 추가할 엘리먼트 |
int dlist_insertprev | ( | dlist_pt | dlist, |
dlist_elmt_pt | ref, | ||
dlist_elmt_pt | elmt | ||
) |
엘리먼트를 지정된 엘리먼트 앞에 추가하는 함수
dlist | 대상 더블 링크드 리스트 포인터 |
ref | 이 포인터가 가리키는 엘리먼트 앞에 추가함 NULL 이면 맨 뒤에 추가함 |
elmt | 추가할 엘리먼트 |
int dlist_remove | ( | dlist_elmt_pt | elmt | ) |
엘리먼트를 소속된 더블 링크드 리스트에서 제거하는 함수
elmt | 제거할 엘리먼트 |