190 lines
6.6 KiB
C
190 lines
6.6 KiB
C
#ifndef SLIB_LOADPROF_H
|
|
#define SLIB_LOADPROF_H
|
|
#include <sys/types.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
// Read in specified integer value
|
|
//
|
|
// Return:
|
|
// 0 : success
|
|
// < 0 : error, val is set to default
|
|
int MESA_load_profile_int_def(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
int *val, // [OUT] returned value
|
|
const int dval); // [IN] default value
|
|
|
|
|
|
|
|
// Read in specified integer value
|
|
//
|
|
// Return:
|
|
// 0 : success
|
|
// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error
|
|
// -2 : error ,the val if out of range
|
|
int MESA_load_profile_int_nodef(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
int *val); // [OUT] returned value
|
|
|
|
|
|
|
|
|
|
// Read in specified unsigned integer value
|
|
//
|
|
// Return:
|
|
// 0 : success
|
|
// < 0 : error, val is set to default
|
|
int MESA_load_profile_uint_def(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
unsigned int *val, // [OUT] returned value
|
|
const unsigned int dval); // [IN] default value
|
|
|
|
|
|
|
|
// Read in specified unsigned integer value
|
|
//
|
|
// Return:
|
|
// 0 : success
|
|
// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error
|
|
// -2 : error ,the val if out of range
|
|
int MESA_load_profile_uint_nodef(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
unsigned int *val); // [OUT] returned value
|
|
|
|
|
|
|
|
// Read in specified short integer value
|
|
//
|
|
// Return:
|
|
// 0 : success
|
|
// < 0 : error, val is set to default
|
|
int MESA_load_profile_short_def(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
short *val, // [OUT] returned value
|
|
const short dval); // [IN] default value
|
|
|
|
|
|
|
|
// Read in specified short integer value
|
|
//
|
|
// Return:
|
|
// 0 : success
|
|
// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error
|
|
// -2 : error ,the val if out of range
|
|
int MESA_load_profile_short_nodef(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
short *val); // [OUT] returned value
|
|
|
|
|
|
|
|
// Read in specified string value,
|
|
// if value string is too long to return, extra chars truncated.
|
|
// prefix/postfix space chars cutted,
|
|
// space chars: ' ', '\t' '\n' '\r'
|
|
//
|
|
// Return:
|
|
// >= 0 : length of val
|
|
// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error
|
|
|
|
int MESA_load_profile_string_nodef(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
char *str, // [OUT] returned string
|
|
const size_t size); // [IN] buffer size(bytes)
|
|
|
|
|
|
|
|
// Read in specified string value,
|
|
// if value string is too long to return, extra chars truncated.
|
|
// prefix/postfix space chars cutted,
|
|
// space chars: ' ', '\t' '\n' '\r'
|
|
//
|
|
// Return:
|
|
// >= 0 : length of val
|
|
// < 0 : error, str is set to default
|
|
int MESA_load_profile_string_def(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
char *str, // [OUT] returned string
|
|
const size_t size, // [IN] buffer size(bytes)
|
|
const char *dstr); // [IN] default string
|
|
|
|
//read muti unint number from config file, e.g "1-3,5-9"
|
|
//return :
|
|
// >=0 : success,return the number of uint read from file successfully
|
|
// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error
|
|
// -2 : error,invalid uint
|
|
int MESA_load_profile_uint_range(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
const size_t size, // [IN] the number of unit memory out pointed
|
|
unsigned int *out); // [OUT] return ipset network bytes order
|
|
|
|
//read ips from config file
|
|
//return :
|
|
// >=0 : success,return the number of ip read from file successfully
|
|
// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error
|
|
// -2 : error,invalid ip
|
|
|
|
#if 0
|
|
int MESA_load_profile_ipset(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
const size_t size, // [IN] the size of memory ips point,it must equel or greater than ip_num*sizeof(unsigned int)
|
|
unsigned int *ipset); // [OUT] return ipset network bytes order
|
|
|
|
// Write the a int into specified position of the config file,the position is decided by section and key
|
|
// Return:
|
|
// >= 0 : success
|
|
// -1 : failed to write profile,maybe fopen failed, or malloc failed
|
|
int MESA_write_profile_int(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
const int value); // [IN] the integer need write
|
|
|
|
// Write the a float into specified position of the config file,the position is decided by section and key
|
|
// Return:
|
|
// >= 0 : success
|
|
// -1 : failed to write profile,maybe fopen failed, or malloc failed
|
|
int MESA_write_profile_float(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
const float value); // [IN] the float need write
|
|
|
|
// Write the a string into specified position of the config file,the position is decided by section and key
|
|
// Return:
|
|
// >= 0 : success
|
|
// -1 : failed to write profile,maybe fopen failed, or malloc failed
|
|
int MESA_write_profile_string(
|
|
const char *file, // [IN] initialization file path
|
|
const char *section, // [IN] section name in initialization file
|
|
const char *key, // [IN] keyword name in initialization file
|
|
const char *value); // [IN] the string need write
|
|
#endif
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* #ifndef SLIB_LOADPROF_H */
|