Postfix3.3.1
マクロ定義 | 型定義 | 関数
attr.h ファイル
#include <stdarg.h>
#include <vstream.h>
#include <vstring.h>
#include <htable.h>
#include <nvtable.h>
#include <check_arg.h>

[ソースコード]

マクロ定義

#define ATTR_TYPE_END   0 /* end of data */
 
#define ATTR_TYPE_INT   1 /* Unsigned integer */
 
#define ATTR_TYPE_NUM   ATTR_TYPE_INT
 
#define ATTR_TYPE_STR   2 /* Character string */
 
#define ATTR_TYPE_HASH   3 /* Hash table */
 
#define ATTR_TYPE_NV   3 /* Name-value table */
 
#define ATTR_TYPE_LONG   4 /* Unsigned long */
 
#define ATTR_TYPE_DATA   5 /* Binary data */
 
#define ATTR_TYPE_FUNC   6 /* Function pointer */
 
#define ATTR_TYPE_OPEN   '{'
 
#define ATTR_TYPE_CLOSE   '}'
 
#define ATTR_NAME_OPEN   "{"
 
#define ATTR_NAME_CLOSE   "}"
 
#define ATTR_HASH_LIMIT   1024 /* Size of hash table */
 
#define SEND_ATTR_INT(name, val)   ATTR_TYPE_INT, CHECK_CPTR(ATTR, char, (name)), CHECK_VAL(ATTR, int, (val))
 
#define SEND_ATTR_STR(name, val)   ATTR_TYPE_STR, CHECK_CPTR(ATTR, char, (name)), CHECK_CPTR(ATTR, char, (val))
 
#define SEND_ATTR_HASH(val)   ATTR_TYPE_HASH, CHECK_CPTR(ATTR, HTABLE, (val))
 
#define SEND_ATTR_NV(val)   ATTR_TYPE_NV, CHECK_CPTR(ATTR, NVTABLE, (val))
 
#define SEND_ATTR_LONG(name, val)   ATTR_TYPE_LONG, CHECK_CPTR(ATTR, char, (name)), CHECK_VAL(ATTR, long, (val))
 
#define SEND_ATTR_DATA(name, len, val)   ATTR_TYPE_DATA, CHECK_CPTR(ATTR, char, (name)), CHECK_VAL(ATTR, ssize_t, (len)), CHECK_CPTR(ATTR, void, (val))
 
#define SEND_ATTR_FUNC(func, val)   ATTR_TYPE_FUNC, CHECK_VAL(ATTR, ATTR_PRINT_SLAVE_FN, (func)), CHECK_CPTR(ATTR, void, (val))
 
#define RECV_ATTR_INT(name, val)   ATTR_TYPE_INT, CHECK_CPTR(ATTR, char, (name)), CHECK_PTR(ATTR, int, (val))
 
#define RECV_ATTR_STR(name, val)   ATTR_TYPE_STR, CHECK_CPTR(ATTR, char, (name)), CHECK_PTR(ATTR, VSTRING, (val))
 
#define RECV_ATTR_HASH(val)   ATTR_TYPE_HASH, CHECK_PTR(ATTR, HTABLE, (val))
 
#define RECV_ATTR_NV(val)   ATTR_TYPE_NV, CHECK_PTR(ATTR, NVTABLE, (val))
 
#define RECV_ATTR_LONG(name, val)   ATTR_TYPE_LONG, CHECK_CPTR(ATTR, char, (name)), CHECK_PTR(ATTR, long, (val))
 
#define RECV_ATTR_DATA(name, val)   ATTR_TYPE_DATA, CHECK_CPTR(ATTR, char, (name)), CHECK_PTR(ATTR, VSTRING, (val))
 
#define RECV_ATTR_FUNC(func, val)   ATTR_TYPE_FUNC, CHECK_VAL(ATTR, ATTR_SCAN_SLAVE_FN, (func)), CHECK_PTR(ATTR, void, (val))
 
#define ATTR_FLAG_NONE   0
 
#define ATTR_FLAG_MISSING   (1<<0) /* Flag missing attribute */
 
#define ATTR_FLAG_EXTRA   (1<<1) /* Flag spurious attribute */
 
#define ATTR_FLAG_MORE   (1<<2) /* Don't skip or terminate */
 
#define ATTR_FLAG_STRICT   (ATTR_FLAG_MISSING | ATTR_FLAG_EXTRA)
 
