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