acl
3.5.3.0
|
宏定义 | |
#define | ACL_CLOSE_ON_EXEC 1 |
#define | ACL_PASS_ON_EXEC 0 |
#define | ACL_BLOCKING 0 |
#define | ACL_NON_BLOCKING 1 |
#define | ACL_HAS_POLL |
类型定义 | |
typedef int(* | acl_select_fn) (int, fd_set *, fd_set *, fd_set *, struct timeval *) |
typedef int(* | acl_poll_fn) (struct pollfd *, nfds_t, int) |
函数 | |
ACL_API int | acl_non_blocking (ACL_SOCKET fd, int on) |
ACL_API int | acl_is_blocking (ACL_SOCKET fd) |
ACL_API int | acl_write_wait (ACL_SOCKET fd, int timeout) |
ACL_API int | acl_write_wait_ms (ACL_SOCKET fd, int timeout) |
ACL_API int | acl_read_wait (ACL_SOCKET fd, int timeout) |
ACL_API int | acl_read_wait_ms (ACL_SOCKET fd, int timeout) |
ACL_API int | acl_read_select_wait (ACL_SOCKET fd, int delay) |
ACL_API void | acl_doze (unsigned delay) |
ACL_API int | acl_readable (ACL_SOCKET fd) |
ACL_API int | acl_timed_read (ACL_SOCKET fd, void *buf, unsigned len, int timeout, void *unused_context) |
ACL_API int | acl_timed_write (ACL_SOCKET fd, void *buf, unsigned len, int timeout, void *unused_context) |
ACL_API int | acl_write_buf (ACL_SOCKET fd, const char *buf, int len, int timeout) |
ACL_API int | acl_peekfd (ACL_SOCKET fd) |
ACL_API int | acl_pipe (ACL_FILE_HANDLE fds[2]) |
ACL_API int | acl_pipe_close (ACL_FILE_HANDLE fds[2]) |
ACL_API int | acl_duplex_pipe (ACL_FILE_HANDLE fds[2]) |
ACL_API void | acl_set_delay_slice (int n) |
ACL_API void | acl_set_poll (acl_poll_fn fn) |
ACL_API void | acl_set_select (acl_select_fn fn) |
#define ACL_BLOCKING 0 |
阻塞读写标志位
在文件 acl_iostuff.h 第 14 行定义.
#define ACL_CLOSE_ON_EXEC 1 |
标志位, 调用 exec 后自动关闭打开的描述字
在文件 acl_iostuff.h 第 11 行定义.
#define ACL_HAS_POLL |
在文件 acl_iostuff.h 第 228 行定义.
#define ACL_NON_BLOCKING 1 |
非阻塞读写标志位
在文件 acl_iostuff.h 第 15 行定义.
#define ACL_PASS_ON_EXEC 0 |
在文件 acl_iostuff.h 第 12 行定义.
typedef int(* acl_poll_fn) (struct pollfd *, nfds_t, int) |
在文件 acl_iostuff.h 第 231 行定义.
typedef int(* acl_select_fn) (int, fd_set *, fd_set *, fd_set *, struct timeval *) |
在文件 acl_iostuff.h 第 230 行定义.
ACL_API void acl_doze | ( | unsigned | delay | ) |
毫秒级别睡眠
delay | {unsigned} 毫秒值 |
ACL_API int acl_duplex_pipe | ( | ACL_FILE_HANDLE | fds[2] | ) |
产生一个管道对
fds | {ACL_FILE_HANDLE[2]} 存储产生的管道对地址,不能为空 |
ACL_API int acl_is_blocking | ( | ACL_SOCKET | fd | ) |
判断所给套按口是否为阻塞模式
fd | {ACL_SOCKET} SOCKET 套接字 |
ACL_API int acl_non_blocking | ( | ACL_SOCKET | fd, |
int | on | ||
) |
设置套接口为阻塞或非阻塞
fd | {ACL_SOCKET} SOCKET 套接字 |
on | {int} 是否设置该套接字为非阻塞, ACL_BLOCKING 或 ACL_NON_BLOCKING |
ACL_API int acl_peekfd | ( | ACL_SOCKET | fd | ) |
探测套接字中系统缓存区的数据长度
fd | {ACL_SOCKET} 描述符 |
ACL_API int acl_pipe | ( | ACL_FILE_HANDLE | fds[2] | ) |
创建管道
fds | {ACL_FILE_HANDLE [2]} 存储结果 |
ACL_API int acl_pipe_close | ( | ACL_FILE_HANDLE | fds[2] | ) |
关闭管道对
fds | {ACL_FILE_HANDLE[2]} 管道对 |
ACL_API int acl_read_select_wait | ( | ACL_SOCKET | fd, |
int | delay | ||
) |
采用 select 方式的读等待
fd | {ACL_SOCKET} 描述符 |
delay | {int} 毫秒级等待时间 |
ACL_API int acl_read_wait | ( | ACL_SOCKET | fd, |
int | timeout | ||
) |
读等待操作,直到套接字有数据可读、出错或超时
fd | {ACL_SOCKET} 描述符 |
timeout | {int} 超时时间,单位为秒,该值分下面三种情形: == 0 : 表示不等待,检测完后立即返回 < 0 : 时表示直接该套接字可读或出错为止 |
ACL_API int acl_read_wait_ms | ( | ACL_SOCKET | fd, |
int | timeout | ||
) |
读等待操作,直到套接字有数据可读、出错或超时
fd | {ACL_SOCKET} 描述符 |
timeout | {int} 超时时间,单位为毫秒,该值分下面三种情形: == 0 : 表示不等待,检测完后立即返回 < 0 : 时表示直接该套接字可读或出错为止 |
ACL_API int acl_readable | ( | ACL_SOCKET | fd | ) |
某个描述符是否可读
fd | {ACL_SOCKET} 描述符 |
ACL_API void acl_set_delay_slice | ( | int | n | ) |
ACL_API void acl_set_poll | ( | acl_poll_fn | fn | ) |
ACL_API void acl_set_select | ( | acl_select_fn | fn | ) |
ACL_API int acl_timed_read | ( | ACL_SOCKET | fd, |
void * | buf, | ||
unsigned | len, | ||
int | timeout, | ||
void * | unused_context | ||
) |
超时读数据
fd | {ACL_SOCKET} 网络套接字 |
buf | {void*} 存储区,不能为空 |
len | {unsigned} buf 存储区大小 |
timeout | {int} 超时时间,单位为秒,该值分下面三种情形: == 0 : 表示不等待,检测完后立即返回 < 0 : 时表示直接该套接字可读或出错为止 |
ACL_API int acl_timed_write | ( | ACL_SOCKET | fd, |
void * | buf, | ||
unsigned | len, | ||
int | timeout, | ||
void * | unused_context | ||
) |
超时写数据
fd | {ACL_SOCKET} 网络套接字 |
buf | {void*} 数据存储区,不能为空 |
len | {unsigned} 数据长度大小 |
timeout | {int} 超时时间,单位为秒,该值分下面三种情形: == 0 : 表示不等待,检测完后立即返回 < 0 : 时表示直接该套接字可读或出错为止 |
ACL_API int acl_write_buf | ( | ACL_SOCKET | fd, |
const char * | buf, | ||
int | len, | ||
int | timeout | ||
) |
向描述符中循环写入数据,直到写完、出错或超时为止
fd | {ACL_SOCKET} 网络套接字 |
buf | {void*} 数据存储区,不能为空 |
len | {unsigned} 数据长度大小 |
timeout | {int} 超时时间,单位为秒 |
ACL_API int acl_write_wait | ( | ACL_SOCKET | fd, |
int | timeout | ||
) |
写等待操作,直到套接字可写、出错或超时
fd | {ACL_SOCKET} 描述符 |
timeout | {int} 超时时间,单位为秒,该值分下面三种情形: == 0 : 表示不等待,检测完后立即返回 < 0 : 时表示直接该套接字可读或出错为止 |
ACL_API int acl_write_wait_ms | ( | ACL_SOCKET | fd, |
int | timeout | ||
) |
写等待操作,直到套接字可写、出错或超时
fd | {ACL_SOCKET} 描述符 |
timeout | {int} 超时时间,单位为毫秒,该值分下面三种情形: == 0 : 表示不等待,检测完后立即返回 < 0 : 时表示直接该套接字可读或出错为止 |