acl  3.5.3.0
acl_vbuf.h 文件参考
#include "acl_define.h"
+ acl_vbuf.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  ACL_VBUF
 

宏定义

#define ACL_VBUF_TO_APPL(vbuf_ptr, app_type, vbuf_member)   ((app_type *) (((char *) (vbuf_ptr)) - offsetof(app_type,vbuf_member)))
 
#define ACL_VBUF_FLAG_ERR   (1<<0) /* some I/O error */
 
#define ACL_VBUF_FLAG_EOF   (1<<1) /* end of data */
 
#define ACL_VBUF_FLAG_TIMEOUT   (1<<2) /* timeout error */
 
#define ACL_VBUF_FLAG_BAD   (ACL_VBUF_FLAG_ERR | ACL_VBUF_FLAG_EOF | ACL_VBUF_FLAG_TIMEOUT)
 
#define ACL_VBUF_FLAG_FIXED   (1<<3) /* fixed-size buffer */
 
#define acl_vbuf_error(v)   ((v)->flags & ACL_VBUF_FLAG_BAD)
 
#define acl_vbuf_eof(v)   ((v)->flags & ACL_VBUF_FLAG_EOF)
 
#define acl_vbuf_timeout(v)   ((v)->flags & ACL_VBUF_FLAG_TIMEOUT)
 
#define acl_vbuf_clearerr(v)   ((v)->flags &= ~ACL_VBUF_FLAG_BAD)
 
#define ACL_VBUF_GET(v)
 
#define ACL_VBUF_PUT(v, c)
 
#define ACL_VBUF_SPACE(v, n)   ((v)->space((v),(n)))
 
#define ACL_VBUF_CHARAT(v, offset)   ((int) (v).data[offset])
 
#define ACL_VBUF_EOF   (-1) /* no more space or data */
 

类型定义

typedef struct ACL_VBUF ACL_VBUF
 
typedef int(* ACL_VBUF_GET_READY_FN) (ACL_VBUF *)
 
typedef int(* ACL_VBUF_PUT_READY_FN) (ACL_VBUF *)
 
typedef int(* ACL_VBUF_SPACE_FN) (ACL_VBUF *, ssize_t)
 

函数

ACL_API int acl_vbuf_get (ACL_VBUF *)
 
ACL_API int acl_vbuf_put (ACL_VBUF *, int)
 
ACL_API int acl_vbuf_unget (ACL_VBUF *, int)
 
ACL_API int acl_vbuf_read (ACL_VBUF *, char *, int)
 
ACL_API int acl_vbuf_write (ACL_VBUF *, const char *, int)
 

宏定义说明

◆ ACL_VBUF_CHARAT

#define ACL_VBUF_CHARAT (   v,
  offset 
)    ((int) (v).data[offset])

在文件 acl_vbuf.h68 行定义.

◆ acl_vbuf_clearerr

#define acl_vbuf_clearerr (   v)    ((v)->flags &= ~ACL_VBUF_FLAG_BAD)

在文件 acl_vbuf.h55 行定义.

◆ acl_vbuf_eof

#define acl_vbuf_eof (   v)    ((v)->flags & ACL_VBUF_FLAG_EOF)

在文件 acl_vbuf.h53 行定义.

◆ ACL_VBUF_EOF

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

在文件 acl_vbuf.h70 行定义.

◆ acl_vbuf_error

#define acl_vbuf_error (   v)    ((v)->flags & ACL_VBUF_FLAG_BAD)

在文件 acl_vbuf.h52 行定义.

◆ ACL_VBUF_FLAG_BAD

#define ACL_VBUF_FLAG_BAD   (ACL_VBUF_FLAG_ERR | ACL_VBUF_FLAG_EOF | ACL_VBUF_FLAG_TIMEOUT)

在文件 acl_vbuf.h48 行定义.

◆ ACL_VBUF_FLAG_EOF

#define ACL_VBUF_FLAG_EOF   (1<<1) /* end of data */

在文件 acl_vbuf.h46 行定义.

◆ ACL_VBUF_FLAG_ERR

#define ACL_VBUF_FLAG_ERR   (1<<0) /* some I/O error */

在文件 acl_vbuf.h45 行定义.

◆ ACL_VBUF_FLAG_FIXED

#define ACL_VBUF_FLAG_FIXED   (1<<3) /* fixed-size buffer */

在文件 acl_vbuf.h50 行定义.

◆ ACL_VBUF_FLAG_TIMEOUT

#define ACL_VBUF_FLAG_TIMEOUT   (1<<2) /* timeout error */

在文件 acl_vbuf.h47 行定义.

◆ ACL_VBUF_GET

#define ACL_VBUF_GET (   v)
值:
((v)->cnt < 0 ? ++(v)->cnt, \
(int) *(v)->ptr++ : acl_vbuf_get(v))
ACL_API int acl_vbuf_get(ACL_VBUF *)

在文件 acl_vbuf.h60 行定义.

◆ ACL_VBUF_PUT

#define ACL_VBUF_PUT (   v,
 
)
值:
((v)->cnt > 0 ? --(v)->cnt, \
(int) (*(v)->ptr++ = (c)) : acl_vbuf_put((v),(c)))
ACL_API int acl_vbuf_put(ACL_VBUF *, int)

在文件 acl_vbuf.h63 行定义.

◆ ACL_VBUF_SPACE

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

在文件 acl_vbuf.h66 行定义.

◆ acl_vbuf_timeout

#define acl_vbuf_timeout (   v)    ((v)->flags & ACL_VBUF_FLAG_TIMEOUT)

在文件 acl_vbuf.h54 行定义.

◆ ACL_VBUF_TO_APPL

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

在文件 acl_vbuf.h39 行定义.

类型定义说明

◆ ACL_VBUF

typedef struct ACL_VBUF ACL_VBUF

在文件 acl_vbuf.h10 行定义.

◆ ACL_VBUF_GET_READY_FN

typedef int(* ACL_VBUF_GET_READY_FN) (ACL_VBUF *)

在文件 acl_vbuf.h11 行定义.

◆ ACL_VBUF_PUT_READY_FN

typedef int(* ACL_VBUF_PUT_READY_FN) (ACL_VBUF *)

在文件 acl_vbuf.h12 行定义.

◆ ACL_VBUF_SPACE_FN

typedef int(* ACL_VBUF_SPACE_FN) (ACL_VBUF *, ssize_t)

在文件 acl_vbuf.h13 行定义.

函数说明

◆ acl_vbuf_get()

ACL_API int acl_vbuf_get ( ACL_VBUF )

◆ acl_vbuf_put()

ACL_API int acl_vbuf_put ( ACL_VBUF ,
int   
)

◆ acl_vbuf_read()

ACL_API int acl_vbuf_read ( ACL_VBUF ,
char *  ,
int   
)

◆ acl_vbuf_unget()

ACL_API int acl_vbuf_unget ( ACL_VBUF ,
int   
)

◆ acl_vbuf_write()

ACL_API int acl_vbuf_write ( ACL_VBUF ,
const char *  ,
int   
)