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 58or the value of 59.Fa arg 60in the indicated 61.Fa base 62.Pq one of 8, 10, or 16 . 63.It 64.It Dv F_SETFL Ta Vt int Ta 65File flags as output by 66.Xr sysdecode_fcntl_fileflags 3 67with any unknown or remaining bits output in hexadecimal. 68.It 69.It Dv F_GETLK Ta Vt struct flock * Ta 70.It Dv F_SETLK Ta Vt struct flock * Ta 71.It Dv F_SETLKW Ta Vt struct flock * Ta 72The value of 73.Fa arg 74using the 75.Dq %p 76conversion specification. 77.It 78.It Others Ta Vt int Ta 79The value of 80.Fa arg 81in the indicated 82.Fa base 83.Pq one of 8, 10, or 16 . 84.El 85.Pp 86The 87.Fn sysdecode_fcntl_arg_p 88function can be used to determine if a 89.Xr fcntl 2 90command uses the optional third argument to 91.Xr fcntl 2 . 92The function returns 93.Dv true 94if 95.Fa cmd 96accepts a third argument to 97.Xr fcntl 2 98and 99.Dv false 100if it does not. 101.Sh RETURN VALUES 102The 103.Nm sysdecode_fcntl_arg_p 104function returns 105.Dv true 106if 107.Fa cmd 108accepts a third argument to 109.Xr fcntl 2 110and 111.Dv false 112if it does not. 113.Sh SEE ALSO 114.Xr sysdecode 3 , 115.Xr sysdecode_fcntl_cmd 3 , 116.Xr sysdecode_fcntl_fileflags 3 117