123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- #ifndef __LINUX_TYPES_H__
- #define __LINUX_TYPES_H__
- #include <linux/socket.h>
- #include <linux/time.h>
- #define __timespec_defined
- #undef __USE_POSIX199309
- #include <asm/fcntl.h>
- #include <asm/posix_types.h>
- #include <asm/stat.h>
- #include <linux/poll.h>
- #include <linux/sched.h>
- #include <sigset.h>
- #include <stdint.h>
- #ifndef size_t
- typedef __kernel_size_t size_t;
- #endif
- struct linux_dirent64 {
- unsigned long d_ino;
- unsigned long d_off;
- unsigned short d_reclen;
- unsigned char d_type;
- char d_name[];
- };
- #define DT_UNKNOWN 0
- #define DT_FIFO 1
- #define DT_CHR 2
- #define DT_DIR 4
- #define DT_BLK 6
- #define DT_REG 8
- #define DT_LNK 10
- #define DT_SOCK 12
- #define DT_WHT 14
- typedef unsigned short int sa_family_t;
- struct sockaddr {
- sa_family_t sa_family;
- char sa_data[128 - sizeof(unsigned short)];
- };
- #ifndef AF_UNIX
- #define AF_UNIX 1
- #endif
- #ifndef AF_INET
- #define AF_INET 2
- #endif
- #ifndef AF_INET6
- #define AF_INET6 10
- #endif
- #ifndef SOCK_STREAM
- #define SOCK_STREAM 1
- #endif
- #ifndef SOCK_DGRAM
- #define SOCK_DGRAM 2
- #endif
- #ifndef SOCK_NONBLOCK
- #define SOCK_NONBLOCK 04000
- #endif
- #ifndef SOCK_CLOEXEC
- #define SOCK_CLOEXEC 02000000
- #endif
- #ifndef MSG_NOSIGNAL
- #define MSG_NOSIGNAL 0x4000
- #endif
- #ifndef SHUT_RD
- #define SHUT_RD 0
- #endif
- #ifndef SHUT_WR
- #define SHUT_WR 1
- #endif
- #ifndef SHUT_RDWR
- #define SHUT_RDWR 2
- #endif
- typedef unsigned int socklen_t;
- struct msghdr {
- void* msg_name;
- socklen_t msg_namelen;
- struct iovec* msg_iov;
- size_t msg_iovlen;
- void* msg_control;
- size_t msg_controllen;
- int msg_flags;
- };
- struct cmsghdr {
- size_t cmsg_len;
- int cmsg_level;
- int cmsg_type;
- };
- #ifndef SCM_RIGHTS
- #define SCM_RIGHTS 1
- #endif
- #define CMSG_DATA(cmsg) ((unsigned char*)((struct cmsghdr*)(cmsg) + 1))
- #define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr(mhdr, cmsg)
- #define CMSG_FIRSTHDR(mhdr) \
- ((size_t)(mhdr)->msg_controllen >= sizeof(struct cmsghdr) \
- ? (struct cmsghdr*)(mhdr)->msg_control \
- : (struct cmsghdr*)0)
- #define CMSG_ALIGN(len) ALIGN_UP(len, sizeof(size_t))
- #define CMSG_SPACE(len) (CMSG_ALIGN(len) + CMSG_ALIGN(sizeof(struct cmsghdr)))
- #define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len))
- #include <linux/uio.h>
- struct sockopt {
- int receivebuf, sendbuf;
- int receivetimeout, sendtimeout;
- int linger;
- int reuseaddr : 1;
- int tcp_cork : 1;
- int tcp_keepalive : 1;
- int tcp_nodelay : 1;
- };
- #endif
|