Blame view

app/app-prime-modbus/include/common/tinifile.h 3.12 KB
8c2952457   김태훈   응용 프로그램 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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
  /**
      @file   tinifile.h
      @date   2009-04-09
      @author 장길석 jwjwmx@gmail.com
      @brief  Delphi에서 제공하는 TIniFile을 생성한다.
      @todo
      @bug
      @remark
      @warning
          - 저작권    에프에이리눅스(주)
          - 외부공개 금지
  */
  #ifndef __TINI_FILE__
  #define __TINI_FILE__
  
  /// 에러 없음
  #define INIERR_NONE                 0
  /// 메모리 부족
  #define INIERR_OUT_OF_MEMORY        1
  /// 파일 이름 지정 오류
  #define INIERR_FILENAME_FAIL        2
  /// 지정된 자료가 없음
  #define INIERR_NO_DATA              3
  /// IniFile이 없음
  #define INIERR_NO_FILE              4
  /// IniFile 열기 실패
  #define INIERR_ACCESS_FAIL          5
  /// 섹션 리스트 생성 실패
  #define INIERR_CREATE_SECTION_FAIL  6
  /// 구별자 정보를 위한 메모리 확보를 실패
  #define INIERR_CREATE_IDENTIFY_FAIL 7
  /// 구별자의 문자열 정보를 저장하기 위한 메모리 확보에 실패
  #define INIERR_READ_IDENTIFY_FAIL   8
  /// NULL 객체
  #define INIERR_NULL_POINTER         9
  
  /// INI 에서 사용하는 TRUE
  #define INI_TRUE                    1
  /// INI 에서 사용하는 FALSE
  #define INI_FALSE                   0
  
  /// ini 파일을 처리하는 객체를 위한 구조체
  typedef struct
  {   /// IniFile 정보 저장 파일이름
      char       *filename;
      /// INI 정보가 변경되었는지의 여부
      int         is_changed;
      /// 모든 섹션의 문자열
      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__