Skip to content

Commit ea08e7f

Browse files
redox: dirfd, VDISABLE, and resource consts
1 parent 3f2a3ab commit ea08e7f

File tree

2 files changed

+120
-87
lines changed

2 files changed

+120
-87
lines changed

libc-test/semver/redox.txt

Lines changed: 100 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ B460800
1616
B500000
1717
B576000
1818
B921600
19+
bsearch
20+
BUFSIZ
21+
chroot
22+
clearerr
23+
difftime
24+
dirfd
1925
DT_UNKNOWN
2026
EADV
2127
EBADE
@@ -45,6 +51,9 @@ ELNRNG
4551
EMEDIUMTYPE
4652
EMULTIHOP
4753
ENAVAIL
54+
endgrent
55+
endpwent
56+
endservent
4857
ENOANO
4958
ENOCSI
5059
ENODATA
@@ -61,8 +70,16 @@ ENOTRECOVERABLE
6170
ENOTSUP
6271
ENOTUNIQ
6372
EOWNERDEAD
73+
EPOLL_CLOEXEC
74+
epoll_create
75+
epoll_create1
76+
epoll_ctl
77+
EPOLL_CTL_ADD
78+
EPOLL_CTL_DEL
79+
EPOLL_CTL_MOD
6480
EPOLLERR
6581
EPOLLET
82+
epoll_event
6683
EPOLLEXCLUSIVE
6784
EPOLLHUP
6885
EPOLLIN
@@ -74,17 +91,15 @@ EPOLLPRI
7491
EPOLLRDBAND
7592
EPOLLRDHUP
7693
EPOLLRDNORM
94+
epoll_wait
7795
EPOLLWAKEUP
7896
EPOLLWRBAND
7997
EPOLLWRNORM
80-
EPOLL_CLOEXEC
81-
EPOLL_CTL_ADD
82-
EPOLL_CTL_DEL
83-
EPOLL_CTL_MOD
8498
EREMCHG
8599
EREMOTE
86100
EREMOTEIO
87101
ERESTART
102+
__errno_location
88103
ESOCKTNOSUPPORT
89104
ESRMNT
90105
ESTRPIPE
@@ -94,8 +109,28 @@ EUCLEAN
94109
EUNATCH
95110
EUSERS
96111
EXFULL
112+
explicit_bzero
113+
fchdir
97114
FIONREAD
115+
fmemopen
116+
getdtablesize
117+
getgrent
118+
getgrgid
119+
getgrgid_r
120+
getgrnam
121+
getgrnam_r
122+
getgrouplist
123+
getline
124+
getpwent
125+
getpwnam_r
126+
getrlimit
127+
getrusage
128+
getservbyport
129+
getservent
98130
IMAXBEL
131+
_IOFBF
132+
_IOLBF
133+
_IONBF
99134
IPPROTO_ICMP
100135
IPPROTO_IDP
101136
IPPROTO_IGMP
@@ -105,44 +140,87 @@ IPPROTO_MAX
105140
IPPROTO_PUP
106141
IPPROTO_TCP
107142
IPPROTO_UDP
108-
IPV6_ADD_MEMBERSHIP
109-
IPV6_DROP_MEMBERSHIP
110143
IP_RECVTOS
111144
IP_TOS
145+
IPV6_ADD_MEMBERSHIP
146+
IPV6_DROP_MEMBERSHIP
112147
IUCLC
113148
IUTF8
149+
killpg
150+
lockf
151+
login_tty
114152
MADV_DONTNEED
153+
madvise
115154
MADV_NORMAL
116155
MADV_RANDOM
117156
MADV_SEQUENTIAL
118157
MADV_WILLNEED
158+
memalign
159+
mkostemp
160+
mkostemps
119161
MSG_DONTWAIT
162+
nice
120163
NI_DGRAM
121164
NI_MAXSERV
122165
NI_NAMEREQD
123166
NI_NOFQDN
124167
NI_NUMERICHOST
125168
NI_NUMERICSERV
126169
NSIG
127-
OFDEL
128-
OFILL
129-
OLCUC
130170
O_ASYNC
131171
O_EXLOCK
172+
OFDEL
173+
OFILL
132174
O_FSYNC
175+
OLCUC
176+
O_NOCTTY
133177
O_PATH
178+
open_memstream
179+
openpty
180+
open_wmemstream
134181
O_SHLOCK
135182
O_SYMLINK
183+
_PC_2_SYMLINKS
184+
_PC_ALLOC_SIZE_MIN
185+
_PC_ASYNC_IO
186+
_PC_FILESIZEBITS
187+
_PC_PRIO_IO
188+
_PC_REC_INCR_XFER_SIZE
189+
_PC_REC_MAX_XFER_SIZE
190+
_PC_REC_MIN_XFER_SIZE
191+
_PC_REC_XFER_ALIGN
192+
_PC_SOCK_MAXBUF
193+
_PC_SYMLINK_MAX
194+
_PC_SYNC_IO
195+
pipe2
196+
_POSIX_VDISABLE
197+
pthread_condattr_setclock
136198
PTHREAD_STACK_MIN
199+
qsort
200+
reallocarray
201+
RLIM_INFINITY
202+
RLIM_SAVED_CUR
203+
RLIM_SAVED_MAX
204+
RUSAGE_CHILDREN
205+
RUSAGE_SELF
206+
RUSAGE_THREAD
137207
SA_RESTORER
208+
_SC_LOGIN_NAME_MAX
138209
SCM_RIGHTS
210+
_SC_RE_DUP_MAX
211+
setgrent
212+
setpwent
213+
setrlimit
214+
setservent
139215
SIGIO
140216
SIGPWR
141217
SIGSTKFLT
218+
sigtimedwait
219+
sigwait
220+
SO_BSDCOMPAT
142221
SOCK_CLOEXEC
143222
SOCK_NONBLOCK
144223
SOCK_RAW
145-
SO_BSDCOMPAT
146224
SO_DOMAIN
147225
SO_NO_CHECK
148226
SO_PASSCRED
@@ -153,13 +231,22 @@ SO_PROTOCOL
153231
SO_RCVBUFFORCE
154232
SO_REUSEPORT
155233
SO_SNDBUFFORCE
234+
strcasecmp
235+
strcasestr
236+
strftime
237+
strlcat
238+
strlcpy
239+
strncasecmp
240+
strndup
241+
strsignal
156242
TCFLSH
157243
TCGETS
158244
TCP_KEEPIDLE
159245
TCSETS
160246
TIOCGPGRP
161247
TIOCSCTTY
162248
TIOCSPGRP
249+
ttyname_r
163250
UTSLENGTH
164251
VDISCARD
165252
VLNEXT
@@ -169,83 +256,9 @@ VT0
169256
VT1
170257
VTDLY
171258
VWERASE
172-
WEXITED
173-
WNOWAIT
174-
WSTOPPED
175-
_PC_2_SYMLINKS
176-
_PC_ALLOC_SIZE_MIN
177-
_PC_ASYNC_IO
178-
_PC_FILESIZEBITS
179-
_PC_PRIO_IO
180-
_PC_REC_INCR_XFER_SIZE
181-
_PC_REC_MAX_XFER_SIZE
182-
_PC_REC_MIN_XFER_SIZE
183-
_PC_REC_XFER_ALIGN
184-
_PC_SOCK_MAXBUF
185-
_PC_SYMLINK_MAX
186-
_PC_SYNC_IO
187-
_SC_LOGIN_NAME_MAX
188-
_SC_RE_DUP_MAX
189259
__WALL
190260
__WCLONE
261+
WEXITED
191262
__WNOTHREAD
192-
__errno_location
193-
bsearch
194-
chroot
195-
clearerr
196-
difftime
197-
endgrent
198-
endpwent
199-
endservent
200-
epoll_create
201-
epoll_create1
202-
epoll_ctl
203-
epoll_event
204-
epoll_wait
205-
explicit_bzero
206-
fchdir
207-
fmemopen
208-
getdtablesize
209-
getgrent
210-
getgrgid
211-
getgrgid_r
212-
getgrnam
213-
getgrnam_r
214-
getgrouplist
215-
getline
216-
getpwent
217-
getpwnam_r
218-
getrlimit
219-
getrusage
220-
getservbyport
221-
getservent
222-
killpg
223-
lockf
224-
login_tty
225-
madvise
226-
memalign
227-
mkostemp
228-
mkostemps
229-
nice
230-
open_memstream
231-
open_wmemstream
232-
openpty
233-
pipe2
234-
pthread_condattr_setclock
235-
qsort
236-
reallocarray
237-
setgrent
238-
setpwent
239-
setrlimit
240-
setservent
241-
sigtimedwait
242-
sigwait
243-
strcasecmp
244-
strcasestr
245-
strftime
246-
strlcat
247-
strlcpy
248-
strncasecmp
249-
strndup
250-
strsignal
251-
ttyname_r
263+
WNOWAIT
264+
WSTOPPED

