xref: /freebsd/lib/libsysdecode/sysdecode_fcntl_arg.3 (revision b5daf675efc746611c7cfcd1fa474b8905064c4b)
1.\"
2.\" Copyright (c) 2016 John Baldwin <jhb@FreeBSD.org>
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd November 24, 2017
26.Dt sysdecode_fcntl_arg 3
27.Os
28.Sh NAME
29.Nm sysdecode_fcntl_arg ,
30.Nm sysdecode_fcntl_arg_p
31.Nd output description of fcntl argument
32.Sh LIBRARY
33.Lb libsysdecode
34.Sh SYNOPSIS
35.In sysdecode.h
36.Ft void
37.Fn sysdecode_fcntl_arg "FILE *fp" "int cmd" "uintptr_t arg" "int base"
38.Ft bool
39.Fn sysdecode_fcntl_arg_p "int cmd"
40.Sh DESCRIPTION
41The
42.Fn sysdecode_fcntl_arg
43function outputs a text description of the optional
44.Fa arg
45argument to
46.Xr fcntl 2
47to the stream
48.Fa fp .
49The type and format of
50.Fa arg
51are determined by
52.Fa cmd :
53.Bl -column ".Dv F_SETLKW" "Vt struct flock *"
54.It Sy Command Ta Fa arg Sy Type Ta Sy Output Format
55.It
56.It Dv F_SETFD Ta Vt int Ta
57.Dq FD_CLOEXEC ,
58.Dq FD_CLOFORK
59or the value of
60.Fa arg
61in the indicated
62.Fa base
63.Pq one of 8, 10, or 16 .
64.It
65.It Dv F_SETFL Ta Vt int Ta
66File flags as output by
67.Xr sysdecode_fcntl_fileflags 3
68with any unknown or remaining bits output in hexadecimal.
69.It
70.It Dv F_GETLK Ta Vt struct flock * Ta
71.It Dv F_SETLK Ta Vt struct flock * Ta
72.It Dv F_SETLKW Ta Vt struct flock * Ta
73The value of
74.Fa arg
75using the
76.Dq %p
77conversion specification.
78.It
79.It Others Ta Vt int Ta
80The value of
81.Fa arg
82in the indicated
83.Fa base
84.Pq one of 8, 10, or 16 .
85.El
86.Pp
87The
88.Fn sysdecode_fcntl_arg_p
89function can be used to determine if a
90.Xr fcntl 2
91command uses the optional third argument to
92.Xr fcntl 2 .
93The function returns
94.Dv true
95if
96.Fa cmd
97accepts a third argument to
98.Xr fcntl 2
99and
100.Dv false
101if it does not.
102.Sh RETURN VALUES
103The
104.Nm sysdecode_fcntl_arg_p
105function returns
106.Dv true
107if
108.Fa cmd
109accepts a third argument to
110.Xr fcntl 2
111and
112.Dv false
113if it does not.
114.Sh SEE ALSO
115.Xr sysdecode 3 ,
116.Xr sysdecode_fcntl_cmd 3 ,
117.Xr sysdecode_fcntl_fileflags 3
118