You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

178 lines
4.1 KiB
C

2 years ago
#if !defined(__CONFRW_H__QWERUOIPUADFJHAFKLHADSFHADSFVCMBVZXCVQOEWIRADSHJKXZJVBLWQERYO)
#define __CONFRW_H__QWERUOIPUADFJHAFKLHADSFHADSFVCMBVZXCVQOEWIRADSHJKXZJVBLWQERYO
/*!
* \if developer_doc
* \file
*
* \brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD>ýӿ<EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:ϵͳ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ⲿ<EFBFBD>ӿں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
*
* id: $Id: confrw.h,v 1.2 2006/08/04 03:37:33 zhuzhenhua Exp $
*
* \author <EFBFBD><EFBFBD>С<EFBFBD><EFBFBD> prcharold@sina.com.cn develop1@szscada.com
* \endif
*/
//#include <util/util.h>
#include "confrw_errno.h"
#ifndef _WIN32
#define CONFRWLIB_API
2 years ago
#else
#ifdef CONFRWLIB_EXPORTS
#define CONFRWLIB_API __declspec(dllexport)
#else
#define CONFRWLIB_API __declspec(dllimport)
#endif// CONFRWLIB_EXPORTS
#endif// _WIN32
2 years ago
/*!
* \if by_group
* \addtogroup grp_config_rw
* @{
* \endif
*/
/*!
* \brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>
*
* \param pszfname --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ȫ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Ĭ<EFBFBD><EFBFBD>Ϊ char [MAX_PATH]<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* \param ppvhandle --[in] <EFBFBD>ں<EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>гɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \retval <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* \retval SUCCESS -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>˸ú<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
* \retval <EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- ʧ<EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>
*
*/
CONFRWLIB_API int conf_open ( const char * pszfname, void ** ppvhandle );
/*!
* \brief <EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \param handle --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \retval SUCCESS -- <EFBFBD>ɹ<EFBFBD><EFBFBD>Ĺر<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ͷŵȹ<EFBFBD><EFBFBD><EFBFBD>)
* \retval ERROR_CONF_HANLDE -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \retval <EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- ʧ<EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>
*
* \note
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD>.
*
*/
CONFRWLIB_API int conf_close ( void * handle );
/*!
* \brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> [<EFBFBD><EFBFBD>]<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \param handle --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \param pszsec_name --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>null<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* \param pszkey_name --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>null<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* \param pszdefault --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ, <EFBFBD><EFBFBD>null<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>иü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ͬʱ, <EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>, <EFBFBD>򷵻ظ<EFBFBD>ֵ
* \param pbuf --[out] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \param buffer_length --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \retval SUCCESS -- <EFBFBD><EFBFBD><EFBFBD>õļ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ҳɹ<EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD>
* \retval <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD>ֵ/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SUCCESS
* \retval ERROR_CONF_SECTION -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵĶβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \retval ERROR_CONF_KEY -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \retval <EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- ʧ<EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>
*/
CONFRWLIB_API int conf_read_key ( void * handle,
const char * pszsec_name,
const char * pszkey_name,
const char * pszdefault,
char * pbuf,
int buffer_length );
/*!
* \brief <EFBFBD>޸<EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \param handle --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \param pszsec_name --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \param pszkey_name --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \param pszkey_value --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* \param force_insert --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ,
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0, <EFBFBD>򲻲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
*
* \retval SUCCESS -- <EFBFBD>ɹ<EFBFBD>
* \retval <EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- ʧ<EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>
*
* \note
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> force_insert Ϊ0, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ERROR_CONF_SECTION;
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ERROR_CONF_KEY.
*/
CONFRWLIB_API int conf_write_key ( void * handle,
const char * pszsec_name,
const char * pszkey_name,
const char * pszkey_value,
int force_insert );
/*!
* \brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>)
*
* \param handle --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \param pszsec_name --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \param pszkey_name --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \retval SUCCESS -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \retval <EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- ʧ<EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>
*
* \note
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ķβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>򷵻<EFBFBD> ERROR_CONF_SECTION
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>򷵻<EFBFBD> ERROR_CONF_KEY
*/
CONFRWLIB_API int conf_delete_key ( void * handle,
const char * pszsec_name,
const char * pszkey_name );
/*!
* \brief ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* \param handle --[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \param pszsec_name --[in] ϣ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>Ķε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>null<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
*
* \retval SUCCESS -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>
* \retval <EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- ʧ<EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>
*
* \note
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ķβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>򷵻<EFBFBD> ERROR_CONF_SECTION
*/
CONFRWLIB_API int conf_delete_section ( void * handle,
const char * pszsec_name );
/*!
* \if by_group
* @}
* \endif
*/
#endif //!defined(__CONFRW_H__QWERUOIPUADFJHAFKLHADSFHADSFVCMBVZXCVQOEWIRADSHJKXZJVBLWQERYO)