1.readv()从fd读取count个segment到iov描述的缓冲区中
ssize_t readv (int fd, const struct iovec *iov,int count);
2.writev()从iov描述的缓冲区中读取count个segment的数据并写入fd中
ssize_t writev (int fd, const struct iovec *iov,int count);
3.iovec结构体:
struct iovec {
void *iov_base;
size_t iov_len;
};
4.创建一个新的epoll
int epoll_create (int size);
5.控制epoll
int epoll_ctl (int epfd, int op, int fd, struct epoll_event *event);
6.epoll_event结构体
struct epoll_event {
__u32 events; /* events */
union {
void *ptr;
int fd;
__u32 u32;
__u64 u64;
} data;
};
7.等待epoll事件
int epoll_wait (int epfd, struct epoll_event *events, int maxevents, int timeout);
8.mmap存储映射
void * mmap (void *addr, size_t len, int prot,int flags, int fd, off_t offset);
9.sysconf()获取页大小
long sysconf (int name);
10.getpagesize()获取页大小
int getpagesize (void);
11.munmap()取消mmap()映射
int munmap (void *addr, size_t len);
12.mremap()调整映射大小
void * mremap (void *addr, size_t old_size,size_t new_size, unsigned long flags);
13.mprotect()改变映射区域的权限
int mprotect (const void *addr, size_t len, int prot);
14.msync()映射同步
int msync (void *addr, size_t len, int flags);
15.posix_fadvise()普通文件I/O提示
int posix_fadvise (int fd, off_t offset, off_t len, int advice);
16.readahead()
ssize_t readahead (int fd, off64_t offset, size_t count);