2019-07-01 22:58:19 -07:00
|
|
|
#pragma once
|
|
|
|
|
2019-12-13 00:37:06 -05:00
|
|
|
#include <dirent.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <poll.h>
|
|
|
|
#include <fcntl.h>
|
|
|
|
|
2022-08-19 02:21:52 -07:00
|
|
|
#include <base-rs.hpp>
|
|
|
|
|
|
|
|
using rust::xpipe2;
|
|
|
|
|
2022-08-08 22:53:37 -07:00
|
|
|
extern "C" {
|
|
|
|
|
2019-07-01 22:58:19 -07:00
|
|
|
FILE *xfopen(const char *pathname, const char *mode);
|
|
|
|
FILE *xfdopen(int fd, const char *mode);
|
2022-08-08 22:53:37 -07:00
|
|
|
int xopen(const char *pathname, int flags, mode_t mode = 0);
|
|
|
|
int xopenat(int dirfd, const char *pathname, int flags, mode_t mode = 0);
|
2019-07-01 22:58:19 -07:00
|
|
|
ssize_t xwrite(int fd, const void *buf, size_t count);
|
|
|
|
ssize_t xread(int fd, void *buf, size_t count);
|
|
|
|
ssize_t xxread(int fd, void *buf, size_t count);
|
2022-08-19 02:21:52 -07:00
|
|
|
off64_t xlseek64(int fd, off64_t offset, int whence);
|
2019-07-01 22:58:19 -07:00
|
|
|
int xsetns(int fd, int nstype);
|
|
|
|
int xunshare(int flags);
|
|
|
|
DIR *xopendir(const char *name);
|
|
|
|
DIR *xfdopendir(int fd);
|
2022-08-19 02:21:52 -07:00
|
|
|
dirent *xreaddir(DIR *dirp);
|
2019-07-01 22:58:19 -07:00
|
|
|
pid_t xsetsid();
|
|
|
|
int xsocket(int domain, int type, int protocol);
|
|
|
|
int xbind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
|
|
|
|
int xlisten(int sockfd, int backlog);
|
|
|
|
int xaccept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags);
|
|
|
|
ssize_t xsendmsg(int sockfd, const struct msghdr *msg, int flags);
|
|
|
|
ssize_t xrecvmsg(int sockfd, struct msghdr *msg, int flags);
|
2021-03-13 22:13:39 +08:00
|
|
|
int xaccess(const char *path, int mode);
|
2022-08-19 02:21:52 -07:00
|
|
|
int xfaccessat(int dirfd, const char *pathname, int mode, int flags);
|
2019-07-01 22:58:19 -07:00
|
|
|
int xstat(const char *pathname, struct stat *buf);
|
|
|
|
int xlstat(const char *pathname, struct stat *buf);
|
|
|
|
int xfstat(int fd, struct stat *buf);
|
2022-02-07 02:46:47 -08:00
|
|
|
int xfstatat(int dirfd, const char *pathname, struct stat *buf, int flags);
|
2020-04-01 23:37:11 -07:00
|
|
|
int xdup(int fd);
|
2019-07-01 22:58:19 -07:00
|
|
|
int xdup2(int oldfd, int newfd);
|
|
|
|
int xdup3(int oldfd, int newfd, int flags);
|
|
|
|
ssize_t xreadlink(const char *pathname, char *buf, size_t bufsiz);
|
|
|
|
ssize_t xreadlinkat(int dirfd, const char *pathname, char *buf, size_t bufsiz);
|
|
|
|
int xsymlink(const char *target, const char *linkpath);
|
|
|
|
int xsymlinkat(const char *target, int newdirfd, const char *linkpath);
|
|
|
|
int xlinkat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath, int flags);
|
|
|
|
int xmount(const char *source, const char *target,
|
2020-12-30 22:11:24 -08:00
|
|
|
const char *filesystemtype, unsigned long mountflags,
|
|
|
|
const void *data);
|
2019-07-01 22:58:19 -07:00
|
|
|
int xumount(const char *target);
|
|
|
|
int xumount2(const char *target, int flags);
|
|
|
|
int xrename(const char *oldpath, const char *newpath);
|
|
|
|
int xmkdir(const char *pathname, mode_t mode);
|
|
|
|
int xmkdirs(const char *pathname, mode_t mode);
|
|
|
|
int xmkdirat(int dirfd, const char *pathname, mode_t mode);
|
|
|
|
void *xmmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
|
|
|
|
ssize_t xsendfile(int out_fd, int in_fd, off_t *offset, size_t count);
|
|
|
|
pid_t xfork();
|
2022-09-15 01:17:05 -07:00
|
|
|
int xpoll(pollfd *fds, nfds_t nfds, int timeout);
|
|
|
|
ssize_t xcanonical_path(const char *path, char *buf, size_t bufsiz);
|
2020-05-19 04:53:16 -07:00
|
|
|
int xmknod(const char *pathname, mode_t mode, dev_t dev);
|
2022-08-08 22:53:37 -07:00
|
|
|
|
|
|
|
} // extern "C"
|