Blame view

app/app-prime-modbus/include/common/tinifile.h 3.28 KB
8c2952457   김태훈   응용 프로그램 추가
1
2
3
  /**
      @file   tinifile.h
      @date   2009-04-09
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
4
5
      @author 장길석 jwjwmx@gmail.com
      @brief  Delphi에서 제공하는 TIniFile을 생성한다.
8c2952457   김태훈   응용 프로그램 추가
6
7
8
9
      @todo
      @bug
      @remark
      @warning
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
10
11
          - 저작권    에프에이리눅스(주)
          - 외부공개 금지
8c2952457   김태훈   응용 프로그램 추가
12
13
14
15
  */
  #ifndef __TINI_FILE__
  #define __TINI_FILE__
  
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
16
  /// 에러 없음
8c2952457   김태훈   응용 프로그램 추가
17
  #define INIERR_NONE                 0
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
18
  /// 메모리 부족
8c2952457   김태훈   응용 프로그램 추가
19
  #define INIERR_OUT_OF_MEMORY        1
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
20
  /// 파일 이름 지정 오류
8c2952457   김태훈   응용 프로그램 추가
21
  #define INIERR_FILENAME_FAIL        2
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
22
  /// 지정된 자료가 없음
8c2952457   김태훈   응용 프로그램 추가
23
  #define INIERR_NO_DATA              3
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
24
  /// IniFile이 없음
8c2952457   김태훈   응용 프로그램 추가
25
  #define INIERR_NO_FILE              4
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
26
  /// IniFile 열기 실패
8c2952457   김태훈   응용 프로그램 추가
27
  #define INIERR_ACCESS_FAIL          5
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
28
  /// 섹션 리스트 생성 실패
8c2952457   김태훈   응용 프로그램 추가
29
  #define INIERR_CREATE_SECTION_FAIL  6
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
30
  /// 구별자 정보를 위한 메모리 확보를 실패
8c2952457   김태훈   응용 프로그램 추가
31
  #define INIERR_CREATE_IDENTIFY_FAIL 7
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
32
  /// 구별자의 문자열 정보를 저장하기 위한 메모리 확보에 실패
8c2952457   김태훈   응용 프로그램 추가
33
  #define INIERR_READ_IDENTIFY_FAIL   8
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
34
  /// NULL 객체
8c2952457   김태훈   응용 프로그램 추가
35
36
  #define INIERR_NULL_POINTER         9
  
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
37
  /// INI 에서 사용하는 TRUE
8c2952457   김태훈   응용 프로그램 추가
38
  #define INI_TRUE                    1
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
39
  /// INI 에서 사용하는 FALSE
8c2952457   김태훈   응용 프로그램 추가
40
41
  #define INI_FALSE                   0
  
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
42
  /// ini 파일을 처리하는 객체를 위한 구조체
8c2952457   김태훈   응용 프로그램 추가
43
  typedef struct
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
44
  {   /// IniFile 정보 저장 파일이름
8c2952457   김태훈   응용 프로그램 추가
45
      char       *filename;
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
46
      /// INI 정보가 변경되었는지의 여부
8c2952457   김태훈   응용 프로그램 추가
47
      int         is_changed;
3061c73f6   김태훈   인코딩 변경 EUC-KR -> ...
48
      /// 모든 섹션의 문자열
8c2952457   김태훈   응용 프로그램 추가
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
      tstrlist   *lst_sections;
  } inifile_t;
  
  extern int          ini_error_code;
  
  extern char        *ini_error_string( void);
  extern int          ini_print_error( char *remark);
  extern inifile_t   *ini_create( char *filename);
  extern int          ini_flush( inifile_t *inifile);
  extern void         ini_free( inifile_t *inifile);
  extern int          ini_save_to_file  ( inifile_t *inifile, char *filename);
  extern tstrlist    *ini_read_sections ( inifile_t *inifile);
  extern tstrlist    *ini_read_section  ( inifile_t *inifile, char *str_section);
  extern char *       ini_read_string   ( inifile_t *inifile, char *str_section, char *str_identify, char  *default_value);
  extern int          ini_read_integer  ( inifile_t *inifile, char *str_section, char *str_identify, int    default_value);
  extern double       ini_read_real     ( inifile_t *inifile, char *str_section, char *str_identify, double default_value);
  extern int          ini_read_bool     ( inifile_t *inifile, char *str_section, char *str_identify, int    default_value);
  extern int          ini_write_string  ( inifile_t *inifile, char *str_section, char *str_identify, char  *value);
  extern int          ini_write_integer ( inifile_t *inifile, char *str_section, char *str_identify, int    value);
  extern int          ini_write_real    ( inifile_t *inifile, char *str_section, char *str_identify, double value);
  extern int          ini_write_bool    ( inifile_t *inifile, char *str_section, char *str_identify, int    value);
  extern void         ini_remove_section( inifile_t *inifile, char *str_section);
  
  extern char         ini_read_char     ( inifile_t *inifile, char *str_section, char *str_identify, char   default_value);
  extern int          ini_write_char    ( inifile_t *inifile, char *str_section, char *str_identify, char   value);
  
  
  #endif // __TINI_FILE__