sw2009/06/09 15:15

함수정의

extern INI_TABLE *ini_parser_load ()

파라미터

const char *ininame : ini file(*.conf) 파일 명

호출자

-       broker_config::broker_config_read

-       system_parameter::prm_read_and_parse_ini_file

메모

-       ininame 파일을 열어서 INI_TABLE을 만들어서 리턴한다..

-       INI_TABLE section일 경우는 key section명이 들어가고 val NULL이 들어간다.

-       key값일때는 section:key key에 들어가고 val에 값이 들어간다.

 



함수정의

extern void ini_parser_free ()

파라미터

INI_TABLE * ini

호출자

-       broker_config::broker_config_read

-       system_parameter::prm_read_and_parse_ini_file

메모

-       INI_TABLE에 할당된 모든 메모리를 해제한다.



함수정의

extern int ini_findsec ()

파라미터

INI_TABLE * ini

const char *sec

호출자

-       broker_config::ini_findsec

메모

-       INI_TABLE에서 sec에 해당하는 section이 있는지 확인한다.



함수정의

extern char *ini_getsecname ()

파라미터

INI_TABLE * ini, int n

호출자

-       broker_config::broker_config_read

메모

-       INI_TABLE n번째 Section의 이름을 리턴한다.



함수정의

extern int ini_hassec ()

파라미터

const char *key

호출자

-       system_parameter:: prm_load_by_section

메모

-       key 문자열에 section이 있는지 확인한다.

-       section:key명 과 같은 식이 아닌 :key명 인지 확인한다.



함수정의

extern int ini_seccmp ()

파라미터

const char *key1

const char *key2

호출자

-       system_parameter:: prm_load_by_section

메모

-       key가 동일한 section을 갖고 있는지 비교한다.

-       다른 문자열이면 0, 같은 문자열이면 문자열의 길이를 리턴한다.



함수정의

extern char *ini_getstr ()

파라미터

INI_TABLE * ini

const char *sec

const char *key

 char *def

호출자

-       broker_config:: broker_config_read

-       ini_parser:: ini_gethex

-       ini_parser:: ini_getint

메모

-       sec key를 조합(sec:key)하여 ini테이블로 부터 조합된 값에 해당하는 아이템을 찾아 문자열 value를 반환한다.



함수정의

extern int ini_getint ()

파라미터

INI_TABLE * ini

const char *sec

const char *key

int def

호출자

-       broker_config:: broker_config_read

-       ini_parser:: ini_getuint

메모

-       ini테이블로 부터 sec key를 조합한 key로 찾은 value int(10진수)로 변환하여 반환한다.



함수정의

extern int ini_getuint ()

파라미터

INI_TABLE * ini

const char *sec

const char *key

int def

호출자

-       broker_config:: broker_config_read

-       ini_parser:: ini_getuint_max

-       ini_parser:: ini_getuint_min

메모

-       ini테이블로 부터 sec key를 조합한 key로 찾은 valueunsigned int 로 변환하여 반환한다.



함수정의

extern int ini_getuint_min ()

파라미터

INI_TABLE * ini

const char *sec

const char *key

int def, int min

호출자

 

메모

-       ini테이블로 부터 sec key를 조합한 key로 찾은 value min보다 크면 unsigned int 값로 변환하여 반환한다.

-       min보다 value가 작으면 min을 반환한다.



함수정의

extern int ini_getuint_max ()

파라미터

INI_TABLE * ini

const char *sec

const char *key

int def

int max

호출자

-       broker_config:: broker_config_read

메모

-       ini테이블로 부터 sec key를 조합한 key로 찾은 value max보다 작으면 unsigned int 값로 변환하여 반환한다.

-       valuemax보다 크면 max을 반환한다.



함수정의

extern int ini_gethex ()

파라미터

INI_TABLE * ini

const char *sec

const char *key

int def

호출자

-       broker_config:: broker_config_read

메모

-       ini테이블로 부터 sec key를 조합한 key로 찾은 value16진수로 변환하여 반환한다.



함수정의

static void *ini_dblalloc ()

파라미터

[in]void *ptr : 포인터

[in]int size : 현재 할당된 크기

호출자

-       ini_parser::ini_table_set

메모

-       포인터가 할당된 크기를 배로 늘린다.



함수정의

static unsigned int ini_table_hash ()

파라미터

[in]char *key

호출자

-       ini_parser::ini_table_get

-       ini_parser::ini_table_set

메모

-       Jenkin One-at-a-time 해쉬함수

-       문자열(key)의 해쉬키를 산출한다.

-       일반적인 collision-free(무충돌) 함수



함수정의

static INI_TABLE *ini_table_new ()

파라미터

int size

호출자

-       ini_parser::ini_parser_load

메모

-       새로운 INI_TABLE을 생성한다.

-       size 128보다 작을때는 기본적으로 size 128로 조정한다.

-       val, key, lineno, hash size개수만큼 슬롯을 생성한다.



함수정의

static void ini_table_free ()

파라미터

INI_TABLE * vd

호출자

-       ini_parser::ini_parser_free

-       ini_parser::ini_parser_load

메모

-       INI_TABLE 객체를 제거한다.



함수정의

static char *ini_table_get ()

파라미터

INI_TABLE * ini

char *key

char *def

int *lineno

호출자

-       ini_parser::ini_parser_load

메모

-       INI_TABLE 테이블에서 key에 해당하는 아이템의 value를 찾는다.



함수정의

static int ini_table_set ()

파라미터

[in]INI_TABLE * vd

[in]char *key

[in]char *val

[in]int lineno

호출자

-       ini_parser::ini_parser_load

메모

-       INI_TABLE에 값을 Set한다.

-       INI_TABLE에 동일한 hash의 데이터가 있으면 val의 값을 갱신한다.

-       INI_TABLE n size의 값이 일치하면 미리할당해 놓은 버퍼(기본 128)가 다 사용된 상태이므로 버퍼개수 사이즈의 배수만큼 늘린다.

-       첫번째로 비어있는 슬롯의 위치를 찾아서 해당 슬롯에 현재 입력받은 데이터를 넣는다.

-       val NULL이면 section, NULL이 아니면 key, value



함수정의

static char *ini_str_lower ()

파라미터

const char *s

호출자

-       ini_parser::ini_get_internal

-       ini_parser::ini_parse_line

메모

-       문자열 s 를 소문자로 변환해서 반환한다.



함수정의

static char *ini_str_trim ()

파라미터

[in]char *s : 버퍼

호출자

-       ini_parser::ini_parse_line

메모

-       문자열 s에서 처음과 끝의 공백문자을 제거한다.



함수정의

static INI_LINE_STATUS ini_parse_line ()

파라미터

[in]char *input_line : 읽어 들인 현재 라인의 내용

[out]char *section

[out]char *key

[out]char *value

호출자

-       ini_parser::ini_parser_load

메모

-       읽어 들인 현재 라인을 분리한다.

-       INI_LINE_STATUS(LINE_UNCOMPRESSED, LINE_EMPTY, LINE_COMMENT, LINE_SECTION, LINE_VALUE, LINE_ERROR)를 리턴한다.

-       section key는 문자열 앞뒤의 공백문자는 제거하고, 소문자로 변환한다.

-       value는 문자열 앞뒤의 공백문자만을 제거한다.



함수정의

static char *ini_get_internal ()

파라미터

INI_TABLE * ini

const char *key

char *def

호출자

-       ini_parser:: ini_getstr

메모

-       key를 소문자로 변환

-       ini 테이블로 부터 key에 해당하는 value를 반환한다.

Posted by redef

댓글을 달아 주세요