freebsd-nq/lib/libc/sys
Konstantin Belousov 6992112349 Commit the 64-bit inode project.
Extend the ino_t, dev_t, nlink_t types to 64-bit ints.  Modify
struct dirent layout to add d_off, increase the size of d_fileno
to 64-bits, increase the size of d_namlen to 16-bits, and change
the required alignment.  Increase struct statfs f_mntfromname[] and
f_mntonname[] array length MNAMELEN to 1024.

ABI breakage is mitigated by providing compatibility using versioned
symbols, ingenious use of the existing padding in structures, and
by employing other tricks.  Unfortunately, not everything can be
fixed, especially outside the base system.  For instance, third-party
APIs which pass struct stat around are broken in backward and
forward incompatible ways.

Kinfo sysctl MIBs ABI is changed in backward-compatible way, but
there is no general mechanism to handle other sysctl MIBS which
return structures where the layout has changed. It was considered
that the breakage is either in the management interfaces, where we
usually allow ABI slip, or is not important.

Struct xvnode changed layout, no compat shims are provided.

For struct xtty, dev_t tty device member was reduced to uint32_t.
It was decided that keeping ABI compat in this case is more useful
than reporting 64-bit dev_t, for the sake of pstat.

Update note: strictly follow the instructions in UPDATING.  Build
and install the new kernel with COMPAT_FREEBSD11 option enabled,
then reboot, and only then install new world.

Credits: The 64-bit inode project, also known as ino64, started life
many years ago as a project by Gleb Kurtsou (gleb).  Kirk McKusick
(mckusick) then picked up and updated the patch, and acted as a
flag-waver.  Feedback, suggestions, and discussions were carried
by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles),
and Rick Macklem (rmacklem).  Kris Moore (kris) performed an initial
ports investigation followed by an exp-run by Antoine Brodin (antoine).
Essential and all-embracing testing was done by Peter Holm (pho).
The heavy lifting of coordinating all these efforts and bringing the
project to completion were done by Konstantin Belousov (kib).