src/unix/redox/mod.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,7 @@ pub const O_SYMLINK: c_int = 0x4000_0000;
532532
// Negative to allow it to be used as int
533533
// FIXME(redox): Fix negative values missing from includes
534534
pub const O_NOFOLLOW: c_int = -0x8000_0000;
535+
pub const O_NOCTTY: c_int = 0x00000200;
535536

536537
// locale.h
537538
pub const LC_ALL: c_int = 0;
@@ -626,6 +627,15 @@ pub const PTHREAD_RWLOCK_INITIALIZER: crate::pthread_rwlock_t = crate::pthread_r
626627
};
627628
pub const PTHREAD_STACK_MIN: size_t = 4096;
628629

630+
// sys/resource.h
631+
pub const RLIM_INFINITY: u64 = !0;
632+
pub const RLIM_SAVED_CUR: u64 = RLIM_INFINITY;
633+
pub const RLIM_SAVED_MAX: u64 = RLIM_INFINITY;
634+
pub const RUSAGE_SELF: c_int = 0;
635+
pub const RUSAGE_CHILDREN: c_int = -1;
636+
pub const RUSAGE_BOTH: c_int = -2;
637+
pub const RUSAGE_THREAD: c_int = 1;
638+
629639
// signal.h
630640
pub const SIG_BLOCK: c_int = 0;
631641
pub const SIG_UNBLOCK: c_int = 1;
@@ -935,6 +945,8 @@ pub const TCSANOW: c_int = 0;
935945
pub const TCSADRAIN: c_int = 1;
936946
pub const TCSAFLUSH: c_int = 2;
937947

