user: implement mlibc as the libc, finally.
It's finally done.. Signed-off-by: kaguya <vpshinomiya@protonmail.com>
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
#ifndef _ABIBITS_ACCESS_H
|
||||
#define _ABIBITS_ACCESS_H
|
||||
|
||||
#define F_OK 1
|
||||
#define R_OK 2
|
||||
#define W_OK 4
|
||||
#define X_OK 8
|
||||
|
||||
#endif /* _ABIBITS_ACCESS_H */
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef _ABIBITS_AUXV_H
|
||||
#define _ABIBITS_AUXV_H
|
||||
|
||||
#define AT_EXECPATH 15
|
||||
#define AT_SECURE 23
|
||||
#define AT_RANDOM 25
|
||||
#define AT_EXECFN 31
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef _ABIBITS_BLKCNT_T_H
|
||||
#define _ABIBITS_BLKCNT_T_H
|
||||
|
||||
/* TODO: use int64_t? */
|
||||
typedef long blkcnt_t;
|
||||
|
||||
#endif /* _ABIBITS_BLKCNT_T_H */
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
#ifndef _ABIBITS_BLKSIZE_T_H
|
||||
#define _ABIBITS_BLKSIZE_T_H
|
||||
|
||||
/* TODO: use int64_t? */
|
||||
typedef long blksize_t;
|
||||
|
||||
#endif /* _ABIBITS_BLKSIZE_T_H */
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef _ABIBITS_CLOCKID_T_H
|
||||
#define _ABIBITS_CLOCKID_T_H
|
||||
|
||||
typedef long clockid_t;
|
||||
|
||||
#endif /* _ABIBITS_CLOCKID_T_H */
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
#ifndef _ABIBITS_DEV_T_H
|
||||
#define _ABIBITS_DEV_T_H
|
||||
|
||||
typedef unsigned long dev_t;
|
||||
|
||||
#endif /* _ABIBITS_DEV_T_H */
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef _ABIBITS_EPOLL_H
|
||||
#define _ABIBITS_EPOLL_H
|
||||
|
||||
#define EPOLL_CLOEXEC 1
|
||||
|
||||
#endif /* _ABIBITS_EPOLL_H */
|
||||
@@ -0,0 +1,126 @@
|
||||
#ifndef _ABIBITS_ERRNO_H
|
||||
#define _ABIBITS_ERRNO_H
|
||||
|
||||
#define EDOM 1
|
||||
#define EILSEQ 2
|
||||
#define ERANGE 3
|
||||
|
||||
#define E2BIG 1001
|
||||
#define EACCES 1002
|
||||
#define EADDRINUSE 1003
|
||||
#define EADDRNOTAVAIL 1004
|
||||
#define EAFNOSUPPORT 1005
|
||||
#define EAGAIN 1006
|
||||
#define EALREADY 1007
|
||||
#define EBADF 1008
|
||||
#define EBADMSG 1009
|
||||
#define EBUSY 1010
|
||||
#define ECANCELED 1011
|
||||
#define ECHILD 1012
|
||||
#define ECONNABORTED 1013
|
||||
#define ECONNREFUSED 1014
|
||||
#define ECONNRESET 1015
|
||||
#define EDEADLK 1016
|
||||
#define EDESTADDRREQ 1017
|
||||
#define EDQUOT 1018
|
||||
#define EEXIST 1019
|
||||
#define EFAULT 1020
|
||||
#define EFBIG 1021
|
||||
#define EHOSTUNREACH 1022
|
||||
#define EIDRM 1023
|
||||
#define EINPROGRESS 1024
|
||||
#define EINTR 1025
|
||||
#define EINVAL 1026
|
||||
#define EIO 1027
|
||||
#define EISCONN 1028
|
||||
#define EISDIR 1029
|
||||
#define ELOOP 1030
|
||||
#define EMFILE 1031
|
||||
#define EMLINK 1032
|
||||
#define EMSGSIZE 1034
|
||||
#define EMULTIHOP 1035
|
||||
#define ENAMETOOLONG 1036
|
||||
#define ENETDOWN 1037
|
||||
#define ENETRESET 1038
|
||||
#define ENETUNREACH 1039
|
||||
#define ENFILE 1040
|
||||
#define ENOBUFS 1041
|
||||
#define ENODEV 1042
|
||||
#define ENOENT 1043
|
||||
#define ENOEXEC 1044
|
||||
#define ENOLCK 1045
|
||||
#define ENOLINK 1046
|
||||
#define ENOMEM 1047
|
||||
#define ENOMSG 1048
|
||||
#define ENOPROTOOPT 1049
|
||||
#define ENOSPC 1050
|
||||
#define ENOSYS 1051
|
||||
#define ENOTCONN 1052
|
||||
#define ENOTDIR 1053
|
||||
#define ENOTEMPTY 1054
|
||||
#define ENOTRECOVERABLE 1055
|
||||
#define ENOTSOCK 1056
|
||||
#define ENOTSUP 1057
|
||||
#define ENOTTY 1058
|
||||
#define ENXIO 1059
|
||||
#define EOPNOTSUPP 1060
|
||||
#define EOVERFLOW 1061
|
||||
#define EOWNERDEAD 1062
|
||||
#define EPERM 1063
|
||||
#define EPIPE 1064
|
||||
#define EPROTO 1065
|
||||
#define EPROTONOSUPPORT 1066
|
||||
#define EPROTOTYPE 1067
|
||||
#define EROFS 1068
|
||||
#define ESPIPE 1069
|
||||
#define ESRCH 1070
|
||||
#define ESTALE 1071
|
||||
#define ETIMEDOUT 1072
|
||||
#define ETXTBSY 1073
|
||||
#define EWOULDBLOCK EAGAIN
|
||||
#define EXDEV 1075
|
||||
#define ENODATA 1076
|
||||
#define ETIME 1077
|
||||
#define ENOKEY 1078
|
||||
#define ESHUTDOWN 1079
|
||||
#define EHOSTDOWN 1080
|
||||
#define EBADFD 1081
|
||||
#define ENOMEDIUM 1082
|
||||
#define ENOTBLK 1083
|
||||
#define ENONET 1084
|
||||
#define EPFNOSUPPORT 1085
|
||||
#define ESOCKTNOSUPPORT 1086
|
||||
#define ESTRPIPE 1087
|
||||
#define EREMOTEIO 1088
|
||||
#define ERFKILL 1089
|
||||
#define EBADR 1090
|
||||
#define EUNATCH 1091
|
||||
#define EMEDIUMTYPE 1092
|
||||
#define EREMOTE 1093
|
||||
#define EKEYREJECTED 1094
|
||||
#define EUCLEAN 1095
|
||||
#define EBADSLT 1096
|
||||
#define ENOANO 1097
|
||||
#define ENOCSI 1098
|
||||
#define ENOSTR 1099
|
||||
#define ETOOMANYREFS 1100
|
||||
#define ENOPKG 1101
|
||||
#define EKEYREVOKED 1102
|
||||
#define EXFULL 1103
|
||||
#define ELNRNG 1104
|
||||
#define ENOTUNIQ 1105
|
||||
#define ERESTART 1106
|
||||
#define EUSERS 1107
|
||||
#define ECHRNG 1108
|
||||
#define ELIBBAD 1109
|
||||
#define EL2HLT 1110
|
||||
#define EL3HLT 1111
|
||||
#define EKEYEXPIRED 1112
|
||||
#define ECOMM 1113
|
||||
#define EBADE 1114
|
||||
#define EHWPOISON 1115
|
||||
#define EBADRQC 1116
|
||||
|
||||
#define EIEIO 1524152434
|
||||
|
||||
#endif /* _ABIBITS_ERRNO_H */
|
||||
@@ -0,0 +1,85 @@
|
||||
#ifndef _ABIBITS_FCNTL_H
|
||||
#define _ABIBITS_FCNTL_H
|
||||
|
||||
/* reserve 3 bits for the access mode */
|
||||
#define O_ACCMODE 0x0007
|
||||
#define O_EXEC 1
|
||||
#define O_RDONLY 2
|
||||
#define O_RDWR 3
|
||||
#define O_SEARCH 4
|
||||
#define O_WRONLY 5
|
||||
|
||||
/* these flags get their own bit */
|
||||
#define O_APPEND 0x000008
|
||||
#define O_CREAT 0x000010
|
||||
#define O_DIRECTORY 0x000020
|
||||
#define O_EXCL 0x000040
|
||||
#define O_NOCTTY 0x000080
|
||||
#define O_NOFOLLOW 0x000100
|
||||
#define O_TRUNC 0x000200
|
||||
#define O_NONBLOCK 0x000400
|
||||
#define O_DSYNC 0x000800
|
||||
#define O_RSYNC 0x001000
|
||||
#define O_SYNC 0x002000
|
||||
#define O_CLOEXEC 0x004000
|
||||
#define O_PATH 0x008000
|
||||
#define O_LARGEFILE 0x010000
|
||||
#define O_NOATIME 0x020000
|
||||
#define O_ASYNC 0x040000
|
||||
#define O_TMPFILE 0x080000
|
||||
#define O_DIRECT 0x100000
|
||||
|
||||
/* constants for fcntl()'s command argument */
|
||||
#define F_DUPFD 1
|
||||
#define F_DUPFD_CLOEXEC 2
|
||||
#define F_GETFD 3
|
||||
#define F_SETFD 4
|
||||
#define F_GETFL 5
|
||||
#define F_SETFL 6
|
||||
#define F_GETLK 7
|
||||
#define F_SETLK 8
|
||||
#define F_SETLK64 F_SETLK
|
||||
#define F_SETLKW 9
|
||||
#define F_SETLKW64 F_SETLKW
|
||||
#define F_GETOWN 10
|
||||
#define F_SETOWN 11
|
||||
|
||||
/* constants for struct flock's l_type member */
|
||||
#define F_RDLCK 1
|
||||
#define F_UNLCK 2
|
||||
#define F_WRLCK 3
|
||||
|
||||
/* constants for fcntl()'s additional argument of F_GETFD and F_SETFD */
|
||||
#define FD_CLOEXEC 1
|
||||
|
||||
/* Used by mmap */
|
||||
#define F_SEAL_SHRINK 0x0002
|
||||
#define F_SEAL_GROW 0x0004
|
||||
#define F_SEAL_WRITE 0x0008
|
||||
#define F_SEAL_SEAL 0x0010
|
||||
#define F_SETPIPE_SZ 1031
|
||||
#define F_GETPIPE_SZ 1032
|
||||
#define F_ADD_SEALS 1033
|
||||
#define F_GET_SEALS 1034
|
||||
|
||||
#define AT_EMPTY_PATH 1
|
||||
#define AT_SYMLINK_FOLLOW 2
|
||||
#define AT_SYMLINK_NOFOLLOW 4
|
||||
#define AT_REMOVEDIR 8
|
||||
#define AT_EACCESS 512
|
||||
#define AT_NO_AUTOMOUNT 1024
|
||||
#define AT_STATX_SYNC_AS_STAT 0
|
||||
#define AT_STATX_FORCE_SYNC 2048
|
||||
#define AT_STATX_DONT_SYNC 4096
|
||||
#define AT_STATX_SYNC_TYPE 6144
|
||||
|
||||
#define AT_FDCWD -100
|
||||
|
||||
#define POSIX_FADV_NORMAL 1
|
||||
#define POSIX_FADV_SEQUENTIAL 2
|
||||
#define POSIX_FADV_NOREUSE 3
|
||||
#define POSIX_FADV_DONTNEED 4
|
||||
#define POSIX_FADV_WILLNEED 5
|
||||
#define POSIX_FADV_RANDOM 6
|
||||
|
||||
#endif /* _ABITBITS_FCNTL_H */
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
#ifndef _ABIBITS_GID_T_H
|
||||
#define _ABIBITS_GID_T_H
|
||||
|
||||
typedef unsigned int gid_t;
|
||||
|
||||
#endif /* _ABIBITS_GID_T_H */
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
#ifndef _ABIBITS_IN_H
|
||||
#define _ABIBITS_IN_H
|
||||
|
||||
#include <bits/posix/in_addr_t.h>
|
||||
#include <bits/posix/in_port_t.h>
|
||||
#include <abi-bits/socket.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct in_addr {
|
||||
in_addr_t s_addr;
|
||||
};
|
||||
|
||||
struct sockaddr_in {
|
||||
sa_family_t sin_family;
|
||||
in_port_t sin_port;
|
||||
struct in_addr sin_addr;
|
||||
uint8_t pad[8];
|
||||
};
|
||||
#define sin_zero pad /* for BSD Unix compatibility */
|
||||
|
||||
struct in6_addr {
|
||||
union {
|
||||
uint8_t __s6_addr[16];
|
||||
uint16_t __s6_addr16[8];
|
||||
uint32_t __s6_addr32[4];
|
||||
} __in6_union;
|
||||
};
|
||||
#define s6_addr __in6_union.__s6_addr
|
||||
#define s6_addr16 __in6_union.__s6_addr16
|
||||
#define s6_addr32 __in6_union.__s6_addr32
|
||||
|
||||
struct in6_pktinfo {
|
||||
struct in6_addr ipi6_addr;
|
||||
uint32_t ipi6_ifindex;
|
||||
};
|
||||
|
||||
struct sockaddr_in6 {
|
||||
sa_family_t sin6_family;
|
||||
in_port_t sin6_port;
|
||||
uint32_t sin6_flowinfo;
|
||||
struct in6_addr sin6_addr;
|
||||
uint32_t sin6_scope_id;
|
||||
};
|
||||
|
||||
struct ipv6_mreq {
|
||||
struct in6_addr ipv6mr_multiaddr;
|
||||
unsigned ipv6mr_interface;
|
||||
};
|
||||
|
||||
struct ip_mreq {
|
||||
struct in_addr imr_multiaddr;
|
||||
struct in_addr imr_interface;
|
||||
};
|
||||
|
||||
struct ip_mreq_source {
|
||||
struct in_addr imr_multiaddr;
|
||||
struct in_addr imr_interface;
|
||||
struct in_addr imr_sourceaddr;
|
||||
};
|
||||
|
||||
struct ip_mreqn {
|
||||
struct in_addr imr_multiaddr;
|
||||
struct in_addr imr_address;
|
||||
int imr_ifindex;
|
||||
};
|
||||
|
||||
struct in_pktinfo {
|
||||
unsigned int ipi_ifindex;
|
||||
struct in_addr ipi_spec_dst;
|
||||
struct in_addr ipi_addr;
|
||||
};
|
||||
|
||||
struct group_source_req {
|
||||
uint32_t gsr_interface;
|
||||
struct sockaddr_storage gsr_group;
|
||||
struct sockaddr_storage gsr_source;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
|
||||
#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
|
||||
|
||||
#define IPPROTO_IP 1
|
||||
#define IPPROTO_IPV6 2
|
||||
#define IPPROTO_ICMP 3
|
||||
#define IPPROTO_RAW 4
|
||||
#define IPPROTO_TCP 5
|
||||
#define IPPROTO_UDP 6
|
||||
#define IPPROTO_IGMP 7
|
||||
#define IPPROTO_IPIP 8
|
||||
#define IPPROTO_DCCP 33
|
||||
#define IPPROTO_ROUTING 43
|
||||
#define IPPROTO_GRE 47
|
||||
#define IPPROTO_ESP 50
|
||||
#define IPPROTO_AH 51
|
||||
#define IPPROTO_ICMPV6 58
|
||||
#define IPPROTO_DSTOPTS 60
|
||||
#define IPPROTO_COMP 108
|
||||
#define IPPROTO_SCTP 132
|
||||
#define IPPROTO_UDPLITE 136
|
||||
#define IPPROTO_MAX 256
|
||||
|
||||
#define INADDR_ANY ((in_addr_t)0x00000000)
|
||||
#define INADDR_BROADCAST ((in_addr_t)0xffffffff)
|
||||
#define INADDR_LOOPBACK ((in_addr_t)0x7f000001)
|
||||
#define INADDR_NONE ((in_addr_t)0xffffffff)
|
||||
|
||||
#define INET_ADDRSTRLEN 16
|
||||
|
||||
#define INET6_ADDRSTRLEN 46
|
||||
|
||||
#define IPV6_JOIN_GROUP 1
|
||||
#define IPV6_LEAVE_GROUP 2
|
||||
#define IPV6_MULTICAST_HOPS 3
|
||||
#define IPV6_MULTICAST_IF 4
|
||||
#define IPV6_MULTICAST_LOOP 5
|
||||
#define IPV6_UNICAST_HOPS 6
|
||||
#define IPV6_V6ONLY 7
|
||||
#define IPV6_PMTUDISC_DONT 8
|
||||
#define IPV6_PMTUDISC_DO 9
|
||||
#define IPV6_MTU 10
|
||||
#define IPV6_2292PKTOPTIONS 11
|
||||
#define IPV6_MTU_DISCOVER 23
|
||||
#define IPV6_RECVERR 25
|
||||
#define IPV6_RECVPKTINFO 49
|
||||
#define IPV6_PKTINFO 50
|
||||
#define IPV6_RECVHOPLIMIT 51
|
||||
#define IPV6_HOPLIMIT 52
|
||||
#define IPV6_TCLASS 67
|
||||
|
||||
#define IP_TOS 1
|
||||
#define IP_TTL 2
|
||||
#define IP_OPTIONS 4
|
||||
#define IP_PMTUDISC_OMIT 5
|
||||
#define IP_PKTINFO 8
|
||||
#define IP_PKTOPTIONS 9
|
||||
#define IP_MTU_DISCOVER 10
|
||||
#define IP_RECVERR 11
|
||||
#define IP_RECVTTL 12
|
||||
#define IP_UNICAST_IF 13
|
||||
#define IP_MTU 14
|
||||
|
||||
#define IP_DEFAULT_MULTICAST_TTL 1
|
||||
#define IP_MULTICAST_IF 32
|
||||
#define IP_MULTICAST_TTL 33
|
||||
#define IP_MULTICAST_LOOP 34
|
||||
#define IP_ADD_MEMBERSHIP 35
|
||||
#define IP_DROP_MEMBERSHIP 36
|
||||
#define IP_UNBLOCK_SOURCE 37
|
||||
#define IP_BLOCK_SOURCE 38
|
||||
#define IP_ADD_SOURCE_MEMBERSHIP 39
|
||||
#define IP_DROP_SOURCE_MEMBERSHIP 40
|
||||
#define MCAST_JOIN_SOURCE_GROUP 46
|
||||
#define MCAST_LEAVE_SOURCE_GROUP 47
|
||||
|
||||
#define IP_PMTUDISC_DONT 0
|
||||
#define IP_PMTUDISC_DO 2
|
||||
|
||||
#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
|
||||
#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
|
||||
|
||||
#endif /* _ABIBITS_IN_H */
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
#ifndef _ABIBITS_INO_T_H
|
||||
#define _ABIBITS_INO_T_H
|
||||
|
||||
/* TODO: use (u)int64_t? */
|
||||
typedef long ino_t;
|
||||
|
||||
#endif /* _ABIBITS_INO_T_H */
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef _ABIBITS_INOTIFY_H
|
||||
#define _ABIBITS_INOTIFY_H
|
||||
|
||||
#define IN_CLOEXEC 1
|
||||
#define IN_NONBLOCK 2
|
||||
|
||||
#endif /* _ABIBITS_INOTIFY_H */
|
||||
@@ -0,0 +1,51 @@
|
||||
#ifndef _ABIBITS_IPC_H
|
||||
#define _ABIBITS_IPC_H
|
||||
|
||||
#include <abi-bits/uid_t.h>
|
||||
#include <abi-bits/gid_t.h>
|
||||
#include <abi-bits/mode_t.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define IPC_CREAT 01000
|
||||
#define IPC_EXCL 02000
|
||||
#define IPC_NOWAIT 04000
|
||||
|
||||
#define IPC_RMID 0
|
||||
#define IPC_SET 1
|
||||
#define IPC_STAT 2
|
||||
#define IPC_INFO 3
|
||||
|
||||
#define IPC_PRIVATE ((key_t) 0)
|
||||
|
||||
#if defined(__aarch64__) || defined(__i386__) || defined(__m68k__)
|
||||
#define IPC_64 0x100
|
||||
#elif defined(__x86_64__) || (defined(__riscv) && __riscv_xlen == 64) || defined(__loongarch64)
|
||||
#define IPC_64 0
|
||||
#else
|
||||
#error "Unsupported arch!"
|
||||
#endif
|
||||
|
||||
typedef int key_t;
|
||||
|
||||
struct ipc64_perm {
|
||||
key_t __ipc_perm_key;
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
uid_t cuid;
|
||||
gid_t cgid;
|
||||
mode_t mode;
|
||||
short __ipc_perm_seq;
|
||||
short __pad;
|
||||
unsigned long __unused[2];
|
||||
};
|
||||
|
||||
#define ipc_perm ipc64_perm
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,14 @@
|
||||
#ifndef _ABIBITS_LIMITS_H
|
||||
#define _ABIBITS_LIMITS_H
|
||||
|
||||
#define IOV_MAX 1024
|
||||
|
||||
/* Niceness related */
|
||||
#define NZERO 20
|
||||
|
||||
/* Maximum hostname length, posix defines it as 255 */
|
||||
#define HOST_NAME_MAX 255
|
||||
|
||||
#define OPEN_MAX 256
|
||||
|
||||
#endif /*_ABIBITS_LIMITS_H */
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
#ifndef _ABIBITS_MODE_T_H
|
||||
#define _ABIBITS_MODE_T_H
|
||||
|
||||
typedef int mode_t;
|
||||
|
||||
#endif /* _ABIBITS_MODE_T_H */
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
#ifndef _ABIBITS_NLINK_T_H
|
||||
#define _ABIBITS_NLINK_T_H
|
||||
|
||||
typedef int nlink_t;
|
||||
|
||||
#endif /* _ABIBITS_NLINK_T_H */
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef _ABIBITS_PACKET_H
|
||||
#define _ABIBITS_PACKET_H
|
||||
|
||||
#define PACKET_HOST 0
|
||||
|
||||
#endif /* _ABIBITS_PACKET_H */
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
#ifndef _ABIBITS_PID_T_H
|
||||
#define _ABIBITS_PID_T_H
|
||||
|
||||
typedef int pid_t;
|
||||
|
||||
#endif /* _ABIBITS_PID_T_H */
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef _ABIBITS_POLL_H
|
||||
#define _ABIBITS_POLL_H
|
||||
|
||||
#define POLLIN 0x01
|
||||
#define POLLOUT 0x02
|
||||
#define POLLPRI 0x04
|
||||
#define POLLHUP 0x08
|
||||
#define POLLERR 0x10
|
||||
#define POLLRDHUP 0x20
|
||||
#define POLLNVAL 0x40
|
||||
#define POLLWRNORM 0x80
|
||||
#define POLLRDNORM 0x100
|
||||
#define POLLWRBAND 0x200
|
||||
#define POLLRDBAND 0x400
|
||||
|
||||
#endif /* _ABIBITS_POLL_H */
|
||||
@@ -0,0 +1,56 @@
|
||||
#ifndef _ABIBITS_PTRACE_H
|
||||
#define _ABIBITS_PTRACE_H
|
||||
|
||||
#define PTRACE_PEEKTEXT 1
|
||||
#define PTRACE_PEEKDATA 2
|
||||
#define PTRACE_PEEKUSER 3
|
||||
#define PTRACE_POKETEXT 4
|
||||
#define PTRACE_POKEDATA 5
|
||||
#define PTRACE_CONT 7
|
||||
#define PTRACE_KILL 8
|
||||
#define PTRACE_SINGLESTEP 9
|
||||
#define PTRACE_GETREGS 14
|
||||
#define PTRACE_SETREGS 15
|
||||
#define PTRACE_ATTACH 16
|
||||
#define PTRACE_DETACH 17
|
||||
#define PTRACE_GETFPXREGS 18
|
||||
#define PTRACE_SETFPXREGS 19
|
||||
#define PTRACE_GETFPREGS 20
|
||||
#define PTRACE_SYSCALL 24
|
||||
#define PTRACE_SETOPTIONS 0x4200
|
||||
#define PTRACE_GETEVENTMSG 0x4201
|
||||
#define PTRACE_GETSIGINFO 0x4202
|
||||
#define PTRACE_SETSIGINFO 0x4203
|
||||
#define PTRACE_GETREGSET 0x4204
|
||||
#define PTRACE_SETREGSET 0x4205
|
||||
#define PTRACE_SEIZE 0x4206
|
||||
#define PTRACE_INTERRUPT 0x4207
|
||||
#define PTRACE_LISTEN 0x4208
|
||||
#define PTRACE_PEEKSIGINFO 0x4209
|
||||
#define PTRACE_GETSIGMASK 0x420A
|
||||
#define PTRACE_SETSIGMASK 0x420B
|
||||
#define PTRACE_SECCOMP_GET_FILTER 0x420C
|
||||
|
||||
#define PTRACE_CE_O_TRACESYSGOOD 0x00000001
|
||||
#define PTRACE_O_TRACEFORK 0x00000002
|
||||
#define PTRACE_O_TRACEVFORK 0x00000004
|
||||
#define PTRACE_O_TRACECLONE 0x00000008
|
||||
#define PTRACE_O_TRACEEXEC 0x00000010
|
||||
#define PTRACE_O_TRACEVFORKDONE 0x00000020
|
||||
#define PTRACE_O_TRACEEXIT 0x00000040
|
||||
#define PTRACE_O_TRACESECCOMP 0x00000080
|
||||
#define PTRACE_O_EXITKILL 0x00100000
|
||||
#define PTRACE_O_SUSPEND_SECCOMP 0x00200000
|
||||
#define PTRACE_O_MASK 0x003000ff
|
||||
|
||||
#define PTRACE_EVENT_FORK 1
|
||||
#define PTRACE_EVENT_VFORK 2
|
||||
#define PTRACE_EVENT_CLONE 3
|
||||
#define PTRACE_EVENT_EXEC 4
|
||||
#define PTRACE_EVENT_VFORK_DONE 5
|
||||
#define PTRACE_EVENT_EXIT 6
|
||||
#define PTRACE_EVENT_SECCOMP 7
|
||||
|
||||
#define PTRACE_PEEKSIGINFO_SHARED 1
|
||||
|
||||
#endif /* _ABIBITS_PTRACE_H */
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef _ABIBITS_RANDOM_H
|
||||
#define _ABIBITS_RANDOM_H
|
||||
|
||||
#define GRND_RANDOM 1
|
||||
#define GRND_NONBLOCK 2
|
||||
|
||||
#endif /* _ABIBITS_RANDOM_H */
|
||||
@@ -0,0 +1,53 @@
|
||||
#ifndef _ABIBITS_RESOURCE_H
|
||||
#define _ABIBITS_RESOURCE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <bits/posix/timeval.h>
|
||||
|
||||
#define RUSAGE_SELF 1
|
||||
#define RUSAGE_CHILDREN 2
|
||||
|
||||
#define RLIMIT_CORE 1
|
||||
#define RLIMIT_CPU 2
|
||||
#define RLIMIT_DATA 3
|
||||
#define RLIMIT_FSIZE 4
|
||||
#define RLIMIT_NOFILE 5
|
||||
#define RLIMIT_STACK 6
|
||||
#define RLIMIT_AS 7
|
||||
#define RLIMIT_MEMLOCK 8
|
||||
#define RLIMIT_RSS 9
|
||||
#define RLIMIT_NPROC 10
|
||||
#define RLIMIT_LOCKS 11
|
||||
#define RLIMIT_SIGPENDING 12
|
||||
#define RLIMIT_MSGQUEUE 13
|
||||
#define RLIMIT_NICE 14
|
||||
#define RLIMIT_RTPRIO 15
|
||||
#define RLIMIT_NLIMITS 16
|
||||
|
||||
struct rusage {
|
||||
struct timeval ru_utime;
|
||||
struct timeval ru_stime;
|
||||
long int ru_maxrss;
|
||||
long int ru_ixrss;
|
||||
long int ru_idrss;
|
||||
long int ru_isrss;
|
||||
long int ru_minflt;
|
||||
long int ru_majflt;
|
||||
long int ru_nswap;
|
||||
long int ru_inblock;
|
||||
long int ru_oublock;
|
||||
long int ru_msgsnd;
|
||||
long int ru_msgrcv;
|
||||
long int ru_nsignals;
|
||||
long int ru_nvcsw;
|
||||
long int ru_nivcsw;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ABIBITS_RESOURCE_H */
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef _ABIBITS_RLIM_T_H
|
||||
#define _ABIBITS_RLIM_T_H
|
||||
|
||||
typedef unsigned long long rlim_t;
|
||||
|
||||
#endif /* _ABIBITS_RLIM_T_H */
|
||||
@@ -0,0 +1,84 @@
|
||||
#ifndef _ABIBITS_SHM_H
|
||||
#define _ABIBITS_SHM_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <bits/ansi/time_t.h>
|
||||
#include <abi-bits/pid_t.h>
|
||||
|
||||
#include <unistd.h>
|
||||
#include <sys/ipc.h>
|
||||
|
||||
#define SHM_R 0400
|
||||
#define SHM_W 0200
|
||||
|
||||
#define SHM_RDONLY 010000
|
||||
#define SHM_RND 020000
|
||||
#define SHM_REMAP 040000
|
||||
#define SHM_EXEC 0100000
|
||||
|
||||
#define SHM_LOCK 11
|
||||
#define SHM_UNLOCK 12
|
||||
#define SHM_STAT 13
|
||||
#define SHM_INFO 14
|
||||
#define SHM_STAT_ANY 15
|
||||
#define SHM_DEST 01000
|
||||
#define SHM_LOCKED 02000
|
||||
#define SHM_HUGETLB 04000
|
||||
#define SHM_NORESERVE 010000
|
||||
|
||||
#define SHM_HUGE_SHIFT 26
|
||||
#define SHM_HUGE_MASK 0x3f
|
||||
#define SHM_HUGE_64KB (16 << 26)
|
||||
#define SHM_HUGE_512KB (19 << 26)
|
||||
#define SHM_HUGE_1MB (20 << 26)
|
||||
#define SHM_HUGE_2MB (21 << 26)
|
||||
#define SHM_HUGE_8MB (23 << 26)
|
||||
#define SHM_HUGE_16MB (24 << 26)
|
||||
#define SHM_HUGE_32MB (25 << 26)
|
||||
#define SHM_HUGE_256MB (28 << 26)
|
||||
#define SHM_HUGE_512MB (29 << 26)
|
||||
#define SHM_HUGE_1GB (30 << 26)
|
||||
#define SHM_HUGE_2GB (31 << 26)
|
||||
#define SHM_HUGE_16GB (34U << 26)
|
||||
|
||||
typedef unsigned long shmatt_t;
|
||||
|
||||
struct shmid_ds {
|
||||
struct ipc_perm shm_perm;
|
||||
size_t shm_segsz;
|
||||
time_t shm_atime;
|
||||
time_t shm_dtime;
|
||||
time_t shm_ctime;
|
||||
pid_t shm_cpid;
|
||||
pid_t shm_lpid;
|
||||
unsigned long shm_nattch;
|
||||
};
|
||||
|
||||
struct shminfo {
|
||||
unsigned long shmmax;
|
||||
unsigned long shmmin;
|
||||
unsigned long shmmni;
|
||||
unsigned long shmseg;
|
||||
unsigned long shmall;
|
||||
unsigned long __unused[4];
|
||||
};
|
||||
|
||||
struct shm_info {
|
||||
int used_ids;
|
||||
unsigned long shm_tot;
|
||||
unsigned long shm_rss;
|
||||
unsigned long shm_swp;
|
||||
unsigned long swap_attempts;
|
||||
unsigned long swap_successes;
|
||||
};
|
||||
|
||||
#define SHMLBA (getpagesize())
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ABIBITS_SHM_H */
|
||||
@@ -0,0 +1,69 @@
|
||||
#ifndef _ABIBITS_STAT_H
|
||||
#define _ABIBITS_STAT_H
|
||||
|
||||
#include <abi-bits/uid_t.h>
|
||||
#include <abi-bits/gid_t.h>
|
||||
#include <bits/off_t.h>
|
||||
#include <abi-bits/mode_t.h>
|
||||
#include <abi-bits/dev_t.h>
|
||||
#include <abi-bits/ino_t.h>
|
||||
#include <abi-bits/blksize_t.h>
|
||||
#include <abi-bits/blkcnt_t.h>
|
||||
#include <abi-bits/nlink_t.h>
|
||||
#include <bits/ansi/time_t.h>
|
||||
#include <bits/ansi/timespec.h>
|
||||
|
||||
#define S_IFMT 0x0F000
|
||||
#define S_IFBLK 0x06000
|
||||
#define S_IFCHR 0x02000
|
||||
#define S_IFIFO 0x01000
|
||||
#define S_IFREG 0x08000
|
||||
#define S_IFDIR 0x04000
|
||||
#define S_IFLNK 0x0A000
|
||||
#define S_IFSOCK 0x0C000
|
||||
|
||||
#define S_IRWXU 0700
|
||||
#define S_IRUSR 0400
|
||||
#define S_IWUSR 0200
|
||||
#define S_IXUSR 0100
|
||||
#define S_IRWXG 070
|
||||
#define S_IRGRP 040
|
||||
#define S_IWGRP 020
|
||||
#define S_IXGRP 010
|
||||
#define S_IRWXO 07
|
||||
#define S_IROTH 04
|
||||
#define S_IWOTH 02
|
||||
#define S_IXOTH 01
|
||||
#define S_ISUID 04000
|
||||
#define S_ISGID 02000
|
||||
#define S_ISVTX 01000
|
||||
|
||||
#define S_IREAD S_IRUSR
|
||||
#define S_IWRITE S_IWUSR
|
||||
#define S_IEXEC S_IXUSR
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct stat {
|
||||
dev_t st_dev;
|
||||
ino_t st_ino;
|
||||
mode_t st_mode;
|
||||
nlink_t st_nlink;
|
||||
uid_t st_uid;
|
||||
gid_t st_gid;
|
||||
dev_t st_rdev;
|
||||
off_t st_size;
|
||||
struct timespec st_atim;
|
||||
struct timespec st_mtim;
|
||||
struct timespec st_ctim;
|
||||
blksize_t st_blksize;
|
||||
blkcnt_t st_blocks;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ABIBITS_STAT_H */
|
||||
@@ -0,0 +1,15 @@
|
||||
#ifndef _ABIBITS_TIME_H
|
||||
#define _ABIBITS_TIME_H
|
||||
|
||||
#include <bits/posix/timeval.h>
|
||||
|
||||
struct itimerval {
|
||||
struct timeval it_interval; /* Interval for periodic timer */
|
||||
struct timeval it_value; /* Time until next expiration */
|
||||
};
|
||||
|
||||
#define ITIMER_REAL 0
|
||||
#define ITIMER_VIRTUAL 1
|
||||
#define ITIMER_PROF 2
|
||||
|
||||
#endif /* _ABIBITS_TIME_H */
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
#ifndef _ABIBITS_UID_T_H
|
||||
#define _ABIBITS_UID_T_H
|
||||
|
||||
typedef unsigned int uid_t;
|
||||
|
||||
#endif /* _ABIBITS_UID_T_H */
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#ifndef _ABIBITS_UTSNAME_T_H
|
||||
#define _ABIBITS_UTSNAME_T_H
|
||||
|
||||
#if __MLIBC_BUILDING_MLIBC
|
||||
#warning utsname.h is a broken header originally from the deprecated "mlibc" ABI. \
|
||||
We suggest to use abis/linux/utsname.h instead. \
|
||||
Note that this will potentially require kernel changes.
|
||||
#endif
|
||||
|
||||
struct utsname {
|
||||
char sysname[65];
|
||||
char nodename[65];
|
||||
char release[65];
|
||||
char version[65];
|
||||
char machine[65];
|
||||
};
|
||||
|
||||
#endif /* _ABIBITS_UTSNAME_T_H */
|
||||
@@ -0,0 +1,46 @@
|
||||
#ifndef _ABIBITS_MMAP_FLAGS_H
|
||||
#define _ABIBITS_MMAP_FLAGS_H
|
||||
|
||||
#define PROT_NONE 0x00
|
||||
#define PROT_READ 0x01
|
||||
#define PROT_WRITE 0x02
|
||||
#define PROT_EXEC 0x04
|
||||
|
||||
#define MAP_FAILED ((void *)(-1))
|
||||
#define MAP_FILE 0x00
|
||||
#define MAP_PRIVATE 0x01
|
||||
#define MAP_SHARED 0x02
|
||||
#define MAP_FIXED 0x04
|
||||
#define MAP_ANON 0x08
|
||||
#define MAP_ANONYMOUS 0x08
|
||||
#define MAP_NORESERVE 0x10
|
||||
#define MAP_FIXED_NOREPLACE 0x20
|
||||
|
||||
#define MS_ASYNC 0x01
|
||||
#define MS_SYNC 0x02
|
||||
#define MS_INVALIDATE 0x04
|
||||
|
||||
#define MCL_CURRENT 0x01
|
||||
#define MCL_FUTURE 0x02
|
||||
|
||||
#define POSIX_MADV_NORMAL 1
|
||||
#define POSIX_MADV_SEQUENTIAL 2
|
||||
#define POSIX_MADV_RANDOM 3
|
||||
#define POSIX_MADV_DONTNEED 4
|
||||
#define POSIX_MADV_WILLNEED 5
|
||||
|
||||
#define MADV_NORMAL 0
|
||||
#define MADV_RANDOM 1
|
||||
#define MADV_SEQUENTIAL 2
|
||||
#define MADV_WILLNEED 3
|
||||
#define MADV_DONTNEED 4
|
||||
#define MADV_FREE 8
|
||||
|
||||
/* Linux extensions: */
|
||||
#define MREMAP_MAYMOVE 1
|
||||
#define MREMAP_FIXED 2
|
||||
|
||||
#define MFD_CLOEXEC 1U
|
||||
#define MFD_ALLOW_SEALING 2U
|
||||
|
||||
#endif /* _ABIBITS_MMAP_FLAGS_H */
|
||||
Reference in New Issue
Block a user