|
함수정의 |
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로 찾은 value를 unsigned 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 값로 변환하여 반환한다. - value가 max보다 크면 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로 찾은 value를 16진수로 변환하여 반환한다. |
|
함수정의 |
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를 반환한다. |
댓글을 달아 주세요