Official MINIX sources - Automatically replicated from gerrit.minix3.org
Go to file
David van Moolenbroek 181fb1b2b5 RS: add infrastructure for mapping socket drivers
This patch introduces the first piece of support for the concept of
"socket drivers": services that implement one or more socket protocol
families.  The latter are also known as "domains", as per the first
parameter of the socket(2) API.  More specifically, this patch adds
the basic infrastructure for specifying that a particular service is
the socket driver for a set of domains.

Unlike major number mappings for block and character drivers, socket
domain mappings are static.  For that reason, they are specified in
system.conf files, using the "domain" keyword.  Such a keyword is to
be followed by one or more protocol families, without their "PF_"
prefix.  For example, a service with the line "domain INET INET6;"
will be mapped as the socket driver responsible for the AF_INET and
AF_INET6 protocol families.

This patch implements only the infrastructure for creating such
mappings; the actual mapping will be implemented in VFS in a later
patch.  The infrastructure is implemented in service(8), RS, and VFS.

For now there is a hardcoded limit of eight domains per socket driver.
This may sound like a lot, but the upcoming new LWIP service will
already use four of those.  Also, it is allowed for a service to be
both a block/character driver and a socket driver at the same time,
which is a requirement for the new LWIP service.

Change-Id: I93352d488fc6c481e7079248082895d388c39f2d
2017-03-09 23:39:49 +00:00
bin Import NetBSD ps(1) 2016-01-13 20:32:52 +01:00
common w(1): switch to libkvm 2016-01-13 20:32:50 +01:00
crypto etc: synchronize master.password, group to NetBSD 2017-02-18 21:37:24 +00:00
dist/pf/sbin/pfctl Import a subset of PF distribution files 2016-06-18 12:20:46 +00:00
distrib Import NetBSD getent(1) 2017-03-09 20:04:33 +01:00
docs Initial import of NetBSD rc system 2017-02-23 14:08:39 +00:00
etc etc: replace one more "service" with minix-service 2017-02-26 00:03:38 +00:00
external etc: synchronize master.password, group to NetBSD 2017-02-18 21:37:24 +00:00
games Fix ARM noassert builds -g/-O{s/0/1/2/3} 2016-01-24 18:56:38 +01:00
gnu Fix the process for GNU tools on MINIX 2016-11-30 08:42:36 +01:00
include Start using sysctl(3) throughout userland 2016-01-13 20:32:45 +01:00
lib introducing libacpi 2016-10-29 17:08:10 +02:00
libexec ld.elf_so: sysctl support uncommented 2016-01-16 14:04:24 +01:00
minix RS: add infrastructure for mapping socket drivers 2017-03-09 23:39:49 +00:00
releasetools fixed git checkout and updated latest known changeset working for grub 2016-10-18 14:22:28 +02:00
sbin Import NetBSD rcorder(8) 2017-02-22 17:17:28 +00:00
share share: also install other existing manpages 2017-02-23 14:09:01 +00:00
sys libc: remove MINIX3 restrictions from getnameinfo(3) 2016-10-24 12:11:07 +00:00
tests tests: add most kyua kernel tests 2016-01-16 14:04:25 +01:00
tools Improve the process for GNU tools 2016-09-01 21:16:13 +02:00
usr.bin Import NetBSD getent(1) 2017-03-09 20:04:33 +01:00
usr.sbin Import NetBSD service(8) 2017-02-23 14:08:56 +00:00
.gitignore Initial import of NetBSD rc system 2017-02-23 14:08:39 +00:00
.gitreview build:update 'git review' config to match gerrit.minix3.org 2014-07-28 17:05:15 +02:00
build.sh NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
LICENSE Fix parameter parsing in cut 2010-01-21 10:16:05 +00:00
Makefile NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
Makefile.inc Synchronize on NetBSD-CVS (2013/12/1 12:00:00 UTC) 2014-07-28 17:05:06 +02:00