1 /* $OpenBSD: macros.h,v 1.5 2021/12/13 16:56:48 deraadt Exp $ */ 2 /* Public domain - Moritz Buhl */ 3 4 #include <sys/socket.h> 5 #include <sys/stdint.h> 6 #include <sys/sysctl.h> 7 #include <sys/types.h> 8 9 #include <stdbool.h> 10 #include <string.h> 11 #include <stdio.h> 12 13 #define nitems(_a) (sizeof((_a)) / sizeof((_a)[0])) 14 15 #define __arraycount(_a) nitems(_a) 16 #define __unreachable() atf_tc_fail("unreachable") 17 #define __UNCONST(a) (a) 18 19 /* t_chroot.c */ 20 #define fchroot(fd) 0 21 22 /* t_clock_gettime.c */ 23 int sysctlbyname(char *, void *, size_t *, void *, size_t); 24 25 int 26 sysctlbyname(char* s, void *oldp, size_t *oldlenp, void *newp, size_t newlen) 27 { 28 int mib[3], miblen; 29 30 mib[0] = CTL_KERN; 31 if (strcmp(s, "kern.timecounter.hardware") == 0) { 32 mib[1] = KERN_TIMECOUNTER; 33 mib[2] = KERN_TIMECOUNTER_HARDWARE; 34 miblen = 3; 35 } else if (strcmp(s, "kern.timecounter.choice") == 0) { 36 mib[1] = KERN_TIMECOUNTER; 37 mib[2] = KERN_TIMECOUNTER_CHOICE; 38 miblen = 3; 39 } else if (strcmp(s, "kern.securelevel") == 0) { 40 mib[1] = KERN_SECURELVL; 41 miblen = 2; 42 } else { 43 fprintf(stderr, "%s(): mib '%s' not supported\n", __func__, s); 44 return -42; 45 } 46 47 return sysctl(mib, miblen, oldp, oldlenp, newp, newlen); 48 } 49 50 /* t_connect.c */ 51 #define IPPORT_RESERVEDMAX 1023 52 53 /* t_fork.c */ 54 #define kinfo_proc2 kinfo_proc 55 #define KERN_PROC2 KERN_PROC 56 #define reallocarr(pp, n, s) ((*pp = reallocarray(*pp, n, s)), *pp == NULL) 57 #define LSSTOP SSTOP 58 59 /* t_mlock.c */ 60 #define MAP_WIRED __MAP_NOREPLACE 61 62 /* t_pipe2.c */ 63 #define O_NOSIGPIPE 0 64 65 /* t_poll.c */ 66 #define pollts(a, b, c, e) 0 67 68 /* t_sendrecv.c */ 69 #define SO_RERROR SO_DEBUG 70 71 /* t_write.c */ 72 #define _PATH_DEVZERO "/dev/zero" 73 74 /* t_wait_noproc.c */ 75 #define ___STRING(x) #x 76 #define __BIT(n) (1 << (n)) 77