xref: /openbsd/regress/sys/net/rtable/kern_compat.h (revision 6e05f03d)
1*6e05f03dSanton /*	$OpenBSD: kern_compat.h,v 1.16 2023/11/11 07:34:54 anton Exp $	*/
2996673c0Smpi 
3996673c0Smpi #ifndef _KERN_COMPAT_H_
4996673c0Smpi #define _KERN_COMPAT_H_
5996673c0Smpi 
6f5097eedSbluhm #define _KERNEL
7f5097eedSbluhm #include <sys/refcnt.h>
8f5097eedSbluhm #undef _KERNEL
9f5097eedSbluhm 
10996673c0Smpi #include <sys/socket.h>
11996673c0Smpi #include <sys/domain.h>
12996673c0Smpi #include <sys/queue.h>
13b2ef63beSmpi #include <sys/mutex.h>
142e154ce3Sclaudio #include <sys/rwlock.h>
15b2ef63beSmpi #include <sys/task.h>
1611a02c36Smpi #include <sys/select.h>
17996673c0Smpi #include <arpa/inet.h>
18996673c0Smpi 
19996673c0Smpi #include <assert.h>
20996673c0Smpi #include <err.h>
21996673c0Smpi #include <errno.h>
222e154ce3Sclaudio #include <limits.h>
23996673c0Smpi #include <stdbool.h>
24996673c0Smpi #include <stdio.h>
25996673c0Smpi #include <stdlib.h>
26996673c0Smpi #include <string.h>
27996673c0Smpi 
288ceda520Smpi #include "srp_compat.h"
298ceda520Smpi 
302e154ce3Sclaudio #define _KERNEL
31996673c0Smpi #define DIAGNOSTIC
32996673c0Smpi #define INET
33996673c0Smpi #define INET6
34996673c0Smpi 
35996673c0Smpi #define KASSERT(x)		assert(x)
36996673c0Smpi #define KERNEL_ASSERT_LOCKED()	/* nothing */
37c0e958b1Smpi #define KERNEL_LOCK()		/* nothing */
38c0e958b1Smpi #define KERNEL_UNLOCK()		/* nothing */
39996673c0Smpi 
40aa678fb1Sbluhm #define NET_ASSERT_UNLOCKED()		/* nothing */
41aa678fb1Sbluhm #define NET_ASSERT_LOCKED()		/* nothing */
42aa678fb1Sbluhm #define NET_ASSERT_LOCKED_EXCLUSIVE()	/* nothing */
43aa678fb1Sbluhm 
44996673c0Smpi #define panic(x...) errx(1, x)
45996673c0Smpi 
46996673c0Smpi #define malloc(size, bucket, flag)		calloc(1, size)
47996673c0Smpi #define mallocarray(nelems, size, bucket, flag)	calloc(nelems, size)
48996673c0Smpi #define free(x, bucket, size)			free(x)
49996673c0Smpi 
50996673c0Smpi struct pool {
51996673c0Smpi 	size_t pr_size;
52996673c0Smpi };
53996673c0Smpi 
54996673c0Smpi #define	pool_init(a, b, c, d, e, f, g)	do { (a)->pr_size = (b); } while (0)
55b2ef63beSmpi #define pool_setipl(pp, ipl)		/* nothing */
56996673c0Smpi #define pool_get(pp, flags)		malloc((pp)->pr_size, 0, 0)
57996673c0Smpi #define	pool_put(pp, rp)		free((rp), 0, 0)
58996673c0Smpi 
59996673c0Smpi #define	log(lvl, x...)	fprintf(stderr, x)
60996673c0Smpi 
61996673c0Smpi #define min(a, b) (a < b ? a : b)
62996673c0Smpi #define max(a, b) (a < b ? b : a)
63996673c0Smpi 
64996673c0Smpi #ifndef nitems
65996673c0Smpi #define nitems(_a) (sizeof((_a)) / sizeof((_a)[0]))
66996673c0Smpi #endif
67996673c0Smpi 
681e28b427Smpi #ifndef IPL_NONE
691e28b427Smpi #define IPL_NONE 0
701e28b427Smpi #endif
717087031dSbluhm #define mtx_enter(_mtx)		/* nothing */
727087031dSbluhm #define mtx_leave(_mtx)		/* nothing */
73b2ef63beSmpi 
74b2ef63beSmpi #define task_add(_tq, _t)	((_t)->t_func((_t)->t_arg))
75b2ef63beSmpi 
76996673c0Smpi extern struct domain *domains[];
77996673c0Smpi 
78b2ef63beSmpi #define IPL_SOFTNET	0
79b2ef63beSmpi 
8059a3c59fSmpi #define rw_init(rwl, name)
8159a3c59fSmpi #define rw_enter_write(rwl)
8259a3c59fSmpi #define rw_exit_write(rwl)
8359a3c59fSmpi #define rw_assert_wrlock(rwl)
8459a3c59fSmpi 
85eb899f7fSmpi #define SET(t, f)	((t) |= (f))
86eb899f7fSmpi #define CLR(t, f)	((t) &= ~(f))
87eb899f7fSmpi #define ISSET(t, f)	((t) & (f))
88eb899f7fSmpi 
89eb899f7fSmpi struct rtentry;
90eb899f7fSmpi 
91*6e05f03dSanton int	 rt_hash(struct rtentry *, const struct sockaddr *, uint32_t *);
92eb899f7fSmpi 
93996673c0Smpi #endif /* _KERN_COMPAT_H_ */
94