diff options
Diffstat (limited to 'hurd/pfinet.defs')
-rw-r--r-- | hurd/pfinet.defs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/hurd/pfinet.defs b/hurd/pfinet.defs new file mode 100644 index 00000000..abaf14d8 --- /dev/null +++ b/hurd/pfinet.defs @@ -0,0 +1,61 @@ +/* Definitions for pfinet-specific calls + Copyright (C) 1999 Free Software Foundation + +This file is part of the GNU Hurd. + +The GNU Hurd is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +The GNU Hurd is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with the GNU Hurd; see the file COPYING. If not, write to +the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + +subsystem pfinet 21000; + +#include <hurd/hurd_types.defs> + +#ifdef SOCKET_IMPORTS +SOCKET_IMPORTS +#endif + +INTR_INTERFACE + + +/* Register a new interface. This call is made on the main socket + rendezvous port (/servers/socket/pfinet). */ +routine pfinet_register_interface ( + server: pf_t; + name: string_t; + address: int; /* in net byte order */ + network: int; /* in net byte order */ + mask: int; /* in net byte order */ + broadcast: int; /* in net byte order */ + mac_hdr_len: int; + xmit: mach_port_send_t; + out recv: mach_port_send_t); + +/* Process an incoming packet. This is made on the RECVXMIT port returned + by a previous call to pfinet_register_interface. */ +simpleroutine pfinet_recv ( + rx: mach_port_t; + packet: data_t); + +/* Sent by pfinet TO an interface for each packet that needs to be sent. + The first mac_hdr_len bytes of the buffer are unfilled; the actual + IP packet begins that many bytes in. */ +simpleroutine pfinet_xmit ( + tx: mach_port_t; + is_broadcast: int; + packet: data_t); + + + + + |