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.h104 行目に定義があります。

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

attr.h100 行目に定義があります。

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

attr.h99 行目に定義があります。

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

attr.h101 行目に定義があります。

#define ATTR_FLAG_NONE   0

attr.h98 行目に定義があります。

#define ATTR_FLAG_STRICT   (ATTR_FLAG_MISSING | ATTR_FLAG_EXTRA)

attr.h103 行目に定義があります。

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

attr.h57 行目に定義があります。

#define ATTR_NAME_CLOSE   "}"

attr.h55 行目に定義があります。

#define ATTR_NAME_OPEN   "{"

attr.h54 行目に定義があります。

#define attr_print   attr_print0

attr.h109 行目に定義があります。

#define attr_scan   attr_scan0

attr.h111 行目に定義があります。

#define attr_scan_more   attr_scan_more0

attr.h113 行目に定義があります。

#define ATTR_TYPE_CLOSE   '}'

attr.h53 行目に定義があります。

#define ATTR_TYPE_DATA   5 /* Binary data */

attr.h46 行目に定義があります。

#define ATTR_TYPE_END   0 /* end of data */

attr.h39 行目に定義があります。

#define ATTR_TYPE_FUNC   6 /* Function pointer */

attr.h47 行目に定義があります。

#define ATTR_TYPE_HASH   3 /* Hash table */

attr.h43 行目に定義があります。

#define ATTR_TYPE_INT   1 /* Unsigned integer */

attr.h40 行目に定義があります。

#define ATTR_TYPE_LONG   4 /* Unsigned long */

attr.h45 行目に定義があります。

#define ATTR_TYPE_NUM   ATTR_TYPE_INT

attr.h41 行目に定義があります。

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

attr.h44 行目に定義があります。

#define ATTR_TYPE_OPEN   '{'

attr.h52 行目に定義があります。

#define ATTR_TYPE_STR   2 /* Character string */

attr.h42 行目に定義があります。

#define attr_vprint   attr_vprint0

attr.h110 行目に定義があります。

#define attr_vscan   attr_vscan0

attr.h112 行目に定義があります。

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

attr.h76 行目に定義があります。

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

attr.h77 行目に定義があります。

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

attr.h73 行目に定義があります。

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

attr.h71 行目に定義があります。

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

attr.h75 行目に定義があります。

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

attr.h74 行目に定義があります。

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

attr.h72 行目に定義があります。

#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.h68 行目に定義があります。

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

attr.h69 行目に定義があります。

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

attr.h65 行目に定義があります。

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

attr.h63 行目に定義があります。

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

attr.h67 行目に定義があります。

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

attr.h66 行目に定義があります。

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

attr.h64 行目に定義があります。

型定義詳解

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

attr.h33 行目に定義があります。

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

attr.h34 行目に定義があります。

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

attr.h31 行目に定義があります。

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

attr.h32 行目に定義があります。

関数詳解

int attr_print0 ( VSTREAM ,
int  ,
  ... 
)

attr_print0.c203 行目に定義があります。

int attr_print64 ( VSTREAM ,
int  ,
  ... 
)

attr_print64.c244 行目に定義があります。

int attr_print_plain ( VSTREAM ,
int  ,
  ... 
)

attr_print_plain.c199 行目に定義があります。

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

attr_scan0.c455 行目に定義があります。

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

attr_scan64.c514 行目に定義があります。

int WARN_UNUSED_RESULT attr_scan_more0 ( VSTREAM )

attr_scan0.c468 行目に定義があります。

int WARN_UNUSED_RESULT attr_scan_more64 ( VSTREAM )

attr_scan64.c527 行目に定義があります。

int attr_scan_more_plain ( VSTREAM )

attr_scan_plain.c510 行目に定義があります。

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

attr_scan_plain.c497 行目に定義があります。

int attr_vprint0 ( VSTREAM ,
int  ,
va_list   
)

attr_print0.c110 行目に定義があります。

int attr_vprint64 ( VSTREAM ,
int  ,
va_list   
)

attr_print64.c145 行目に定義があります。

int attr_vprint_plain ( VSTREAM ,
int  ,
va_list   
)

attr_print_plain.c111 行目に定義があります。

int WARN_UNUSED_RESULT attr_vscan0 ( VSTREAM ,
int  ,
va_list   
)

attr_scan0.c266 行目に定義があります。

int WARN_UNUSED_RESULT attr_vscan64 ( VSTREAM ,
int  ,
va_list   
)

attr_scan64.c269 行目に定義があります。

int WARN_UNUSED_RESULT attr_vscan_plain ( VSTREAM ,
int  ,
va_list   
)

attr_scan_plain.c282 行目に定義があります。

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   
)