minix/include
Cristiano Giuffrida 48c6bb79f4 Driver refactory for live update and crash recovery.
SYSLIB CHANGES:
- DS calls to publish / retrieve labels consider endpoints instead of u32_t.

VFS CHANGES:
- mapdriver() only adds an entry in the dmap table in VFS.
- dev_up() is only executed upon reception of a driver up event.

INET CHANGES:
- INET no longer searches for existing drivers instances at startup.
- A newtwork driver is (re)initialized upon reception of a driver up event.
- Networking startup is now race-free by design. No need to waste 5 seconds
at startup any more.

DRIVER CHANGES:
- Every driver publishes driver up events when starting for the first time or
in case of restart when recovery actions must be taken in the upper layers.
- Driver up events are published by drivers through DS. 
- For regular drivers, VFS is normally the only subscriber, but not necessarily.
For instance, when the filter driver is in use, it must subscribe to driver
up events to initiate recovery.
- For network drivers, inet is the only subscriber for now.
- Every VFS driver is statically linked with libdriver, every network driver
is statically linked with libnetdriver.

DRIVER LIBRARIES CHANGES:
- Libdriver is extended to provide generic receive() and ds_publish() interfaces
for VFS drivers.
- driver_receive() is a wrapper for sef_receive() also used in driver_task()
to discard spurious messages that were meant to be delivered to a previous
version of the driver.
- driver_receive_mq() is the same as driver_receive() but integrates support
for queued messages.
- driver_announce() publishes a driver up event for VFS drivers and marks
the driver as initialized and expecting a DEV_OPEN message.
- Libnetdriver is introduced to provide similar receive() and ds_publish()
interfaces for network drivers (netdriver_announce() and netdriver_receive()).
- Network drivers all support live update with no state transfer now.

KERNEL CHANGES:
- Added kernel call statectl for state management. Used by driver_announce() to
unblock eventual callers sendrecing to the driver.
2010-04-08 13:41:35 +00:00
..
arch atomicity fix when enabling paging 2010-03-22 07:42:52 +00:00
arpa create the getaddrinfo and getnameinfo library functions and friends 2010-01-21 06:38:17 +00:00
minix Driver refactory for live update and crash recovery. 2010-04-08 13:41:35 +00:00
net IPv6 address family and protocol familyconstants 2010-01-22 10:45:43 +00:00
netinet typo 2010-01-25 21:06:07 +00:00
sys Suppressed some warnings in the WIFSIGNALED macro. 2010-03-15 18:33:29 +00:00
a.out.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
alloca.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
ansi.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
ar.h Import NetBSD's make 2010-02-04 16:52:54 +00:00
assert.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
configfile.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
ctype.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
curses.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
dirent.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
env.h . made memory parsing function into a library call 2007-02-16 15:54:28 +00:00
err.h Add getopt_long library function 2010-01-25 18:11:21 +00:00
errno.h New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
fcntl.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
fenv.h Floating point support functions 2009-12-24 20:22:41 +00:00
float.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
fnmatch.h - new pread(), fnmatch() calls 2010-02-25 17:08:08 +00:00
fts.h Some misc portability-enhancing definitions. 2006-01-20 13:42:29 +00:00
getopt.h Add getopt_long library function 2010-01-25 18:11:21 +00:00
glob.h A glob() implementation. 2008-04-08 13:14:33 +00:00
grp.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
ifaddrs.h . getifaddrs() and data 2006-04-03 15:06:31 +00:00
inttypes.h Additions to inttypes.h format strings 2010-01-25 18:16:25 +00:00
lib.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
libgen.h Add dirname function, forgot to commit header before 2010-01-25 18:17:57 +00:00
libutil.h Header file for new -lutil (naming from freebsd) 2005-07-19 16:01:20 +00:00
limits.h Implementations of readv and writev 2010-01-08 13:40:34 +00:00
locale.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
Makefile Driver refactory for live update and crash recovery. 2010-04-08 13:41:35 +00:00
math.h Add a set of declarations to math.h. Since we don't actually have 2010-03-09 22:05:20 +00:00
mathconst.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
midiparser.h support for OSS. 2009-10-01 16:36:14 +00:00
netdb.h Improved compatibility with other Unix systems. 2005-06-10 15:12:03 +00:00
pwd.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
regex.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
regexp.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
setjmp.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
sgtty.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
signal.h Move kernel signal SIGKNDELAY to system signal SIGSNDELAY and fix broken ptrace. 2010-03-31 08:55:12 +00:00
stdarg.h cdecl calling convention requires to push arguments on the stack in a 2010-03-30 09:36:46 +00:00
stddef.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
stdint.h Additions to inttypes.h format strings 2010-01-25 18:16:25 +00:00
stdio.h Use _POSIX_SOURCE rather than _MINIX to protect popen, pclose and snprintf 2010-01-18 18:06:43 +00:00
stdlib.h Implementation of strto(u)ll, documentation and tests for strto(u)l(l) 2009-12-09 19:01:38 +00:00
string.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
strings.h Fix compiler warnings for pax 2006-03-24 14:03:25 +00:00
sysexits.h . getifaddrs() and data 2006-04-03 15:06:31 +00:00
syslog.h - VM_KERN_NOPAGEZERO feature is gone 2009-09-21 14:23:10 +00:00
tar.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
termcap.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
termios.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
time.h Add prototypes for a bunch of time-related functions. Surprisingly, 2010-03-09 22:10:58 +00:00
timers.h Changes to the include files in order to make cross-compilation possible. 2009-11-06 08:46:22 +00:00
tools.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
ttyent.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
ucontext.h - Add support for the ucontext system calls (getcontext, setcontext, 2010-03-12 15:58:41 +00:00
unistd.h More const correctness. 2010-03-23 14:25:09 +00:00
utime.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00
utmp.h Removal of the executable flag from files that cannot be executed 2009-11-09 10:26:00 +00:00