Postfix3.3.1
データ構造 | マクロ定義 | 型定義 | 関数
vbuf.h ファイル

[ソースコード]

データ構造

struct  VBUF
 

マクロ定義

#define VBUF_TO_APPL(vbuf_ptr, app_type, vbuf_member)   ((app_type *) (((char *) (vbuf_ptr)) - offsetof(app_type,vbuf_member)))
 
#define VBUF_FLAG_RD_ERR   (1<<0) /* read error */
 
#define VBUF_FLAG_WR_ERR   (1<<1) /* write error */
 
#define VBUF_FLAG_ERR   (VBUF_FLAG_RD_ERR | VBUF_FLAG_WR_ERR)
 
#define VBUF_FLAG_EOF   (1<<2) /* end of data */
 
#define VBUF_FLAG_RD_TIMEOUT   (1<<3) /* read timeout */
 
#define VBUF_FLAG_WR_TIMEOUT   (1<<4) /* write timeout */
 
#define VBUF_FLAG_TIMEOUT   (VBUF_FLAG_RD_TIMEOUT | VBUF_FLAG_WR_TIMEOUT)
 
#define VBUF_FLAG_BAD   (VBUF_FLAG_ERR | VBUF_FLAG_EOF | VBUF_FLAG_TIMEOUT)
 
#define VBUF_FLAG_FIXED   (1<<5) /* fixed-size buffer */
 
#define vbuf_rd_error(v)   ((v)->flags & (VBUF_FLAG_RD_ERR | VBUF_FLAG_RD_TIMEOUT))
 
#define vbuf_wr_error(v)   ((v)->flags & (VBUF_FLAG_WR_ERR | VBUF_FLAG_WR_TIMEOUT))
 
#define vbuf_rd_timeout(v)   ((v)->flags & VBUF_FLAG_RD_TIMEOUT)
 
#define vbuf_wr_timeout(v)   ((v)->flags & VBUF_FLAG_WR_TIMEOUT)
 
#define vbuf_error(v)   ((v)->flags & (VBUF_FLAG_ERR | VBUF_FLAG_TIMEOUT))
 
#define vbuf_eof(v)   ((v)->flags & VBUF_FLAG_EOF)
 
#define vbuf_timeout(v)   ((v)->flags & VBUF_FLAG_TIMEOUT)
 
#define vbuf_clearerr(v)   ((v)->flags &= ~VBUF_FLAG_BAD)
 
#define VBUF_GET(v)
 
#define VBUF_PUT(v, c)
 
#define VBUF_SPACE(v, n)   ((v)->space((v),(n)))
 
#define VBUF_EOF   (-1) /* no more space or data */
 

型定義

typedef struct VBUF VBUF
 
typedef int(* VBUF_GET_READY_FN) (VBUF *)
 
typedef int(* VBUF_PUT_READY_FN) (VBUF *)
 
typedef int(* VBUF_SPACE_FN) (VBUF *, ssize_t)
 

関数

int vbuf_get (VBUF *)
 
int vbuf_put (VBUF *, int)
 
int vbuf_unget (VBUF *, int)
 
ssize_t vbuf_read (VBUF *, void *, ssize_t)
 
ssize_t vbuf_write (VBUF *, const void *, ssize_t)
 

マクロ定義詳解

#define vbuf_clearerr (   v)    ((v)->flags &= ~VBUF_FLAG_BAD)

vbuf.h の 80 行目に定義があります。

#define vbuf_eof (   v)    ((v)->flags & VBUF_FLAG_EOF)

vbuf.h の 78 行目に定義があります。

#define VBUF_EOF   (-1) /* no more space or data */

vbuf.h の 91 行目に定義があります。

#define vbuf_error (   v)    ((v)->flags & (VBUF_FLAG_ERR | VBUF_FLAG_TIMEOUT))

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

#define VBUF_FLAG_BAD   (VBUF_FLAG_ERR | VBUF_FLAG_EOF | VBUF_FLAG_TIMEOUT)

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

#define VBUF_FLAG_EOF   (1<<2) /* end of data */

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

#define VBUF_FLAG_ERR   (VBUF_FLAG_RD_ERR | VBUF_FLAG_WR_ERR)

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

#define VBUF_FLAG_FIXED   (1<<5) /* fixed-size buffer */

vbuf.h の 70 行目に定義があります。

#define VBUF_FLAG_RD_ERR   (1<<0) /* read error */

vbuf.h の 62 行目に定義があります。

#define VBUF_FLAG_RD_TIMEOUT   (1<<3) /* read timeout */

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

#define VBUF_FLAG_TIMEOUT   (VBUF_FLAG_RD_TIMEOUT | VBUF_FLAG_WR_TIMEOUT)

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

#define VBUF_FLAG_WR_ERR   (1<<1) /* write error */

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

#define VBUF_FLAG_WR_TIMEOUT   (1<<4) /* write timeout */

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

#define VBUF_GET (   v)
値:
((v)->cnt < 0 ? ++(v)->cnt, \
(int) *(v)->ptr++ : vbuf_get(v))
int int
Definition: smtpd_proxy.h:21
int vbuf_get(VBUF *)
Definition: vbuf.c:170

vbuf.h の 85 行目に定義があります。

#define VBUF_PUT (   v,
  c 
)
値:
((v)->cnt > 0 ? --(v)->cnt, \
(int) (*(v)->ptr++ = (c)) : vbuf_put((v),(c)))
int vbuf_put(VBUF *, int)
Definition: vbuf.c:177
int int
Definition: smtpd_proxy.h:21

vbuf.h の 87 行目に定義があります。

#define vbuf_rd_error (   v)    ((v)->flags & (VBUF_FLAG_RD_ERR | VBUF_FLAG_RD_TIMEOUT))

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

#define vbuf_rd_timeout (   v)    ((v)->flags & VBUF_FLAG_RD_TIMEOUT)

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

#define VBUF_SPACE (   v,
  n 
)    ((v)->space((v),(n)))

vbuf.h の 89 行目に定義があります。

#define vbuf_timeout (   v)    ((v)->flags & VBUF_FLAG_TIMEOUT)

vbuf.h の 79 行目に定義があります。

#define VBUF_TO_APPL (   vbuf_ptr,
  app_type,
  vbuf_member 
)    ((app_type *) (((char *) (vbuf_ptr)) - offsetof(app_type,vbuf_member)))

vbuf.h の 56 行目に定義があります。

#define vbuf_wr_error (   v)    ((v)->flags & (VBUF_FLAG_WR_ERR | VBUF_FLAG_WR_TIMEOUT))

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

#define vbuf_wr_timeout (   v)    ((v)->flags & VBUF_FLAG_WR_TIMEOUT)

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

型定義詳解

typedef struct VBUF VBUF

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

typedef int(* VBUF_GET_READY_FN) (VBUF *)

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

typedef int(* VBUF_PUT_READY_FN) (VBUF *)

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

typedef int(* VBUF_SPACE_FN) (VBUF *, ssize_t)

vbuf.h の 35 行目に定義があります。

関数詳解

int vbuf_get ( VBUF *  )

vbuf.c の 170 行目に定義があります。

int vbuf_put ( VBUF *  ,
int   
)

vbuf.c の 177 行目に定義があります。

ssize_t vbuf_read ( VBUF *  ,
void *  ,
ssize_t   
)

vbuf.c の 184 行目に定義があります。

int vbuf_unget ( VBUF *  ,
int   
)

vbuf.c の 156 行目に定義があります。

ssize_t vbuf_write ( VBUF *  ,
const void *  ,
ssize_t   
)

vbuf.c の 210 行目に定義があります。