1 /* $OpenBSD: kdump_subr.h,v 1.22 2018/11/05 17:05:50 anton Exp $ */ 2 /* 3 * Copyright(c) 2006 2006 David Kirchner <dpk@dpk.net> 4 * 5 * Permission to use, copy, modify, and distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18 /* $FreeBSD: src/usr.bin/kdump/kdump_subr.h,v 1.3 2007/04/09 22:04:27 emaste Exp $ */ 19 20 21 /* 22 * These are simple support macros. print_or utilizes a variable 23 * defined in the calling function to track whether or not it should 24 * print a logical-OR character ('|') before a string. if_print_or 25 * simply handles the necessary "if" statement used in many lines 26 * of this file. 27 */ 28 #define print_or(str,orflag) do { \ 29 if (orflag) putchar('|'); else orflag = 1; \ 30 printf ("%s", str); } \ 31 while (0) 32 #define if_print_or(i,flag,orflag) do { \ 33 if ((i & flag) == flag) \ 34 print_or(#flag,orflag); } \ 35 while (0) 36 37 void fcntlcmdname(int); 38 void rtprioname(int); 39 void modename(int); 40 void doflagsname(int, int); 41 void flagsname(int); 42 void openflagsname(int); 43 void atflagsname(int); 44 void accessmodename(int); 45 void mmapprotname(int); 46 void mmapflagsname(int); 47 void wait4optname(int); 48 void sendrecvflagsname(int); 49 void getfsstatflagsname(int); 50 void mountflagsname(int); 51 void rebootoptname(int); 52 void flockname(int); 53 void sockoptname(int); 54 void sockdomainname(int); 55 void sockipprotoname(int); 56 void socktypename(int); 57 void sockflagsname(int); 58 void sockfamilyname(int); 59 void thrcreateflagsname(int); 60 void mlockallname(int); 61 void shmatname(int); 62 void nfssvcname(int); 63 void whencename(int); 64 void pathconfname(int); 65 void rlimitname(int); 66 void shutdownhowname(int); 67 void prioname(int); 68 void madvisebehavname(int); 69 void msyncflagsname(int); 70 void clocktypename(int); 71 void schedpolicyname(int); 72 void kldunloadfflagsname(int); 73 void ksethrcmdname(int); 74 void extattrctlname(int); 75 void kldsymcmdname(int); 76 void sendfileflagsname(int); 77 void acltypename(int); 78 void rusagewho(int); 79 void sigactionflagname(int); 80 void sigprocmaskhowname(int); 81 void lio_listioname(int); 82 void minheritname(int); 83 void quotactlname(int); 84 void quotactlcmdname(int); 85 void ptraceopname(int); 86 void sigill_name(int); 87 void sigtrap_name(int); 88 void sigemt_name(int); 89 void sigfpe_name(int); 90 void sigbus_name(int); 91 void sigsegv_name(int); 92 void sigchld_name(int); 93 void ktracefacname(int); 94 void itimername(int); 95 void evfiltername(int); 96 void evflagsname(int); 97 void evfflagsname(int, int); 98 void pollfdeventname(int); 99 void syslogflagname(int); 100 void futexflagname(int); 101 void flocktypename(int); 102 103 extern int decimal, fancy, basecol, arg1; 104