1/* $NetBSD: rumpdefs.h,v 1.38 2018/08/21 11:47:37 christos Exp $ */
2
3/*
4 * AUTOMATICALLY GENERATED. DO NOT EDIT.
5 */
6
7#ifndef _RUMP_RUMPDEFS_H_
8#define _RUMP_RUMPDEFS_H_
9
10#include <rump/rump_namei.h>
11
12/* NetBSD: fcntl.h,v 1.50 2018/02/20 18:20:05 kamil Exp */
13#define RUMP_O_RDONLY 0x00000000 /* open for reading only */
14#define RUMP_O_WRONLY 0x00000001 /* open for writing only */
15#define RUMP_O_RDWR 0x00000002 /* open for reading and writing */
16#define RUMP_O_ACCMODE 0x00000003 /* mask for above modes */
17#define RUMP_O_NONBLOCK 0x00000004 /* no delay */
18#define RUMP_O_APPEND 0x00000008 /* set append mode */
19#define RUMP_O_SHLOCK 0x00000010 /* open with shared file lock */
20#define RUMP_O_EXLOCK 0x00000020 /* open with exclusive file lock */
21#define RUMP_O_ASYNC 0x00000040 /* signal pgrp when data ready */
22#define RUMP_O_SYNC 0x00000080 /* synchronous writes */
23#define RUMP_O_NOFOLLOW 0x00000100 /* don't follow symlinks on the last */
24#define RUMP_O_CREAT 0x00000200 /* create if nonexistent */
25#define RUMP_O_TRUNC 0x00000400 /* truncate to zero length */
26#define RUMP_O_EXCL 0x00000800 /* error if already exists */
27#define RUMP_O_NOCTTY 0x00008000 /* don't assign controlling terminal */
28#define RUMP_O_DSYNC 0x00010000 /* write: I/O data completion */
29#define RUMP_O_RSYNC 0x00020000 /* read: I/O completion as for write */
30#define RUMP_O_DIRECT 0x00080000 /* direct I/O hint */
31#define RUMP_O_DIRECTORY 0x00200000 /* fail if not a directory */
32#define RUMP_O_CLOEXEC 0x00400000 /* set close on exec */
33#define RUMP_O_SEARCH 0x00800000 /* skip search permission checks */
34#define RUMP_O_NOSIGPIPE 0x01000000 /* don't deliver sigpipe */
35#define RUMP_O_REGULAR 0x02000000 /* fail if not a regular file */
36#define RUMP_F_WAIT 0x010 /* Wait until lock is granted */
37#define RUMP_F_FLOCK 0x020 /* Use flock(2) semantics for lock */
38#define RUMP_F_POSIX 0x040 /* Use POSIX semantics for lock */
39#define RUMP_F_PARAM_MASK 0xfff
40#define RUMP_F_PARAM_LEN(x) (((x) >> 16) & RUMP_F_PARAM_MASK)
41#define RUMP_F_FSCTL (int)0x80000000 /* This fcntl goes to the fs */
42#define RUMP_F_FSVOID (int)0x40000000 /* no parameters */
43#define RUMP_F_FSOUT (int)0x20000000 /* copy out parameter */
44#define RUMP_F_FSIN (int)0x10000000 /* copy in parameter */
45#define RUMP_F_FSINOUT (RUMP_F_FSIN | RUMP_F_FSOUT)
46#define RUMP_F_FSDIRMASK (int)0x70000000 /* mask for IN/OUT/VOID */
47#define RUMP_F_FSPRIV (int)0x00008000 /* command is fs-specific */
48#define RUMP__FCN(inout, num, len) \
49 (RUMP_F_FSCTL | inout | ((len & RUMP_F_PARAM_MASK) << 16) | (num))
50#define RUMP__FCNO(c) RUMP__FCN(RUMP_F_FSVOID, (c), 0)
51#define RUMP__FCNR(c, t) RUMP__FCN(RUMP_F_FSIN, (c), (int)sizeof(t))
52#define RUMP__FCNW(c, t) RUMP__FCN(RUMP_F_FSOUT, (c), (int)sizeof(t))
53#define RUMP__FCNRW(c, t) RUMP__FCN(RUMP_F_FSINOUT, (c), (int)sizeof(t))
54#define RUMP__FCN_FSPRIV(inout, fs, num, len) \
55 (RUMP_F_FSCTL | RUMP_F_FSPRIV | inout | ((len & RUMP_F_PARAM_MASK) << 16) | \
56 (fs) << 8 | (num))
57#define RUMP__FCNO_FSPRIV(f, c) RUMP__FCN_FSPRIV(RUMP_F_FSVOID, (f), (c), 0)
58#define RUMP__FCNR_FSPRIV(f, c, t) RUMP__FCN_FSPRIV(RUMP_F_FSIN, (f), (c), (int)sizeof(t))
59#define RUMP__FCNW_FSPRIV(f, c, t) RUMP__FCN_FSPRIV(RUMP_F_FSOUT, (f), (c), (int)sizeof(t))
60#define RUMP__FCNRW_FSPRIV(f, c, t) RUMP__FCN_FSPRIV(RUMP_F_FSINOUT, (f), (c), (int)sizeof(t))
61
62/* NetBSD: vnode.h,v 1.280 2018/04/19 21:19:07 christos Exp */
63enum rump_vtype { RUMP_VNON, RUMP_VREG, RUMP_VDIR, RUMP_VBLK, RUMP_VCHR, RUMP_VLNK, RUMP_VSOCK, RUMP_VFIFO, RUMP_VBAD };
64#define RUMP_LK_SHARED 0x00000001
65#define RUMP_LK_EXCLUSIVE 0x00000002
66#define RUMP_LK_NOWAIT 0x00000010
67#define RUMP_LK_RETRY 0x00020000
68
69/* NetBSD: errno.h,v 1.40 2013/01/02 18:51:53 dsl Exp */
70#define RUMP_EPERM 1 /* Operation not permitted */
71#define RUMP_ENOENT 2 /* No such file or directory */
72#define RUMP_ESRCH 3 /* No such process */
73#define RUMP_EINTR 4 /* Interrupted system call */
74#define RUMP_EIO 5 /* Input/output error */
75#define RUMP_ENXIO 6 /* Device not configured */
76#define RUMP_E2BIG 7 /* Argument list too long */
77#define RUMP_ENOEXEC 8 /* Exec format error */
78#define RUMP_EBADF 9 /* Bad file descriptor */
79#define RUMP_ECHILD 10 /* No child processes */
80#define RUMP_EDEADLK 11 /* Resource deadlock avoided */
81#define RUMP_ENOMEM 12 /* Cannot allocate memory */
82#define RUMP_EACCES 13 /* Permission denied */
83#define RUMP_EFAULT 14 /* Bad address */
84#define RUMP_ENOTBLK 15 /* Block device required */
85#define RUMP_EBUSY 16 /* Device busy */
86#define RUMP_EEXIST 17 /* File exists */
87#define RUMP_EXDEV 18 /* Cross-device link */
88#define RUMP_ENODEV 19 /* Operation not supported by device */
89#define RUMP_ENOTDIR 20 /* Not a directory */
90#define RUMP_EISDIR 21 /* Is a directory */
91#define RUMP_EINVAL 22 /* Invalid argument */
92#define RUMP_ENFILE 23 /* Too many open files in system */
93#define RUMP_EMFILE 24 /* Too many open files */
94#define RUMP_ENOTTY 25 /* Inappropriate ioctl for device */
95#define RUMP_ETXTBSY 26 /* Text file busy */
96#define RUMP_EFBIG 27 /* File too large */
97#define RUMP_ENOSPC 28 /* No space left on device */
98#define RUMP_ESPIPE 29 /* Illegal seek */
99#define RUMP_EROFS 30 /* Read-only file system */
100#define RUMP_EMLINK 31 /* Too many links */
101#define RUMP_EPIPE 32 /* Broken pipe */
102#define RUMP_EDOM 33 /* Numerical argument out of domain */
103#define RUMP_ERANGE 34 /* Result too large or too small */
104#define RUMP_EAGAIN 35 /* Resource temporarily unavailable */
105#define RUMP_EWOULDBLOCK RUMP_EAGAIN /* Operation would block */
106#define RUMP_EINPROGRESS 36 /* Operation now in progress */
107#define RUMP_EALREADY 37 /* Operation already in progress */
108#define RUMP_ENOTSOCK 38 /* Socket operation on non-socket */
109#define RUMP_EDESTADDRREQ 39 /* Destination address required */
110#define RUMP_EMSGSIZE 40 /* Message too long */
111#define RUMP_EPROTOTYPE 41 /* Protocol wrong type for socket */
112#define RUMP_ENOPROTOOPT 42 /* Protocol option not available */
113#define RUMP_EPROTONOSUPPORT 43 /* Protocol not supported */
114#define RUMP_ESOCKTNOSUPPORT 44 /* Socket type not supported */
115#define RUMP_EOPNOTSUPP 45 /* Operation not supported */
116#define RUMP_EPFNOSUPPORT 46 /* Protocol family not supported */
117#define RUMP_EAFNOSUPPORT 47 /* Address family not supported by protocol family */
118#define RUMP_EADDRINUSE 48 /* Address already in use */
119#define RUMP_EADDRNOTAVAIL 49 /* Can't assign requested address */
120#define RUMP_ENETDOWN 50 /* Network is down */
121#define RUMP_ENETUNREACH 51 /* Network is unreachable */
122#define RUMP_ENETRESET 52 /* Network dropped connection on reset */
123#define RUMP_ECONNABORTED 53 /* Software caused connection abort */
124#define RUMP_ECONNRESET 54 /* Connection reset by peer */
125#define RUMP_ENOBUFS 55 /* No buffer space available */
126#define RUMP_EISCONN 56 /* Socket is already connected */
127#define RUMP_ENOTCONN 57 /* Socket is not connected */
128#define RUMP_ESHUTDOWN 58 /* Can't send after socket shutdown */
129#define RUMP_ETOOMANYREFS 59 /* Too many references: can't splice */
130#define RUMP_ETIMEDOUT 60 /* Operation timed out */
131#define RUMP_ECONNREFUSED 61 /* Connection refused */
132#define RUMP_ELOOP 62 /* Too many levels of symbolic links */
133#define RUMP_ENAMETOOLONG 63 /* File name too long */
134#define RUMP_EHOSTDOWN 64 /* Host is down */
135#define RUMP_EHOSTUNREACH 65 /* No route to host */
136#define RUMP_ENOTEMPTY 66 /* Directory not empty */
137#define RUMP_EPROCLIM 67 /* Too many processes */
138#define RUMP_EUSERS 68 /* Too many users */
139#define RUMP_EDQUOT 69 /* Disc quota exceeded */
140#define RUMP_ESTALE 70 /* Stale NFS file handle */
141#define RUMP_EREMOTE 71 /* Too many levels of remote in path */
142#define RUMP_EBADRPC 72 /* RPC struct is bad */
143#define RUMP_ERPCMISMATCH 73 /* RPC version wrong */
144#define RUMP_EPROGUNAVAIL 74 /* RPC prog. not avail */
145#define RUMP_EPROGMISMATCH 75 /* Program version wrong */
146#define RUMP_EPROCUNAVAIL 76 /* Bad procedure for program */
147#define RUMP_ENOLCK 77 /* No locks available */
148#define RUMP_ENOSYS 78 /* Function not implemented */
149#define RUMP_EFTYPE 79 /* Inappropriate file type or format */
150#define RUMP_EAUTH 80 /* Authentication error */
151#define RUMP_ENEEDAUTH 81 /* Need authenticator */
152#define RUMP_EIDRM 82 /* Identifier removed */
153#define RUMP_ENOMSG 83 /* No message of desired type */
154#define RUMP_EOVERFLOW 84 /* Value too large to be stored in data type */
155#define RUMP_EILSEQ 85 /* Illegal byte sequence */
156#define RUMP_ENOTSUP 86 /* Not supported */
157#define RUMP_ECANCELED 87 /* Operation canceled */
158#define RUMP_EBADMSG 88 /* Bad or Corrupt message */
159#define RUMP_ENODATA 89 /* No message available */
160#define RUMP_ENOSR 90 /* No STREAM resources */
161#define RUMP_ENOSTR 91 /* Not a STREAM */
162#define RUMP_ETIME 92 /* STREAM ioctl timeout */
163#define RUMP_ENOATTR 93 /* Attribute not found */
164#define RUMP_EMULTIHOP 94 /* Multihop attempted */
165#define RUMP_ENOLINK 95 /* Link has been severed */
166#define RUMP_EPROTO 96 /* Protocol error */
167#define RUMP_ELAST 96 /* Must equal largest errno */
168#define RUMP_EJUSTRETURN -2 /* don't modify regs, just return */
169#define RUMP_ERESTART -3 /* restart syscall */
170#define RUMP_EPASSTHROUGH -4 /* ioctl not handled by this layer */
171#define RUMP_EDUPFD -5 /* Dup given fd */
172#define RUMP_EMOVEFD -6 /* Move given fd */
173
174/* NetBSD: reboot.h,v 1.25 2007/12/25 18:33:48 perry Exp */
175#define RUMP_RB_AUTOBOOT 0
176#define RUMP_RB_ASKNAME 0x00000001
177#define RUMP_RB_SINGLE 0x00000002
178#define RUMP_RB_NOSYNC 0x00000004
179#define RUMP_RB_HALT 0x00000008
180#define RUMP_RB_INITNAME 0x00000010
181#define __RUMP_RB_UNUSED1 0x00000020
182#define RUMP_RB_KDB 0x00000040
183#define RUMP_RB_RDONLY 0x00000080
184#define RUMP_RB_DUMP 0x00000100
185#define RUMP_RB_MINIROOT 0x00000200
186#define RUMP_RB_STRING 0x00000400
187#define RUMP_RB_POWERDOWN (RUMP_RB_HALT|0x800)
188#define RUMP_RB_USERCONF 0x00001000
189#define RUMP_RB_MD1 0x10000000
190#define RUMP_RB_MD2 0x20000000
191#define RUMP_RB_MD3 0x40000000
192#define RUMP_RB_MD4 0x80000000
193#define RUMP_AB_NORMAL 0x00000000
194#define RUMP_AB_QUIET 0x00010000
195#define RUMP_AB_VERBOSE 0x00020000
196#define RUMP_AB_SILENT 0x00040000
197#define RUMP_AB_DEBUG 0x00080000
198
199/* NetBSD: socket.h,v 1.126 2018/07/31 13:20:34 rjs Exp */
200#define RUMP_SOCK_STREAM 1
201#define RUMP_SOCK_DGRAM 2
202#define RUMP_SOCK_RAW 3
203#define RUMP_SOCK_RDM 4
204#define RUMP_SOCK_SEQPACKET 5
205#define RUMP_SOCK_CONN_DGRAM 6
206#define RUMP_SOCK_DCCP RUMP_SOCK_CONN_DGRAM
207#define RUMP_SOCK_CLOEXEC 0x10000000
208#define RUMP_SOCK_NONBLOCK 0x20000000
209#define RUMP_SOCK_NOSIGPIPE 0x40000000
210#define RUMP_SOCK_FLAGS_MASK 0xf0000000
211#define RUMP_AF_UNSPEC 0
212#define RUMP_AF_LOCAL 1
213#define RUMP_AF_UNIX RUMP_AF_LOCAL
214#define RUMP_AF_INET 2
215#define RUMP_AF_IMPLINK 3
216#define RUMP_AF_PUP 4
217#define RUMP_AF_CHAOS 5
218#define RUMP_AF_NS 6
219#define RUMP_AF_ISO 7
220#define RUMP_AF_OSI RUMP_AF_ISO
221#define RUMP_AF_ECMA 8
222#define RUMP_AF_DATAKIT 9
223#define RUMP_AF_CCITT 10
224#define RUMP_AF_SNA 11
225#define RUMP_AF_DECnet 12
226#define RUMP_AF_DLI 13
227#define RUMP_AF_LAT 14
228#define RUMP_AF_HYLINK 15
229#define RUMP_AF_APPLETALK 16
230#define RUMP_AF_OROUTE 17
231#define RUMP_AF_LINK 18
232#define RUMP_AF_COIP 20
233#define RUMP_AF_CNT 21
234#define RUMP_AF_IPX 23
235#define RUMP_AF_INET6 24
236#define RUMP_AF_ISDN 26
237#define RUMP_AF_E164 RUMP_AF_ISDN
238#define RUMP_AF_NATM 27
239#define RUMP_AF_ARP 28
240#define RUMP_AF_BLUETOOTH 31
241#define RUMP_AF_IEEE80211 32
242#define RUMP_AF_MPLS 33
243#define RUMP_AF_ROUTE 34
244#define RUMP_AF_CAN 35
245#define RUMP_AF_ETHER 36
246#define RUMP_AF_MAX 37
247#define RUMP_PF_UNSPEC RUMP_AF_UNSPEC
248#define RUMP_PF_LOCAL RUMP_AF_LOCAL
249#define RUMP_PF_UNIX RUMP_PF_LOCAL
250#define RUMP_PF_INET RUMP_AF_INET
251#define RUMP_PF_IMPLINK RUMP_AF_IMPLINK
252#define RUMP_PF_PUP RUMP_AF_PUP
253#define RUMP_PF_CHAOS RUMP_AF_CHAOS
254#define RUMP_PF_NS RUMP_AF_NS
255#define RUMP_PF_ISO RUMP_AF_ISO
256#define RUMP_PF_OSI RUMP_AF_ISO
257#define RUMP_PF_ECMA RUMP_AF_ECMA
258#define RUMP_PF_DATAKIT RUMP_AF_DATAKIT
259#define RUMP_PF_CCITT RUMP_AF_CCITT
260#define RUMP_PF_SNA RUMP_AF_SNA
261#define RUMP_PF_DECnet RUMP_AF_DECnet
262#define RUMP_PF_DLI RUMP_AF_DLI
263#define RUMP_PF_LAT RUMP_AF_LAT
264#define RUMP_PF_HYLINK RUMP_AF_HYLINK
265#define RUMP_PF_APPLETALK RUMP_AF_APPLETALK
266#define RUMP_PF_OROUTE RUMP_AF_OROUTE
267#define RUMP_PF_LINK RUMP_AF_LINK
268#define RUMP_PF_XTP pseudo_RUMP_AF_XTP
269#define RUMP_PF_COIP RUMP_AF_COIP
270#define RUMP_PF_CNT RUMP_AF_CNT
271#define RUMP_PF_INET6 RUMP_AF_INET6
272#define RUMP_PF_IPX RUMP_AF_IPX
273#define RUMP_PF_RTIP pseudo_RUMP_AF_RTIP
274#define RUMP_PF_PIP pseudo_RUMP_AF_PIP
275#define RUMP_PF_ISDN RUMP_AF_ISDN
276#define RUMP_PF_E164 RUMP_AF_E164
277#define RUMP_PF_NATM RUMP_AF_NATM
278#define RUMP_PF_ARP RUMP_AF_ARP
279#define RUMP_PF_KEY pseudo_RUMP_AF_KEY
280#define RUMP_PF_BLUETOOTH RUMP_AF_BLUETOOTH
281#define RUMP_PF_MPLS RUMP_AF_MPLS
282#define RUMP_PF_ROUTE RUMP_AF_ROUTE
283#define RUMP_PF_CAN RUMP_AF_CAN
284#define RUMP_PF_ETHER RUMP_AF_ETHER
285#define RUMP_PF_MAX RUMP_AF_MAX
286#define RUMP_SO_DEBUG 0x0001
287#define RUMP_SO_ACCEPTCONN 0x0002
288#define RUMP_SO_REUSEADDR 0x0004
289#define RUMP_SO_KEEPALIVE 0x0008
290#define RUMP_SO_DONTROUTE 0x0010
291#define RUMP_SO_BROADCAST 0x0020
292#define RUMP_SO_USELOOPBACK 0x0040
293#define RUMP_SO_LINGER 0x0080
294#define RUMP_SO_OOBINLINE 0x0100
295#define RUMP_SO_REUSEPORT 0x0200
296#define RUMP_SO_NOSIGPIPE 0x0800
297#define RUMP_SO_ACCEPTFILTER 0x1000
298#define RUMP_SO_TIMESTAMP 0x2000
299#define RUMP_SO_SNDBUF 0x1001
300#define RUMP_SO_RCVBUF 0x1002
301#define RUMP_SO_SNDLOWAT 0x1003
302#define RUMP_SO_RCVLOWAT 0x1004
303#define RUMP_SO_ERROR 0x1007
304#define RUMP_SO_TYPE 0x1008
305#define RUMP_SO_OVERFLOWED 0x1009
306#define RUMP_SO_NOHEADER 0x100a
307#define RUMP_SO_SNDTIMEO 0x100b
308#define RUMP_SO_RCVTIMEO 0x100c
309#define RUMP_SOL_SOCKET 0xffff
310#define RUMP_MSG_OOB 0x0001
311#define RUMP_MSG_PEEK 0x0002
312#define RUMP_MSG_DONTROUTE 0x0004
313#define RUMP_MSG_EOR 0x0008
314#define RUMP_MSG_TRUNC 0x0010
315#define RUMP_MSG_CTRUNC 0x0020
316#define RUMP_MSG_WAITALL 0x0040
317#define RUMP_MSG_DONTWAIT 0x0080
318#define RUMP_MSG_BCAST 0x0100
319#define RUMP_MSG_MCAST 0x0200
320#define RUMP_MSG_NOSIGNAL 0x0400
321#define RUMP_MSG_CRUMP_MSG_CLOEXEC 0x0800
322#define RUMP_MSG_NBIO 0x1000
323#define RUMP_MSG_WAITFORONE 0x2000
324#define RUMP_MSG_NOTIFICATION 0x4000
325#define RUMP_MSG_USERFLAGS 0x0ffffff
326#define RUMP_MSG_NAMEMBUF 0x1000000
327#define RUMP_MSG_CONTROLMBUF 0x2000000
328#define RUMP_MSG_IOVUSRSPACE 0x4000000
329#define RUMP_MSG_LENUSRSPACE 0x8000000
330
331/* NetBSD: in.h,v 1.106 2018/07/11 05:25:45 maxv Exp */
332#define RUMP_IP_OPTIONS 1
333#define RUMP_IP_HDRINCL 2
334#define RUMP_IP_TOS 3
335#define RUMP_IP_TTL 4
336#define RUMP_IP_RECVOPTS 5
337#define RUMP_IP_RECVRETOPTS 6
338#define RUMP_IP_RECVDSTADDR 7
339#define RUMP_IP_RETOPTS 8
340#define RUMP_IP_MULTICAST_IF 9
341#define RUMP_IP_MULTICAST_TTL 10
342#define RUMP_IP_MULTICAST_LOOP 11
343#define RUMP_IP_ADD_MEMBERSHIP 12
344#define RUMP_IP_DROP_MEMBERSHIP 13
345#define RUMP_IP_PORTALGO 18
346#define RUMP_IP_PORTRANGE 19
347#define RUMP_IP_RECVIF 20
348#define RUMP_IP_ERRORMTU 21
349#define RUMP_IP_IPSEC_POLICY 22
350#define RUMP_IP_RECVTTL 23
351#define RUMP_IP_MINTTL 24
352#define RUMP_IP_PKTINFO 25
353#define RUMP_IP_RECVPKTINFO 26
354#define RUMP_IP_SENDSRCADDR RUMP_IP_RECVDSTADDR
355#define RUMP_IP_DEFAULT_MULTICAST_TTL 1
356#define RUMP_IP_DEFAULT_MULTICAST_LOOP 1
357#define RUMP_IP_MAX_MEMBERSHIPS 20
358#define RUMP_IP_PORTRANGE_DEFAULT 0
359#define RUMP_IP_PORTRANGE_HIGH 1
360#define RUMP_IP_PORTRANGE_LOW 2
361#define RUMP_IPPROTO_IP 0
362#define RUMP_IPPROTO_HOPOPTS 0
363#define RUMP_IPPROTO_ICMP 1
364#define RUMP_IPPROTO_IGMP 2
365#define RUMP_IPPROTO_GGP 3
366#define RUMP_IPPROTO_IPV4 4
367#define RUMP_IPPROTO_IPIP 4
368#define RUMP_IPPROTO_TCP 6
369#define RUMP_IPPROTO_EGP 8
370#define RUMP_IPPROTO_PUP 12
371#define RUMP_IPPROTO_UDP 17
372#define RUMP_IPPROTO_IDP 22
373#define RUMP_IPPROTO_TP 29
374#define RUMP_IPPROTO_DCCP 33
375#define RUMP_IPPROTO_IPV6 41
376#define RUMP_IPPROTO_ROUTING 43
377#define RUMP_IPPROTO_FRAGMENT 44
378#define RUMP_IPPROTO_RSVP 46
379#define RUMP_IPPROTO_GRE 47
380#define RUMP_IPPROTO_ESP 50
381#define RUMP_IPPROTO_AH 51
382#define RUMP_IPPROTO_MOBILE 55
383#define RUMP_IPPROTO_IPV6_ICMP 58
384#define RUMP_IPPROTO_ICMPV6 58
385#define RUMP_IPPROTO_NONE 59
386#define RUMP_IPPROTO_DSTOPTS 60
387#define RUMP_IPPROTO_EON 80
388#define RUMP_IPPROTO_ETHERIP 97
389#define RUMP_IPPROTO_ENCAP 98
390#define RUMP_IPPROTO_PIM 103
391#define RUMP_IPPROTO_IPCOMP 108
392#define RUMP_IPPROTO_VRRP 112
393#define RUMP_IPPROTO_CARP 112
394#define RUMP_IPPROTO_L2TP 115
395#define RUMP_IPPROTO_SCTP 132
396#define RUMP_IPPROTO_PFSYNC 240
397#define RUMP_IPPROTO_RAW 255
398#define RUMP_IPPROTO_MAX 256
399#define RUMP_IPPROTO_DONE 257
400#define RUMP_IPPROTO_MAXID (RUMP_IPPROTO_AH + 1)
401
402/* NetBSD: tcp.h,v 1.33 2017/01/10 20:32:27 christos Exp */
403#define RUMP_TCP_MSS 536
404#define RUMP_TCP_MINMSS 216
405#define RUMP_TCP_MAXWIN 65535
406#define RUMP_TCP_MAX_WINSHIFT 14
407#define RUMP_TCP_MAXBURST 4
408#define RUMP_TCP_NODELAY 1
409#define RUMP_TCP_MAXSEG 2
410#define RUMP_TCP_KEEPIDLE 3
411#define RUMP_TCP_NOPUSH 4
412#define RUMP_TCP_KEEPINTVL 5
413#define RUMP_TCP_KEEPCNT 6
414#define RUMP_TCP_KEEPINIT 7
415#define RUMP_TCP_NOOPT 8
416#define RUMP_TCP_INFO 9
417#define RUMP_TCP_MD5SIG 0x10
418#define RUMP_TCP_CONGCTL 0x20
419
420/* NetBSD: mount.h,v 1.230 2018/01/09 03:31:13 christos Exp */
421#define RUMP_MOUNT_FFS "ffs"
422#define RUMP_MOUNT_UFS RUMP_MOUNT_FFS
423#define RUMP_MOUNT_NFS "nfs"
424#define RUMP_MOUNT_MFS "mfs"
425#define RUMP_MOUNT_MSDOS "msdos"
426#define RUMP_MOUNT_LFS "lfs"
427#define RUMP_MOUNT_FDESC "fdesc"
428#define RUMP_MOUNT_NULL "null"
429#define RUMP_MOUNT_OVERLAY "overlay"
430#define RUMP_MOUNT_UMAP "umap"
431#define RUMP_MOUNT_KERNFS "kernfs"
432#define RUMP_MOUNT_PROCFS "procfs"
433#define RUMP_MOUNT_AFS "afs"
434#define RUMP_MOUNT_CD9660 "cd9660"
435#define RUMP_MOUNT_UNION "union"
436#define RUMP_MOUNT_ADOSFS "adosfs"
437#define RUMP_MOUNT_EXT2FS "ext2fs"
438#define RUMP_MOUNT_CFS "coda"
439#define RUMP_MOUNT_CODA RUMP_MOUNT_CFS
440#define RUMP_MOUNT_FILECORE "filecore"
441#define RUMP_MOUNT_NTFS "ntfs"
442#define RUMP_MOUNT_SMBFS "smbfs"
443#define RUMP_MOUNT_PTYFS "ptyfs"
444#define RUMP_MOUNT_TMPFS "tmpfs"
445#define RUMP_MOUNT_UDF "udf"
446#define RUMP_MOUNT_SYSVBFS "sysvbfs"
447#define RUMP_MOUNT_PUFFS "puffs"
448#define RUMP_MOUNT_HFS "hfs"
449#define RUMP_MOUNT_EFS "efs"
450#define RUMP_MOUNT_ZFS "zfs"
451#define RUMP_MOUNT_NILFS "nilfs"
452#define RUMP_MOUNT_RUMPFS "rumpfs"
453#define RUMP_MOUNT_V7FS "v7fs"
454#define RUMP_MOUNT_AUTOFS "autofs"
455
456/* NetBSD: fstypes.h,v 1.36 2018/01/09 03:31:13 christos Exp */
457#define RUMP_MNT_RDONLY 0x00000001
458#define RUMP_MNT_SYNCHRONOUS 0x00000002
459#define RUMP_MNT_NOEXEC 0x00000004
460#define RUMP_MNT_NOSUID 0x00000008
461#define RUMP_MNT_NODEV 0x00000010
462#define RUMP_MNT_UNION 0x00000020
463#define RUMP_MNT_ASYNC 0x00000040
464#define RUMP_MNT_NOCOREDUMP 0x00008000
465#define RUMP_MNT_RELATIME 0x00020000
466#define RUMP_MNT_IGNORE 0x00100000
467#define RUMP_MNT_DISCARD 0x00800000
468#define RUMP_MNT_EXTATTR 0x01000000
469#define RUMP_MNT_LOG 0x02000000
470#define RUMP_MNT_NOATIME 0x04000000
471#define RUMP_MNT_AUTOMOUNTED 0x10000000
472#define RUMP_MNT_SYMPERM 0x20000000
473#define RUMP_MNT_NODEVMTIME 0x40000000
474#define RUMP_MNT_SOFTDEP 0x80000000
475#define RUMP_MNT_EXRDONLY 0x00000080
476#define RUMP_MNT_EXPORTED 0x00000100
477#define RUMP_MNT_DEFEXPORTED 0x00000200
478#define RUMP_MNT_EXPORTANON 0x00000400
479#define RUMP_MNT_EXKERB 0x00000800
480#define RUMP_MNT_EXNORESPORT 0x08000000
481#define RUMP_MNT_EXPUBLIC 0x10000000
482#define RUMP_MNT_LOCAL 0x00001000
483#define RUMP_MNT_QUOTA 0x00002000
484#define RUMP_MNT_ROOTFS 0x00004000
485#define RUMP_MNT_UPDATE 0x00010000
486#define RUMP_MNT_RELOAD 0x00040000
487#define RUMP_MNT_FORCE 0x00080000
488#define RUMP_MNT_GETARGS 0x00400000
489#define RUMP_MNT_OP_FLAGS (RUMP_MNT_UPDATE|RUMP_MNT_RELOAD|RUMP_MNT_FORCE|RUMP_MNT_GETARGS)
490#define RUMP_MNT_WAIT 1
491#define RUMP_MNT_NOWAIT 2
492#define RUMP_MNT_LAZY 3
493
494/* NetBSD: ioccom.h,v 1.12 2014/12/10 00:16:05 christos Exp */
495#define RUMP_IOCPARM_MASK 0x1fff
496#define RUMP_IOCPARM_SHIFT 16
497#define RUMP_IOCGROUP_SHIFT 8
498#define RUMP_IOCPARM_LEN(x) (((x) >> RUMP_IOCPARM_SHIFT) & RUMP_IOCPARM_MASK)
499#define RUMP_IOCBASECMD(x) ((x) & ~(RUMP_IOCPARM_MASK << RUMP_IOCPARM_SHIFT))
500#define RUMP_IOCGROUP(x) (((x) >> RUMP_IOCGROUP_SHIFT) & 0xff)
501#define RUMP_IOCPARM_MAX NBPG
502#define RUMP_IOC_VOID (unsigned long)0x20000000
503#define RUMP_IOC_OUT (unsigned long)0x40000000
504#define RUMP_IOC_IN (unsigned long)0x80000000
505#define RUMP_IOC_INOUT (RUMP_IOC_IN|RUMP_IOC_OUT)
506#define RUMP_IOC_DIRMASK (unsigned long)0xe0000000
507#define _RUMP_IOC(inout, group, num, len) \
508 ((inout) | (((len) & RUMP_IOCPARM_MASK) << RUMP_IOCPARM_SHIFT) | \
509 ((group) << RUMP_IOCGROUP_SHIFT) | (num))
510#define _RUMP_IO(g,n) _RUMP_IOC(RUMP_IOC_VOID, (g), (n), 0)
511#define _RUMP_IOR(g,n,t) _RUMP_IOC(RUMP_IOC_OUT, (g), (n), sizeof(t))
512#define _RUMP_IOW(g,n,t) _RUMP_IOC(RUMP_IOC_IN, (g), (n), sizeof(t))
513#define _RUMP_IOWR(g,n,t) _RUMP_IOC(RUMP_IOC_INOUT, (g), (n), sizeof(t))
514
515/* NetBSD: ktrace.h,v 1.66 2018/04/19 21:19:07 christos Exp */
516#define RUMP_KTROP_SET 0
517#define RUMP_KTROP_CLEAR 1
518#define RUMP_KTROP_CLEARFILE 2
519#define RUMP_KTROP_MASK 0x3
520#define RUMP_KTR_SHIMLEN offsetof(struct ktr_header, ktr_pid)
521#define RUMP_KTR_SYSCALL 1
522#define RUMP_KTR_SYSRET 2
523#define RUMP_KTR_NAMEI 3
524#define RUMP_KTR_GENIO 4
525#define RUMP_KTR_PSIG 5
526#define RUMP_KTR_CSW 6
527#define RUMP_KTR_EMUL 7
528#define RUMP_KTR_USER 8
529#define RUMP_KTR_USER_MAXIDLEN 20
530#define RUMP_KTR_USER_MAXLEN 2048
531#define RUMP_KTR_EXEC_ARG 10
532#define RUMP_KTR_EXEC_ENV 11
533#define RUMP_KTR_SAUPCALL 13
534#define RUMP_KTR_MIB 14
535#define RUMP_KTR_EXEC_FD 15
536#define RUMP_KTRFAC_MASK 0x00ffffff
537#define RUMP_KTRFAC_SYSCALL (1<<RUMP_KTR_SYSCALL)
538#define RUMP_KTRFAC_SYSRET (1<<RUMP_KTR_SYSRET)
539#define RUMP_KTRFAC_NAMEI (1<<RUMP_KTR_NAMEI)
540#define RUMP_KTRFAC_GENIO (1<<RUMP_KTR_GENIO)
541#define RUMP_KTRFAC_PSIG (1<<RUMP_KTR_PSIG)
542#define RUMP_KTRFAC_CSW (1<<RUMP_KTR_CSW)
543#define RUMP_KTRFAC_EMUL (1<<RUMP_KTR_EMUL)
544#define RUMP_KTRFAC_USER (1<<RUMP_KTR_USER)
545#define RUMP_KTRFAC_EXEC_ARG (1<<RUMP_KTR_EXEC_ARG)
546#define RUMP_KTRFAC_EXEC_ENV (1<<RUMP_KTR_EXEC_ENV)
547#define RUMP_KTRFAC_MIB (1<<RUMP_KTR_MIB)
548#define RUMP_KTRFAC_EXEC_FD (1<<RUMP_KTR_EXEC_FD)
549#define RUMP_KTRFAC_PERSISTENT 0x80000000
550#define RUMP_KTRFAC_INHERIT 0x40000000
551#define RUMP_KTRFAC_TRC_EMUL 0x10000000
552#define RUMP_KTRFAC_VER_MASK 0x0f000000
553#define RUMP_KTRFAC_VER_SHIFT 24
554#define RUMP_KTRFAC_VERSION(tf) (((tf) & RUMP_KTRFAC_VER_MASK) >> RUMP_KTRFAC_VER_SHIFT)
555#define RUMP_KTRFACv0 (0 << RUMP_KTRFAC_VER_SHIFT)
556#define RUMP_KTRFACv1 (1 << RUMP_KTRFAC_VER_SHIFT)
557#define RUMP_KTRFACv2 (2 << RUMP_KTRFAC_VER_SHIFT)
558
559/* NetBSD: module.h,v 1.42 2018/05/28 21:04:40 chs Exp */
560struct rump_modctl_load {
561 const char *ml_filename;
562
563 int ml_flags;
564
565 const char *ml_props;
566 size_t ml_propslen;
567};
568enum rump_modctl {
569 RUMP_MODCTL_LOAD, /* modctl_load_t *ml */
570 RUMP_MODCTL_UNLOAD, /* char *name */
571 RUMP_MODCTL_STAT, /* struct iovec *buffer */
572 RUMP_MODCTL_EXISTS /* enum: 0: load, 1: autoload */
573};
574
575/* NetBSD: ufsmount.h,v 1.43 2015/03/27 17:27:56 riastradh Exp */
576struct rump_ufs_args {
577 char *fspec; /* block special device to mount */
578};
579
580/* NetBSD: sysvbfs_args.h,v 1.1 2008/09/04 12:07:30 pooka Exp */
581struct rump_sysvbfs_args {
582 char *fspec; /* blocks special holding the fs to mount */
583};
584
585/* NetBSD: dirent.h,v 1.30 2016/01/22 23:31:30 dholland Exp */
586struct rump_dirent {
587 uint64_t d_fileno; /* file number of entry */
588 uint16_t d_reclen; /* length of this record */
589 uint16_t d_namlen; /* length of string in d_name */
590 uint8_t d_type; /* file type, see below */
591 char d_name[511 + 1]; /* name must be no longer than this */
592};
593
594#endif /* _RUMP_RUMPDEFS_H_ */
595