#define ATTR_FLAG_ALL   (07)
 
#define attr_print   attr_print0
 
#define attr_vprint   attr_vprint0
 
#define attr_scan   attr_scan0
 
#define attr_vscan   attr_vscan0
 
#define attr_scan_more   attr_scan_more0
 

型定義

typedef int(* ATTR_SCAN_MASTER_FN) (VSTREAM *, int,...)
 
typedef int(* ATTR_SCAN_SLAVE_FN) (ATTR_SCAN_MASTER_FN, VSTREAM *, int, void *)
 
typedef int(* ATTR_PRINT_MASTER_FN) (VSTREAM *, int,...)
 
typedef int(* ATTR_PRINT_SLAVE_FN) (ATTR_PRINT_MASTER_FN, VSTREAM *, int, void *)
 

関数

 CHECK_VAL_HELPER_DCL (ATTR, ssize_t)
 
 CHECK_VAL_HELPER_DCL (ATTR, long)
 
 CHECK_VAL_HELPER_DCL (ATTR, int)
 
 CHECK_PTR_HELPER_DCL (ATTR, void)
 
 CHECK_PTR_HELPER_DCL (ATTR, long)
 
 CHECK_PTR_HELPER_DCL (ATTR, int)
 
 CHECK_PTR_HELPER_DCL (ATTR, VSTRING)
 
 CHECK_PTR_HELPER_DCL (ATTR, NVTABLE)
 
 CHECK_CPTR_HELPER_DCL (ATTR, void)
 
 CHECK_CPTR_HELPER_DCL (ATTR, char)
 
 CHECK_CPTR_HELPER_DCL (ATTR, NVTABLE)
 
 CHECK_VAL_HELPER_DCL (ATTR, ATTR_PRINT_SLAVE_FN)
 
 CHECK_VAL_HELPER_DCL (ATTR, ATTR_SCAN_SLAVE_FN)
 
int attr_print64 (VSTREAM *, int,...)
 
int attr_vprint64 (VSTREAM *, int, va_list)
 
int WARN_UNUSED_RESULT attr_scan64 (VSTREAM *, int,...)
 
int WARN_UNUSED_RESULT attr_vscan64 (VSTREAM *, int, va_list)
 
int WARN_UNUSED_RESULT attr_scan_more64 (VSTREAM *)
 
int attr_print0 (VSTREAM *, int,...)
 
int attr_vprint0 (VSTREAM *, int, va_list)
 
int WARN_UNUSED_RESULT attr_scan0 (VSTREAM *, int,...)
 
int WARN_UNUSED_RESULT attr_vscan0 (VSTREAM *, int, va_list)
 
int WARN_UNUSED_RESULT attr_scan_more0 (VSTREAM *)
 
int attr_print_plain (VSTREAM *, int,...)
 
int attr_vprint_plain (VSTREAM *, int, va_list)
 
int attr_scan_more_plain (VSTREAM *)
 
int WARN_UNUSED_RESULT attr_scan_plain (VSTREAM *, int,...)
 
int WARN_UNUSED_RESULT attr_vscan_plain (VSTREAM *, int, va_list)
 

マクロ定義詳解

#define ATTR_FLAG_ALL   (07)

attr.h の 104 行目に定義があります。

#define ATTR_FLAG_EXTRA   (1<<1) /* Flag spurious attribute */

attr.h の 100 行目に定義があります。

#define ATTR_FLAG_MISSING   (1<<0) /* Flag missing attribute */

attr.h の 99 行目に定義があります。

#define ATTR_FLAG_MORE   (1<<2) /* Don't skip or terminate */

attr.h の 101 行目に定義があります。

#define ATTR_FLAG_NONE   0

attr.h の 98 行目に定義があります。

#define ATTR_FLAG_STRICT   (ATTR_FLAG_MISSING | ATTR_FLAG_EXTRA)

attr.h の 103 行目に定義があります。

#define ATTR_HASH_LIMIT   1024 /* Size of hash table */

attr.h の 57 行目に定義があります。

#define ATTR_NAME_CLOSE   "}"

attr.h の 55 行目に定義があります。

#define ATTR_NAME_OPEN   "{"

attr.h の 54 行目に定義があります。

#define attr_print   attr_print0

attr.h の 109 行目に定義があります。

#define attr_scan   attr_scan0

attr.h の 111 行目に定義があります。

#define attr_scan_more   attr_scan_more0

attr.h の 113 行目に定義があります。

