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