Sponsored by:	The FreeBSD Foundation (emaste, kib)
Differential revision:	https://reviews.freebsd.org/D10439
2017-05-23 09:29:05 +00:00
..
__error.c Add missing include to eliminate -Wmissing-prototypes warnings 2015-09-20 03:49:08 +00:00
__vdso_gettimeofday.c Implement userspace gettimeofday(2) with HPET timecounter. 2016-08-17 09:52:09 +00:00
_exit.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
_umtx_op.2 _umtx_op(2): fix minor manlint issues 2017-05-23 07:26:45 +00:00
abort2.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
accept4.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
accept.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
accept.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
access.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
acct.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
adjtime.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
aio_cancel.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
aio_error.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
aio_fsync.2 Fix various nits in the aio operation manpages. 2016-08-19 17:37:32 +00:00
aio_mlock.2 Fix various nits in the aio operation manpages. 2016-08-19 17:37:32 +00:00
aio_read.2 Fix various nits in the aio operation manpages. 2016-08-19 17:37:32 +00:00
aio_return.2 Fully handle size_t lengths in AIO requests. 2016-03-21 21:37:33 +00:00
aio_suspend.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
aio_suspend.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
aio_waitcomplete.2 Fully handle size_t lengths in AIO requests. 2016-03-21 21:37:33 +00:00
aio_write.2 Fix various nits in the aio operation manpages. 2016-08-19 17:37:32 +00:00
bind.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
bindat.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
brk.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
cap_enter.2 cap_enter(2): fix manlint issues 2017-05-23 07:31:03 +00:00
cap_fcntls_limit.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
cap_ioctls_limit.2 forgot to bump date, and replace contraction (igor)... 2015-03-07 03:48:32 +00:00
cap_rights_limit.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
chdir.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
chflags.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
chmod.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
chown.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
chroot.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
clock_gettime.2 clock_gettime.2: add some clock IDs 2017-03-22 00:50:36 +00:00
clock_gettime.c
clock_nanosleep.c Add clock_nanosleep() 2017-03-19 00:51:12 +00:00
close.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
close.c Add missing includes to eliminate -Wmissing-prototypes warnings 2015-09-20 03:45:57 +00:00
closefrom.2 Reassign copyright statements on several files from Advanced 2015-04-23 14:22:20 +00:00
connect.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
connect.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
connectat.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
cpuset_getaffinity.2 Improve errno documentation in pthread_create(3) and thr_new(2) 2016-06-03 14:30:32 +00:00
cpuset.2 cpuset.2: Document new API options 2017-05-03 18:46:33 +00:00
dup.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
execve.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
extattr_get_file.2
fcntl.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
fcntl.c The lseek(2), mmap(2), truncate(2), ftruncate(2), pread(2), and 2015-04-18 21:50:13 +00:00
fdatasync.c The fdatasync(2) call must be cancellation point. 2016-08-16 08:27:03 +00:00
ffclock.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
fhopen.2
flock.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
fork.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
fork.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
fsync.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
fsync.c Add missing includes to eliminate -Wmissing-prototypes warnings 2015-09-20 03:45:57 +00:00
futimens.c Update futimens/utimensat for MFC to stable/10: 2016-01-12 20:53:57 +00:00
getdents.c Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
getdirentries.2 Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
getdtablesize.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getfh.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getfsstat.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getgid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getgroups.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getitimer.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getlogin.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getloginclass.2 Add some .Xrs to getloginclass(2). 2016-07-12 06:00:57 +00:00
getpeername.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getpgrp.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getpid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getpriority.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getrlimit.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getrusage.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getsid.2
getsockname.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
getsockopt.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
gettimeofday.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
gettimeofday.c
getuid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
interposing_table.c Add clock_nanosleep() 2017-03-19 00:51:12 +00:00
intro.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ioctl.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
issetugid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
jail.2 Mark jail(2), and the sysctls that it (and only it) uses as deprecated. 2016-05-30 05:21:24 +00:00
kenv.2 Make several improvements and corrections in the kenv(2) man page 2017-02-21 19:51:41 +00:00
kevent.c Make kevent(2) a cancellation point. 2015-03-29 19:14:41 +00:00
kill.2 kill(2): add missing section for sysctl(9) 2017-05-23 07:46:10 +00:00
kldfind.2
kldfirstmod.2
kldload.2
kldnext.2
kldstat.2
kldsym.2 Use 'cmd' rather than 'command' to match the function prototype. 2016-10-17 22:36:37 +00:00
kldunload.2
kqueue.2 Document kevent EVFILT_EMPTY. 2017-04-18 15:36:13 +00:00
ktrace.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
link.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
lio_listio.2 Add documentation for the sigevent structure. 2016-07-15 15:12:56 +00:00
listen.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
lseek.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
lstat.c Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
madvise.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
Makefile.inc Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
mincore.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
minherit.2 Implement INHERIT_ZERO for minherit(2). 2017-03-14 17:10:42 +00:00
mkdir.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
mkfifo.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
mknod.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
mknod.c Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
mlock.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
mlockall.2
mmap.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
modfind.2 Use the right argumant name 2016-03-18 08:47:17 +00:00
modnext.2
modstat.2
mount.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
mprotect.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
mq_close.2
mq_getattr.2 Match the correct variable to the variable description. 2014-02-21 13:53:41 +00:00
mq_notify.2 Add documentation for the sigevent structure. 2016-07-15 15:12:56 +00:00
mq_open.2 document mqueuefs is required for mq_open... 2014-09-15 22:32:35 +00:00
mq_receive.2
mq_send.2
mq_setattr.2
msgctl.2
msgget.2
msgrcv.2 Change the return type of msgrcv() to ssize_t as required by POSIX. 2016-07-28 12:22:01 +00:00
msgsnd.2
msync.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
msync.c Add missing includes to eliminate -Wmissing-prototypes warnings 2015-09-20 03:45:57 +00:00
munmap.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nanosleep.2 Add clock_nanosleep() 2017-03-19 00:51:12 +00:00
nanosleep.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
nfssvc.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ntp_adjtime.2
numa_getaffinity.2 Add an initial NUMA affinity/policy configuration for threads and processes. 2015-07-11 15:21:37 +00:00
open.2 open(2): fix manlint warnings 2017-05-23 07:44:43 +00:00
open.c Reduce the size of the interposing table and amount of 2015-01-11 22:16:31 +00:00
openat.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
pathconf.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
pdfork.2 Introduce the PD_CLOEXEC for pdfork(2). 2016-06-08 02:09:14 +00:00
pipe.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
pipe.c Replace use of the pipe(2) system call with pipe2(2) with a zero flags 2016-06-22 21:11:27 +00:00
poll.2 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
poll.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
posix_fadvise.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
posix_fallocate.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
posix_openpt.2 posix_openpt.2: Sort includes per style(9) 2016-09-21 17:51:27 +00:00
ppoll.c Make wait6(2), waitid(3) and ppoll(2) cancellation points. The 2015-04-18 21:35:41 +00:00
procctl.2 More trap_enotcap spelling fixes. 2017-03-16 13:19:38 +00:00
profil.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
pselect.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
pselect.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
ptrace.2 ptrace(2): clean up trailing whitespace 2017-05-23 07:45:29 +00:00
ptrace.c Rewrite ptrace(2) wrappers in C. 2016-08-29 18:47:51 +00:00
quotactl.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
rctl_add_rule.2 rctl_add_rule(2): fix manlint warnings 2017-05-23 07:32:57 +00:00
read.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
read.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
readlink.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
readv.c Add missing includes to eliminate -Wmissing-prototypes warnings 2015-09-20 03:45:57 +00:00
reboot.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
recv.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
recvfrom.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
recvmsg.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
rename.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
revoke.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
rfork.2
rmdir.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
rtprio.2 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
sched_get_priority_max.2
sched_setparam.2
sched_setscheduler.2 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
sched_yield.2
sctp_generic_recvmsg.2
sctp_generic_sendmsg.2
sctp_peeloff.2
select.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
select.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
semctl.2
semget.2 semget(2): Add missing [EINVAL] conditions. 2016-02-07 21:25:08 +00:00
semop.2
send.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sendfile.2 Add flag SF_USER_READAHEAD to sendfile(2). When specified, the syscall won't 2016-11-17 21:36:18 +00:00
sendmsg.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
sendto.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
setcontext.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
setfib.2
setgroups.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
setpgid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
setregid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
setresuid.2 Remove useless comment. 2015-02-07 13:11:45 +00:00
setreuid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
setsid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
setuid.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
shm_open.2 Mention sendfile(2) by popular demand. 2017-01-20 17:29:59 +00:00
shmat.2
shmctl.2 Change the default setting of kern.ipc.shm_allow_removed from 0 to 1. 2015-10-10 09:29:47 +00:00
shmget.2
shutdown.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigaction.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigaction.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
sigaltstack.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigpending.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigprocmask.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigprocmask.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
sigqueue.2 Provide a freebsd32 implementation of sigqueue() 2017-05-05 18:49:39 +00:00
sigreturn.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigstack.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigsuspend.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sigsuspend.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
sigtimedwait.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
sigwait.2 Update some signal man pages for multithreading. 2013-09-06 09:08:40 +00:00
sigwait.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
sigwaitinfo.2 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
sigwaitinfo.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
socket.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
socketpair.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
stat.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
stat.c Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
statfs.2 Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
swapcontext.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
swapon.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
Symbol.map Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
symlink.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sync.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
sysarch.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
syscall.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
thr_exit.2 thr_*(2): Add xrefs to what libthr implements using each syscall. 2016-06-01 21:58:13 +00:00
thr_kill.2 thr_*(2): Add xrefs to what libthr implements using each syscall. 2016-06-01 21:58:13 +00:00
thr_new.2 Improve errno documentation in pthread_create(3) and thr_new(2) 2016-06-03 14:30:32 +00:00
thr_self.2 thr_*(2): Add xrefs to what libthr implements using each syscall. 2016-06-01 21:58:13 +00:00
thr_set_name.2 thr_set_name(): silently truncate the given name as needed 2016-12-03 01:14:21 +00:00
thr_suspend.2 Reword the statement. 2016-09-30 16:02:25 +00:00
thr_wake.2 Document thr_suspend(2) and thr_wake(2). 2016-09-26 08:18:34 +00:00
timer_create.2 Add documentation for the sigevent structure. 2016-07-15 15:12:56 +00:00
timer_delete.2
timer_settime.2
trivial-vdso_tc.c Implement userspace gettimeofday(2) with HPET timecounter. 2016-08-17 09:52:09 +00:00
truncate.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
umask.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
undelete.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
unlink.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
utimensat.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
utimensat.c Update futimens/utimensat for MFC to stable/10: 2016-01-12 20:53:57 +00:00
utimes.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
utrace.2 mdoc: sort Xr 2016-01-18 20:21:38 +00:00
uuidgen.2
vfork.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
wait4.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
wait6.c Make wait6(2), waitid(3) and ppoll(2) cancellation points. The 2015-04-18 21:35:41 +00:00
wait.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
write.2 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
write.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
writev.c Add missing includes to eliminate -Wmissing-prototypes warnings 2015-09-20 03:45:57 +00:00