#define ATTR_TYPE_CLOSE   '}'

attr.h の 53 行目に定義があります。

#define ATTR_TYPE_DATA   5 /* Binary data */

attr.h の 46 行目に定義があります。

#define ATTR_TYPE_END   0 /* end of data */

attr.h の 39 行目に定義があります。

#define ATTR_TYPE_FUNC   6 /* Function pointer */

attr.h の 47 行目に定義があります。

#define ATTR_TYPE_HASH   3 /* Hash table */

attr.h の 43 行目に定義があります。

#define ATTR_TYPE_INT   1 /* Unsigned integer */

attr.h の 40 行目に定義があります。

#define ATTR_TYPE_LONG   4 /* Unsigned long */

attr.h の 45 行目に定義があります。

#define ATTR_TYPE_NUM   ATTR_TYPE_INT

attr.h の 41 行目に定義があります。

#define ATTR_TYPE_NV   3 /* Name-value table */

attr.h の 44 行目に定義があります。

#define ATTR_TYPE_OPEN   '{'

attr.h の 52 行目に定義があります。

#define ATTR_TYPE_STR   2 /* Character string */

attr.h の 42 行目に定義があります。

#define attr_vprint   attr_vprint0

attr.h の 110 行目に定義があります。

#define attr_vscan   attr_vscan0

attr.h の 112 行目に定義があります。

#define RECV_ATTR_DATA (   name,
  val 
)    ATTR_TYPE_DATA, CHECK_CPTR(ATTR, char, (name)), CHECK_PTR(ATTR, VSTRING, (val))

attr.h の 76 行目に定義があります。

#define RECV_ATTR_FUNC (   func,
  val 
)    ATTR_TYPE_FUNC, CHECK_VAL(ATTR, ATTR_SCAN_SLAVE_FN, (func)), CHECK_PTR(ATTR, void, (val))

attr.h の 77 行目に定義があります。

#define RECV_ATTR_HASH (   val)    ATTR_TYPE_HASH, CHECK_PTR(ATTR, HTABLE, (val))

attr.h の 73 行目に定義があります。

#define RECV_ATTR_INT (   name,
  val 
)    ATTR_TYPE_INT, CHECK_CPTR(ATTR, char, (name)), CHECK_PTR(ATTR, int, (val))

attr.h の 71 行目に定義があります。

#define RECV_ATTR_LONG (   name,
  val 
)    ATTR_TYPE_LONG, CHECK_CPTR(ATTR, char, (name)), CHECK_PTR(ATTR, long, (val))

attr.h の 75 行目に定義があります。

#define RECV_ATTR_NV (   val)    ATTR_TYPE_NV, CHECK_PTR(ATTR, NVTABLE, (val))

attr.h の 74 行目に定義があります。

#define RECV_ATTR_STR (   name,
  val 
)    ATTR_TYPE_STR, CHECK_CPTR(ATTR, char, (name)), CHECK_PTR(ATTR, VSTRING, (val))

attr.h の 72 行目に定義があります。

#define SEND_ATTR_DATA (   name,
  len,
  val 
)    ATTR_TYPE_DATA, CHECK_CPTR(ATTR, char, (name)), CHECK_VAL(ATTR, ssize_t, (len)), CHECK_CPTR(ATTR, void, (val))

attr.h の 68 行目に定義があります。

#define SEND_ATTR_FUNC (   func,
  val 
)    ATTR_TYPE_FUNC, CHECK_VAL(ATTR, ATTR_PRINT_SLAVE_FN, (func)), CHECK_CPTR(ATTR, void, (val))

attr.h の 69 行目に定義があります。

#define SEND_ATTR_HASH (   val)    ATTR_TYPE_HASH, CHECK_CPTR(ATTR, HTABLE, (val))

attr.h の 65 行目に定義があります。

#define SEND_ATTR_INT (   name,
  val 
)    ATTR_TYPE_INT, CHECK_CPTR(ATTR, char, (name)), CHECK_VAL(ATTR, int, (val))

attr.h の 63 行目に定義があります。

#define SEND_ATTR_LONG (   name,
  val 
)    ATTR_TYPE_LONG, CHECK_CPTR(ATTR, char, (name)), CHECK_VAL(ATTR, long, (val))

attr.h の 67 行目に定義があります。

#define SEND_ATTR_NV (   val)    ATTR_TYPE_NV, CHECK_CPTR(ATTR, NVTABLE, (val))