948+
pub const _POSIX_VDISABLE: crate::cc_t = 0;
949+
938950
// sys/wait.h
939951
pub const WNOHANG: c_int = 1;
940952
pub const WUNTRACED: c_int = 2;
@@ -984,6 +996,11 @@ pub const R_OK: c_int = 4;
984996
pub const W_OK: c_int = 2;
985997
pub const X_OK: c_int = 1;
986998

999+
// stdio.h
1000+
pub const BUFSIZ: c_uint = 1024;
1001+
pub const _IOFBF: c_int = 0;
1002+
pub const _IOLBF: c_int = 1;
1003+
pub const _IONBF: c_int = 2;
9871004
pub const SEEK_SET: c_int = 0;
9881005
pub const SEEK_CUR: c_int = 1;
9891006
pub const SEEK_END: c_int = 2;
@@ -1096,6 +1113,9 @@ extern "C" {
10961113
pub fn __errno_location() -> *mut c_int;
10971114
pub fn strerror_r(errnum: c_int, buf: *mut c_char, buflen: size_t) -> c_int;
10981115

1116+
// dirent.h
1117+
pub fn dirfd(dirp: *mut crate::DIR) -> c_int;
1118+
10991119
// unistd.h
11001120
pub fn pipe2(fds: *mut c_int, flags: c_int) -> c_int;
11011121
pub fn getdtablesize() -> c_int;

0 commit comments

Comments
 (0)