19289f547SJohn Baldwin.\"
29289f547SJohn Baldwin.\" Copyright (c) 2016 John Baldwin <[email protected]>
39289f547SJohn Baldwin.\"
49289f547SJohn Baldwin.\" Redistribution and use in source and binary forms, with or without
59289f547SJohn Baldwin.\" modification, are permitted provided that the following conditions
69289f547SJohn Baldwin.\" are met:
79289f547SJohn Baldwin.\" 1. Redistributions of source code must retain the above copyright
89289f547SJohn Baldwin.\"    notice, this list of conditions and the following disclaimer.
99289f547SJohn Baldwin.\" 2. Redistributions in binary form must reproduce the above copyright
109289f547SJohn Baldwin.\"    notice, this list of conditions and the following disclaimer in the
119289f547SJohn Baldwin.\"    documentation and/or other materials provided with the distribution.
129289f547SJohn Baldwin.\"
139289f547SJohn Baldwin.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
149289f547SJohn Baldwin.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
159289f547SJohn Baldwin.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
169289f547SJohn Baldwin.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
179289f547SJohn Baldwin.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
189289f547SJohn Baldwin.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
199289f547SJohn Baldwin.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
209289f547SJohn Baldwin.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
219289f547SJohn Baldwin.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
229289f547SJohn Baldwin.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
239289f547SJohn Baldwin.\" SUCH DAMAGE.
249289f547SJohn Baldwin.\"
259289f547SJohn Baldwin.\" $FreeBSD$
269289f547SJohn Baldwin.\"
27a62bf68dSMichael Tuexen.Dd January 14, 2018
289289f547SJohn Baldwin.Dt sysdecode_enum 3
299289f547SJohn Baldwin.Os
309289f547SJohn Baldwin.Sh NAME
319289f547SJohn Baldwin.Nm sysdecode_enum ,
329289f547SJohn Baldwin.Nm sysdecode_acltype ,
339289f547SJohn Baldwin.Nm sysdecode_atfd ,
349289f547SJohn Baldwin.Nm sysdecode_extattrnamespace ,
359289f547SJohn Baldwin.Nm sysdecode_fadvice ,
369289f547SJohn Baldwin.Nm sysdecode_fcntl_cmd ,
3748f79574SJohn Baldwin.Nm sysdecode_getfsstat_mode ,
38ee8aa41dSJohn Baldwin.Nm sysdecode_getrusage_who ,
399289f547SJohn Baldwin.Nm sysdecode_idtype ,
409289f547SJohn Baldwin.Nm sysdecode_ipproto ,
419289f547SJohn Baldwin.Nm sysdecode_kldsym_cmd ,
429289f547SJohn Baldwin.Nm sysdecode_kldunload_flags ,
439289f547SJohn Baldwin.Nm sysdecode_lio_listio_mode ,
449289f547SJohn Baldwin.Nm sysdecode_madvice ,
459289f547SJohn Baldwin.Nm sysdecode_minherit_flags ,
469289f547SJohn Baldwin.Nm sysdecode_msgctl_cmd ,
479289f547SJohn Baldwin.Nm sysdecode_nfssvc_flags ,
4839a3a438SJohn Baldwin.Nm sysdecode_pathconf_name ,
499289f547SJohn Baldwin.Nm sysdecode_prio_which ,
509289f547SJohn Baldwin.Nm sysdecode_procctl_cmd ,
519289f547SJohn Baldwin.Nm sysdecode_ptrace_request ,
529289f547SJohn Baldwin.Nm sysdecode_rlimit ,
539289f547SJohn Baldwin.Nm sysdecode_rtprio_function ,
549289f547SJohn Baldwin.Nm sysdecode_scheduler_policy ,
55a62bf68dSMichael Tuexen.Nm sysdecode_sctp_pr_policy ,
561e6455d8SMichael Tuexen.Nm sysdecode_sctp_sinfo_flags ,
579289f547SJohn Baldwin.Nm sysdecode_semctl_cmd ,
589289f547SJohn Baldwin.Nm sysdecode_shmctl_cmd ,
599289f547SJohn Baldwin.Nm sysdecode_shutdown_how ,
609289f547SJohn Baldwin.Nm sysdecode_sigbus_code ,
619289f547SJohn Baldwin.Nm sysdecode_sigchld_code ,
629289f547SJohn Baldwin.Nm sysdecode_sigfpe_code ,
639289f547SJohn Baldwin.Nm sysdecode_sigill_code ,
649289f547SJohn Baldwin.Nm sysdecode_signal ,
659289f547SJohn Baldwin.Nm sysdecode_sigprocmask_how ,
669289f547SJohn Baldwin.Nm sysdecode_sigsegv_code ,
679289f547SJohn Baldwin.Nm sysdecode_sigtrap_code ,
689289f547SJohn Baldwin.Nm sysdecode_sockaddr_family ,
699289f547SJohn Baldwin.Nm sysdecode_socketdomain ,
709289f547SJohn Baldwin.Nm sysdecode_sockettype ,
719289f547SJohn Baldwin.Nm sysdecode_sockopt_level ,
7239a3a438SJohn Baldwin.Nm sysdecode_sysarch_number ,
739289f547SJohn Baldwin.Nm sysdecode_umtx_op ,
749289f547SJohn Baldwin.Nm sysdecode_vmresult ,
759289f547SJohn Baldwin.Nm sysdecode_whence
769289f547SJohn Baldwin.Nd lookup name of various enumerated values
779289f547SJohn Baldwin.Sh LIBRARY
789289f547SJohn Baldwin.Lb libsysdecode
799289f547SJohn Baldwin.Sh SYNOPSIS
809289f547SJohn Baldwin.In sys/types.h
819289f547SJohn Baldwin.In stdbool.h
829289f547SJohn Baldwin.In sysdecode.h
839289f547SJohn Baldwin.Ft const char *
849289f547SJohn Baldwin.Fn sysdecode_acltype "int type"
859289f547SJohn Baldwin.Ft const char *
869289f547SJohn Baldwin.Fn sysdecode_atfd "int fd"
879289f547SJohn Baldwin.Ft const char *
889289f547SJohn Baldwin.Fn sysdecode_extattrnamespace "int namespace"
899289f547SJohn Baldwin.Ft const char *
909289f547SJohn Baldwin.Fn sysdecode_fadvice "int advice"
919289f547SJohn Baldwin.Ft const char *
929289f547SJohn Baldwin.Fn sysdecode_fcntl_cmd "int cmd"
939289f547SJohn Baldwin.Ft const char *
9448f79574SJohn Baldwin.Fn sysdecode_getfsstat_mode "int mode"
9548f79574SJohn Baldwin.Ft const char *
96ee8aa41dSJohn Baldwin.Fn sysdecode_getrusage_who "int who"
97ee8aa41dSJohn Baldwin.Ft const char *
989289f547SJohn Baldwin.Fn sysdecode_idtype "int idtype"
999289f547SJohn Baldwin.Ft const char *
1009289f547SJohn Baldwin.Fn sysdecode_ipproto "int protocol"
1019289f547SJohn Baldwin.Ft const char *
1029289f547SJohn Baldwin.Fn sysdecode_kldsym_cmd "int cmd"
1039289f547SJohn Baldwin.Ft const char *
1049289f547SJohn Baldwin.Fn sysdecode_kldunload_flags "int flags"
1059289f547SJohn Baldwin.Ft const char *
1069289f547SJohn Baldwin.Fn sysdecode_lio_listio_mode "int mode"
1079289f547SJohn Baldwin.Ft const char *
1089289f547SJohn Baldwin.Fn sysdecode_madvice "int advice"
1099289f547SJohn Baldwin.Ft const char *
1109289f547SJohn Baldwin.Fn sysdecode_minherit_flags "int inherit"
1119289f547SJohn Baldwin.Ft const char *
1129289f547SJohn Baldwin.Fn sysdecode_msgctl_cmd "int cmd"
1139289f547SJohn Baldwin.Ft const char *
1149289f547SJohn Baldwin.Fn sysdecode_nfssvc_flags "int flags"
1159289f547SJohn Baldwin.Ft const char *
11639a3a438SJohn Baldwin.Fn sysdecode_pathconf_name "int name"
11739a3a438SJohn Baldwin.Ft const char *
1189289f547SJohn Baldwin.Fn sysdecode_prio_which "int which"
1199289f547SJohn Baldwin.Ft const char *
1209289f547SJohn Baldwin.Fn sysdecode_procctl_cmd "int cmd"
1219289f547SJohn Baldwin.Ft const char *
1229289f547SJohn Baldwin.Fn sysdecode_ptrace_request "int request"
1239289f547SJohn Baldwin.Ft const char *
1249289f547SJohn Baldwin.Fn sysdecode_rlimit "int resource"
1259289f547SJohn Baldwin.Ft const char *
1269289f547SJohn Baldwin.Fn sysdecode_rtprio_function "int function"
1279289f547SJohn Baldwin.Ft const char *
1289289f547SJohn Baldwin.Fn sysdecode_scheduler_policy "int policy"
1299289f547SJohn Baldwin.Ft const char *
130a62bf68dSMichael Tuexen.Fn sysdecode_sctp_pr_policy "int policy"
131a62bf68dSMichael Tuexen.Ft const char *
1329289f547SJohn Baldwin.Fn sysdecode_semctl_cmd "int cmd"
1339289f547SJohn Baldwin.Ft const char *
1349289f547SJohn Baldwin.Fn sysdecode_shmctl_cmd "int cmd"
1359289f547SJohn Baldwin.Ft const char *
1369289f547SJohn Baldwin.Fn sysdecode_shutdown_how "int how"
1379289f547SJohn Baldwin.Ft const char *
1389289f547SJohn Baldwin.Fn sysdecode_sigbus_code "int si_code"
1399289f547SJohn Baldwin.Ft const char *
1409289f547SJohn Baldwin.Fn sysdecode_sigchld_code "int si_code"
1419289f547SJohn Baldwin.Ft const char *
1429289f547SJohn Baldwin.Fn sysdecode_sigfpe_code "int si_code"
1439289f547SJohn Baldwin.Ft const char *
1449289f547SJohn Baldwin.Fn sysdecode_sigill_code "int si_code"
1459289f547SJohn Baldwin.Ft const char *
1469289f547SJohn Baldwin.Fn sysdecode_signal "int sig"
1479289f547SJohn Baldwin.Ft const char *
1489289f547SJohn Baldwin.Fn sysdecode_sigprocmask_how "int how"
1499289f547SJohn Baldwin.Ft const char *
1509289f547SJohn Baldwin.Fn sysdecode_sigsegv_code "int si_code"
1519289f547SJohn Baldwin.Ft const char *
1529289f547SJohn Baldwin.Fn sysdecode_sigtrap_code "int si_code"
1539289f547SJohn Baldwin.Ft const char *
1549289f547SJohn Baldwin.Fn sysdecode_sockaddr_family "int sa_family"
1559289f547SJohn Baldwin.Ft const char *
1569289f547SJohn Baldwin.Fn sysdecode_socketdomain "int domain"
1579289f547SJohn Baldwin.Ft const char *
1589289f547SJohn Baldwin.Fn sysdecode_sockettype "int type"
1599289f547SJohn Baldwin.Ft const char *
1609289f547SJohn Baldwin.Fn sysdecode_sockopt_level "int level"
1619289f547SJohn Baldwin.Ft const char *
16239a3a438SJohn Baldwin.Fn sysdecode_sysarch_number "int number"
16339a3a438SJohn Baldwin.Ft const char *
1649289f547SJohn Baldwin.Fn sysdecode_umtx_op "int op"
1659289f547SJohn Baldwin.Ft const char *
1669289f547SJohn Baldwin.Fn sysdecode_vmresult "int result"
1679289f547SJohn Baldwin.Ft const char *
1689289f547SJohn Baldwin.Fn sysdecode_whence "int whence"
1699289f547SJohn Baldwin.Sh DESCRIPTION
1709289f547SJohn BaldwinThe
1719289f547SJohn Baldwin.Nm
1729289f547SJohn Baldwinfunctions return a text description of an integer value.
1739289f547SJohn BaldwinThe text description matches the name of a C macro with the same value as the
1749289f547SJohn Baldwinsole function argument.
1759289f547SJohn Baldwin.Dv NULL
1769289f547SJohn Baldwinis returned if there is no matching C macro name.
1779289f547SJohn Baldwin.Pp
1789289f547SJohn BaldwinMost of these functions decode an argument passed to a system call:
1799289f547SJohn Baldwin.Bl -column "Fn sysdecode_extattrnamespace" "Xr sched_setscheduler 2"
1809289f547SJohn Baldwin.It Sy Function Ta Sy System Call Ta Sy Argument
1819289f547SJohn Baldwin.It Fn sysdecode_acltype Ta Xr acl_get_file 3 Ta Fa type
1829289f547SJohn Baldwin.It Fn sysdecode_atfd Ta Xr openat 2 Ta Fa fd
1839289f547SJohn Baldwin.It Fn sysdecode_extattrnamespace Ta Xr extattr_get_fd 2 Ta Fa attrnamespace
1849289f547SJohn Baldwin.It Fn sysdecode_fadvice Ta Xr posix_fadvise 2 Ta Fa advice
1859289f547SJohn Baldwin.It Fn sysdecode_fcntl_cmd Ta Xr fcntl 2 Ta Fa cmd
18648f79574SJohn Baldwin.It Fn sysdecode_getfsstat_mode Ta Xr getfsstat 2 Ta Fa mode
1879289f547SJohn Baldwin.It Fn sysdecode_idtype Ta
1889289f547SJohn Baldwin.Xr procctl 2 ,
1899289f547SJohn Baldwin.Xr waitid 2
1909289f547SJohn Baldwin.Ta Fa idtype
1919289f547SJohn Baldwin.It Fn sysdecode_kldsym_cmd Ta Xr kldsym 2 Ta Fa cmd
1929289f547SJohn Baldwin.It Fn sysdecode_kldunload_flags Ta Xr kldunloadf 2 Ta Fa flags
1939289f547SJohn Baldwin.It Fn sysdecode_lio_listio_mode Ta Xr lio_listio 2 Ta Fa mode
1949289f547SJohn Baldwin.It Fn sysdecode_madvice Ta Xr madvise 2 Ta Fa advice
1959289f547SJohn Baldwin.It Fn sysdecode_minherit_inherit Ta Xr minherit 2 Ta Fa inherit
1969289f547SJohn Baldwin.It Fn sysdecode_msgctl_cmd Ta Xr msgctl 2 Ta Fa cmd
1979289f547SJohn Baldwin.It Fn sysdecode_nfssvc_flags Ta Xr nfssvc 2 Ta Fa flags
19839a3a438SJohn Baldwin.It Fn sysdecode_pathconf_name Ta Xr pathconf 2 Ta Fa name
1999289f547SJohn Baldwin.It Fn sysdecode_prio_which Ta Xr getpriority 2 Ta Fa which
2009289f547SJohn Baldwin.It Fn sysdecode_procctl_cmd Ta Xr procctl 2 Ta Fa cmd
2019289f547SJohn Baldwin.It Fn sysdecode_ptrace_request Ta Xr ptrace 2 Ta Fa request
2029289f547SJohn Baldwin.It Fn sysdecode_rlimit Ta Xr getrlimit 2 Ta Fa resource
2039289f547SJohn Baldwin.It Fn sysdecode_rtprio_function Ta Xr rtprio 2 Ta Fa function
204ee8aa41dSJohn Baldwin.It Fn sysdecode_getrusage_who Ta Xr getrusage 2 Ta Fa who
2059289f547SJohn Baldwin.It Fn sysdecode_scheduler_policy Ta Xr sched_setscheduler 2 Ta Fa policy
2069289f547SJohn Baldwin.It Fn sysdecode_semctl_cmd Ta Xr semctl 2 Ta Fa cmd
2079289f547SJohn Baldwin.It Fn sysdecode_shmctl_cmd Ta Xr shmctl 2 Ta Fa cmd
2089289f547SJohn Baldwin.It Fn sysdecode_shutdown_how Ta Xr shutdown 2 Ta Fa how
2099289f547SJohn Baldwin.It Fn sysdecode_sigprocmask_how Ta Xr sigprocmask 2 Ta Fa how
2109289f547SJohn Baldwin.It Fn sysdecode_sockopt_level Ta Xr getsockopt 2 Ta Fa level
21139a3a438SJohn Baldwin.It Fn sysdecode_sysarch_number Ta Xr sysarch 2 Ta Fa number
2129289f547SJohn Baldwin.It Fn sysdecode_umtx_op Ta Xr _umtx_op 2 Ta Fa op
2139289f547SJohn Baldwin.It Fn sysdecode_whence Ta Xr lseek 2 Ta Fa whence
2149289f547SJohn Baldwin.El
2159289f547SJohn Baldwin.Pp
2169289f547SJohn BaldwinThese functions decode signal-specific signal codes stored in the
2179289f547SJohn Baldwin.Fa si_code
2189289f547SJohn Baldwinfield of the
2199289f547SJohn Baldwin.Vt siginfo_t
2209289f547SJohn Baldwinobject associated with an instance of signal:
2219289f547SJohn Baldwin.Bl -column "Fn sysdecode_sigchld_code"
2229289f547SJohn Baldwin.It Sy Function Ta Sy Signal
2239289f547SJohn Baldwin.It Fn sysdecode_sigbus_code Ta Dv SIGBUS
2249289f547SJohn Baldwin.It Fn sysdecode_sigchld_code Ta Dv SIGCHLD
2259289f547SJohn Baldwin.It Fn sysdecode_sigfpe_code Ta Dv SIGFPE
2269289f547SJohn Baldwin.It Fn sysdecode_sigill_code Ta Dv SIGILL
2279289f547SJohn Baldwin.It Fn sysdecode_sigsegv_code Ta Dv SIGSEGV
228*e9b5d244SJohn Baldwin.It Fn sysdecode_sigtrap_code Ta Dv SIGTRAP
2299289f547SJohn Baldwin.El
2309289f547SJohn Baldwin.Pp
2319289f547SJohn BaldwinOther functions decode the values described below:
2329289f547SJohn Baldwin.Bl -tag -width "Fn sysdecode_sockaddr_family"
2339289f547SJohn Baldwin.It Fn sysdecode_ipproto
2349289f547SJohn BaldwinAn IP protocol.
235a62bf68dSMichael Tuexen.It Fn sysdecode_sctp_pr_policy
236a62bf68dSMichael TuexenA PR-SCTP policy.
2379289f547SJohn Baldwin.It Fn sysdecode_signal
2389289f547SJohn BaldwinA process signal.
2399289f547SJohn Baldwin.It Fn sysdecode_sockaddr_family
2409289f547SJohn BaldwinA socket address family.
2419289f547SJohn Baldwin.It Fn sysdecode_socketdomain
2429289f547SJohn BaldwinA socket domain.
2439289f547SJohn Baldwin.It Fn sysdecode_vmresult
2449289f547SJohn BaldwinThe return value of a function in the virtual memory subsystem of the kernel
2459289f547SJohn Baldwinindicating the status of the associated request.
2469289f547SJohn Baldwin.El
2479289f547SJohn Baldwin.Sh RETURN VALUES
2489289f547SJohn BaldwinThe
2499289f547SJohn Baldwin.Nm
2509289f547SJohn Baldwinfunctions return the name of a matching C macro or
2519289f547SJohn Baldwin.Dv NULL
2529289f547SJohn Baldwinif no matching C macro was found.
2539289f547SJohn Baldwin.Sh SEE ALSO
2549289f547SJohn Baldwin.Xr sysdecode 3 ,
2559289f547SJohn Baldwin.Xr sysdecode_mask 3 ,
2569289f547SJohn Baldwin.Xr sysdecode_sigcode 3
257