attr.h の 66 行目に定義があります。

#define SEND_ATTR_STR (   name,
  val 
)    ATTR_TYPE_STR, CHECK_CPTR(ATTR, char, (name)), CHECK_CPTR(ATTR, char, (val))

attr.h の 64 行目に定義があります。

型定義詳解

typedef int(* ATTR_PRINT_MASTER_FN) (VSTREAM *, int,...)

attr.h の 33 行目に定義があります。

typedef int(* ATTR_PRINT_SLAVE_FN) (ATTR_PRINT_MASTER_FN, VSTREAM *, int, void *)

attr.h の 34 行目に定義があります。

typedef int(* ATTR_SCAN_MASTER_FN) (VSTREAM *, int,...)

attr.h の 31 行目に定義があります。

typedef int(* ATTR_SCAN_SLAVE_FN) (ATTR_SCAN_MASTER_FN, VSTREAM *, int, void *)

attr.h の 32 行目に定義があります。

関数詳解

int attr_print0 ( VSTREAM *  ,
int  ,
  ... 
)

attr_print0.c の 203 行目に定義があります。

int attr_print64 ( VSTREAM *  ,
int  ,
  ... 
)

attr_print64.c の 244 行目に定義があります。

int attr_print_plain ( VSTREAM *  ,
int  ,
  ... 
)

attr_print_plain.c の 199 行目に定義があります。

int WARN_UNUSED_RESULT attr_scan0 ( VSTREAM *  ,
int  ,
  ... 
)

attr_scan0.c の 455 行目に定義があります。

int WARN_UNUSED_RESULT attr_scan64 ( VSTREAM *  ,
int  ,
  ... 
)

attr_scan64.c の 514 行目に定義があります。

int WARN_UNUSED_RESULT attr_scan_more0 ( VSTREAM *  )

attr_scan0.c の 468 行目に定義があります。

int WARN_UNUSED_RESULT attr_scan_more64 ( VSTREAM *  )

attr_scan64.c の 527 行目に定義があります。

int attr_scan_more_plain ( VSTREAM *  )

attr_scan_plain.c の 510 行目に定義があります。

int WARN_UNUSED_RESULT attr_scan_plain ( VSTREAM *  ,
int  ,
  ... 
)

attr_scan_plain.c の 497 行目に定義があります。

int attr_vprint0 ( VSTREAM *  ,
int  ,
va_list   
)

attr_print0.c の 110 行目に定義があります。

int attr_vprint64 ( VSTREAM *  ,
int  ,
va_list   
)

attr_print64.c の 145 行目に定義があります。

int attr_vprint_plain ( VSTREAM *  ,
int  ,
va_list   
)

attr_print_plain.c の 111 行目に定義があります。

int WARN_UNUSED_RESULT attr_vscan0 ( VSTREAM *  ,
int  ,
va_list   
)

attr_scan0.c の 266 行目に定義があります。

int WARN_UNUSED_RESULT attr_vscan64 ( VSTREAM *  ,
int  ,
va_list   
)

attr_scan64.c の 269 行目に定義があります。

int WARN_UNUSED_RESULT attr_vscan_plain ( VSTREAM *  ,
int  ,
va_list   
)

attr_scan_plain.c の 282 行目に定義があります。

CHECK_CPTR_HELPER_DCL ( ATTR  ,
void   
)
CHECK_CPTR_HELPER_DCL ( ATTR  ,
char   
)
CHECK_CPTR_HELPER_DCL ( ATTR  ,
NVTABLE   
)
CHECK_PTR_HELPER_DCL ( ATTR  ,
void   
)
CHECK_PTR_HELPER_DCL ( ATTR  ,
long   
)
CHECK_PTR_HELPER_DCL ( ATTR  ,
int   
)
CHECK_PTR_HELPER_DCL ( ATTR  ,
VSTRING   
)
CHECK_PTR_HELPER_DCL ( ATTR  ,
NVTABLE   
)
CHECK_VAL_HELPER_DCL ( ATTR  ,
ssize_t   
)
CHECK_VAL_HELPER_DCL ( ATTR  ,
long   
)
CHECK_VAL_HELPER_DCL ( ATTR  ,
int   
)
CHECK_VAL_HELPER_DCL ( ATTR  ,
ATTR_PRINT_SLAVE_FN   
)
CHECK_VAL_HELPER_DCL ( ATTR  ,
ATTR_SCAN_SLAVE_FN   
)