acl  3.5.3.0
acl_cfg_macro.h 文件参考
#include "acl_define.h"
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include "acl_msg.h"
#include "acl_xinetd_cfg.h"
+ acl_cfg_macro.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#define ACL_CFG_SET_ITEM_STR(_xcp_, _name_, _obj_)
 
#define ACL_CFG_SET_ITEM_INT(_xcp_, _name_, _obj_, _def_)
 

宏定义说明

◆ ACL_CFG_SET_ITEM_INT

#define ACL_CFG_SET_ITEM_INT (   _xcp_,
  _name_,
  _obj_,
  _def_ 
)
值:
do { \
ACL_XINETD_CFG_PARSER *_tmp_xcp_ = _xcp_; \
const char *_ptr_; \
_ptr_ = acl_xinetd_cfg_get(_tmp_xcp_, _name_); \
if (_ptr_ && *_ptr_) { \
_obj_ = atoi(_ptr_); \
if (_obj_ <= 0) \
_obj_ = _def_; \
} else \
_obj_ = _def_; \
} while (0);
ACL_API const char * acl_xinetd_cfg_get(const ACL_XINETD_CFG_PARSER *xcp, const char *name)

从配置对象中取得某个配置项的值

参数
<em>xcp</em>{ACL_XINETD_CFG_PARSER*} 配置对象
<em>name</em>{const char*} 配置项名
<em>obj</em>{int} 存储配置项的整数类型的值
<em>def</em>{int} 如果配置项不存在,则用此缺省值

在文件 acl_cfg_macro.h44 行定义.

◆ ACL_CFG_SET_ITEM_STR

#define ACL_CFG_SET_ITEM_STR (   _xcp_,
  _name_,
  _obj_ 
)
值:
do { \
ACL_XINETD_CFG_PARSER *_tmp_xcp_ = _xcp_; \
const char *_ptr_; \
_ptr_ = acl_xinetd_cfg_get(_tmp_xcp_, _name_); \
if (_ptr_ && *_ptr_) { \
_obj_ = acl_mystrdup(_ptr_); \
if (_obj_ == NULL) \
acl_msg_fatal("%s(%d): acl_mystrdup error=%s for %s", \
__FILE__, __LINE__, \
strerror(errno), _ptr_); \
} \
} while (0);
ACL_API const char * acl_xinetd_cfg_get(const ACL_XINETD_CFG_PARSER *xcp, const char *name)
#define acl_mystrdup(str)
Definition: acl_mymalloc.h:50

从配置对象中取得某个配置项的值

参数
<em>xcp</em>{ACL_XINETD_CFG_PARSER*} 配置对象
<em>name</em>{const char*} 配置项名
<em>obj</em>{char*} 存储配置项的字符串类型的值

在文件 acl_cfg_macro.h24 行定义.