384 lines
No EOL
6 KiB
Text
384 lines
No EOL
6 KiB
Text
(Almost) all of this will be in libc as well, but this stuff should be a part
|
|
of libk (the libc makefile's FREE_OBJS variable). Anything not on this list
|
|
that the kernel will need that isn't otherwise a part of the libc is probably
|
|
best put in kernel dev, rather than in libc dev (e.g. info on the elf format
|
|
or endianness). This also isn't a complete list. This is based off what the
|
|
Linux klibc has that overlaps with what a POSIX-compliant libc has. We may need
|
|
to add more from the POSIX libc, and I may have not put in dependencies here or
|
|
there (types that are needed, or macros, or functions, or whatever).
|
|
|
|
X - complete; ~ - prototype exists; ? - not sure if done
|
|
Unless otherwise specified, *() denotes a function, *[] an array variable,
|
|
* \* a pointer, [A-Z_0-9]+ a macro, [a-z_0-9] a variable or type, and anything
|
|
prefixed with struct is a struct.
|
|
(hello() is a function, hello[] is an array, hello * is a pointer, HELLO is a
|
|
macro, HELLO() is a function macro, hello is a variable or type, and
|
|
struct hello is a struct.)
|
|
|
|
arpa/inet.h
|
|
inet_addr()
|
|
inet_ntoa()
|
|
inet_ntop()
|
|
inet_pton()
|
|
assert.h (complete)
|
|
ctype.h (complete as far as libk is concerned - don't need locale variants)
|
|
dirent.h
|
|
DIR type
|
|
struct dirent
|
|
alphasort()
|
|
closedir()
|
|
fdopendir()
|
|
opendir()
|
|
readdir()
|
|
dirrd()
|
|
scandir()
|
|
errno.h (complete)
|
|
fcntl.h
|
|
struct flock
|
|
open()
|
|
openat()
|
|
creat()
|
|
fcntl()
|
|
Neccesary macros for the above
|
|
fnmatch.h
|
|
X FNM_NOMATCH
|
|
X FNM_PATHNAME
|
|
X FNM_PERIOD
|
|
X FNM_NOESCAPE
|
|
~ fnmatch()
|
|
grp.h
|
|
X struct group
|
|
~ getgrid()
|
|
~ getgrnam()
|
|
inttypes.h
|
|
imaxabs()
|
|
strtoimax()
|
|
limits.h (complete)
|
|
net/if.h
|
|
netinet/in.h
|
|
netinet/tcp.h
|
|
poll.h
|
|
pwd.h
|
|
struct passwd
|
|
getpwuid()
|
|
getpwman()
|
|
sched.h
|
|
struct sched_param
|
|
sched_setscheduler()
|
|
sched_yield()
|
|
setjmp.h
|
|
sigjmp_buf[]
|
|
setjmp()
|
|
longjmp()
|
|
sigsetjmp()
|
|
siglongjmp()
|
|
signal.h
|
|
sig_atomic_t
|
|
SIGRTMIN
|
|
SIGRTMAX
|
|
sigemptyset()
|
|
sigfillset()
|
|
sigaddset()
|
|
sigdelset()
|
|
sigismember()
|
|
signal()
|
|
sigaction()
|
|
sigprocmask()
|
|
sigpending()
|
|
sigsuspend()
|
|
raise()
|
|
kill()
|
|
stdarg.h
|
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
stdbool.h (complete)
|
|
stddef.h (complete)
|
|
stdint.h (complete)
|
|
stdio.h
|
|
X FILE type
|
|
X EOF
|
|
X BUFSIZ
|
|
X _IO*BF
|
|
X stdin, stdout, stderr
|
|
~ fopen()
|
|
~ fdopen()
|
|
~ fclose()
|
|
~ fseek()
|
|
~ rewind()
|
|
~ fputs()
|
|
fputs_unlocked()
|
|
X puts()
|
|
~ fputc()
|
|
~ putc()
|
|
X putchar()
|
|
fputc_unlocked()
|
|
putchar_unlocked()
|
|
putc_unlocked()
|
|
~ fgetc()
|
|
fgetc_unlocked()
|
|
~ fgets()
|
|
fgets_unlocked()
|
|
~ getc()
|
|
~ getchar()
|
|
getc_unlocked()
|
|
getchar_unlocked()
|
|
~ ungetc()
|
|
X printf()
|
|
~ vprintf()
|
|
~ fprintf()
|
|
~ vfprintf()
|
|
~ sprintf()
|
|
~ vsprintf()
|
|
~ snprintf()
|
|
~ vsnprintf()
|
|
~ sscanf()
|
|
~ vsscanf()
|
|
? perror()
|
|
rename()
|
|
renameat()
|
|
remove()
|
|
~ fread()
|
|
~ fwrite()
|
|
ftell()
|
|
~ ferror()
|
|
~ feof()
|
|
fileno()
|
|
~ clearrerr()
|
|
stdlib.h
|
|
X EXIT_FAILURE
|
|
X EXIT_SUCCESS
|
|
? abort()
|
|
X abs()
|
|
~ system()
|
|
~ atexit()
|
|
~ atoi()
|
|
~ atol()
|
|
~ atoll
|
|
~ exit()
|
|
~_Exit()
|
|
X labs()
|
|
X llabs()
|
|
~ strtol()
|
|
~ strtoll()
|
|
~ strtoul()
|
|
~ strtoull()
|
|
~ getenv()
|
|
putenv()
|
|
setenv()
|
|
unsetenv()
|
|
X bsearch()
|
|
~ qsort()
|
|
X srand()
|
|
X rand()
|
|
srand48()
|
|
jrand48()
|
|
mrand48()
|
|
nrand48()
|
|
lrand48()
|
|
random()
|
|
srandom()
|
|
unlockpt()
|
|
ptsname()
|
|
posix_openpt()
|
|
grantpt()
|
|
realpath()
|
|
string.h
|
|
memccpy()
|
|
memchr()
|
|
X memcmp()
|
|
X memcpy()
|
|
X memmove()
|
|
X memset()
|
|
X strcat()
|
|
~ strchr()
|
|
X strcmp()
|
|
~ strcpy()
|
|
X strcspn()
|
|
strdup()
|
|
~ strerror()
|
|
strsignal()
|
|
X strlen()
|
|
~ strncat()
|
|
~ strncmp()
|
|
~ strncpy()
|
|
strpbrk()
|
|
~ strstr()
|
|
X strtok()
|
|
strtok_r()
|
|
sys/mman.h
|
|
mmap()
|
|
munmap()
|
|
shm_open()
|
|
shm_unlink()
|
|
msync()
|
|
mprotect()
|
|
mlockall()
|
|
munlockall()
|
|
mlock()
|
|
munlock()
|
|
sys/resource.h
|
|
getpriority()
|
|
setpriority()
|
|
getrusage()
|
|
sys/select.h
|
|
FD_CLR()
|
|
FD_ISSET()
|
|
FD_SET()
|
|
FD_ZERO()
|
|
FD_SETSIZE
|
|
select()
|
|
pselect()
|
|
sys/socket.h
|
|
X sa_family_t
|
|
X struct sockaddr
|
|
X socklen_t
|
|
struct msghdr
|
|
struct cmsghdr
|
|
CMSG_DATA()
|
|
CMSG_NXTHDR()
|
|
CMSG_FIRSTHDR()
|
|
accept()
|
|
bind()
|
|
connect()
|
|
getpeername()
|
|
getsockname()
|
|
getsockopt()
|
|
listen()
|
|
recv()
|
|
recvfrom()
|
|
recvmsg()
|
|
send()
|
|
sendmsg()
|
|
sendto()
|
|
setsockopt()
|
|
shutdown()
|
|
socket()
|
|
socketpair()
|
|
sys/stat.h
|
|
S_IFMT macro family
|
|
S_I[RWX](USR|GRP|OTH) and related macros
|
|
S_IS. macro family
|
|
stat()
|
|
fstat()
|
|
fstatat()
|
|
lstat()
|
|
umask()
|
|
mknod()
|
|
mknodat()
|
|
mkfifo()
|
|
utimensat()
|
|
fchmodat()
|
|
sys/statvfs.h
|
|
struct statvfs
|
|
fstatvfs()
|
|
statvfs()
|
|
sys/time.h
|
|
gettimeofday()
|
|
gettitimer()
|
|
settitimer()
|
|
utimes()
|
|
sys/uio.h
|
|
struct iovec
|
|
readv()
|
|
writev()
|
|
sys/un.h
|
|
???
|
|
sys/utsname.h
|
|
X struct utsname
|
|
~ uname()
|
|
sys/wait.h
|
|
WEXITSTATUS()
|
|
WTERMSIG()
|
|
WIFEXITED()
|
|
WIFSTOPPED()
|
|
WIFSIGNALED()
|
|
WSTOPSIG()
|
|
X wait()
|
|
waitpid()
|
|
syslog.h
|
|
~ closelog()
|
|
~ openlog()
|
|
~ syslog()
|
|
termios.h
|
|
TCSANOW
|
|
TCSADRAIN
|
|
TCSAFLUSH
|
|
tcgetattr()
|
|
tcsetattr()
|
|
tcflow()
|
|
tcflush()
|
|
tcdrain()
|
|
tcgetsid()
|
|
tcsendbreak()
|
|
cfgetospeed()
|
|
cfgetispeed()
|
|
cfsetospeed()
|
|
cfsetispeed()
|
|
time.h
|
|
X time()
|
|
~ nanosleep()
|
|
unistd.h
|
|
X F_OK
|
|
X R_OK
|
|
X W_OK
|
|
X X_OK
|
|
STDERR_FILENO
|
|
STDIN_FILENO
|
|
STDOUT_FILENO
|
|
access()
|
|
chdir()
|
|
chown()
|
|
close()
|
|
dup()
|
|
dup2()
|
|
_exit()
|
|
execl()
|
|
execle()
|
|
execlp()
|
|
execv()
|
|
execve()
|
|
execvp()
|
|
faccessat()
|
|
fchdir()
|
|
fchown()
|
|
fchownat()
|
|
fdatasync()
|
|
fork()
|
|
fsync()
|
|
ftruncate()
|
|
getegid()
|
|
geteuid()
|
|
getgid()
|
|
getgroups()
|
|
gethostname()
|
|
getopt()
|
|
getuid()
|
|
isatty()
|
|
lchown()
|
|
link()
|
|
linkat()
|
|
lseek()
|
|
nice()
|
|
pipe()
|
|
pread()
|
|
pwrite()
|
|
read()
|
|
readlink()
|
|
readlinkat()
|
|
rmdir()
|
|
setegid()
|
|
seteuid()
|
|
setgid()
|
|
setuid()
|
|
sleep()
|
|
symlink()
|
|
symlinkat()
|
|
sync()
|
|
unlink()
|
|
unlinkat()
|
|
write()
|
|
utime.h
|
|
struct utimbuf
|
|
utime() |