/usr/include
NameSizeModeActions
arpa/-0755rm
asm/-0755rm
asm-generic/-0755rm
bits/-0755rm
bsock/-0755rm
c++/-0755rm
curl/-0755rm
drm/-0755rm
et/-0755rm
finclude/-0755rm
fwctl/-0755rm
gdb/-0755rm
gnu/-0755rm
gssapi/-0755rm
gssrpc/-0755rm
kadm5/-0755rm
krb5/-0755rm
libxml2/-0755rm
linux/-0755rm
lzma/-0755rm
misc/-0755rm
mtd/-0755rm
net/-0755rm
netash/-0755rm
netatalk/-0755rm
netax25/-0755rm
neteconet/-0755rm
netinet/-0755rm
netipx/-0755rm
netiucv/-0755rm
netpacket/-0755rm
netrom/-0755rm
netrose/-0755rm
nfs/-0755rm
nghttp2/-0755rm
offload/-0755rm
openssl/-0755rm
pcp/-0755rm
protocols/-0755rm
python3.9/-0755rm
rdma/-0755rm
rpc/-0755rm
sasl/-0755rm
scsi/-0755rm
selinux/-0755rm
sepol/-0755rm
sound/-0755rm
sys/-0755rm
video/-0755rm
xen/-0755rm
a.out.h43510644editdlrm
aio.h77380644editdlrm
aliases.h20280644editdlrm
alloca.h12030644editdlrm
ar.h17310644editdlrm
argp.h255480644editdlrm
argz.h60510644editdlrm
assert.h45620644editdlrm
byteswap.h14490644editdlrm
complex.h81400644editdlrm
com_err.h21180644editdlrm
cpio.h22680644editdlrm
cpuidle.h9310644editdlrm
crypt.h111600644editdlrm
ctype.h109690644editdlrm
dirent.h126170644editdlrm
dlfcn.h88020644editdlrm
elf.h1825420644editdlrm
endian.h22990644editdlrm
envz.h28670644editdlrm
err.h23410644editdlrm
errno.h16790644editdlrm
error.h24160644editdlrm
execinfo.h15230644editdlrm
fcntl.h114420644editdlrm
features-time64.h14040644editdlrm
features.h181160644editdlrm
fenv.h57880644editdlrm
FlexLexer.h68930644editdlrm
fmtmsg.h32400644editdlrm
fnmatch.h22960644editdlrm
fpu_control.h35840644editdlrm
fstab.h31110644editdlrm
fts.h95790644editdlrm
ftw.h63430644editdlrm
gconv.h42110644editdlrm
gelf.h114060644editdlrm
GeoIP.h178350644editdlrm
GeoIPCity.h22980644editdlrm
getopt.h14690644editdlrm
glob.h72990644editdlrm
gnu-versions.h23430644editdlrm
gnumake.h29120644editdlrm
grp.h66870644editdlrm
gshadow.h45290644editdlrm
gssapi.h1810644editdlrm
iconv.h18580644editdlrm
idn2.h138910644editdlrm
ieee754.h49160644editdlrm
ifaddrs.h28410644editdlrm
inttypes.h83370644editdlrm
kdb.h643330644editdlrm
keyutils.h117960644editdlrm
krad.h89330644editdlrm
krb5.h4020644editdlrm
langinfo.h178490644editdlrm
lastlog.h1260644editdlrm
lauxlib.h93140644editdlrm
lber.h154800644editdlrm
lber_types.h14680644editdlrm
ldap.h741000644editdlrm
ldap_cdefs.h94660644editdlrm
ldap_features.h15850644editdlrm
ldap_schema.h94500644editdlrm
ldap_utf8.h34680644editdlrm
ldif.h47930644editdlrm
libelf.h207950644editdlrm
libgen.h13860644editdlrm
libintl.h45800644editdlrm
liblsapi-sha1.h5690644editdlrm
libpsl.h57920644editdlrm
libssh2.h606650644editdlrm
libssh2_publickey.h49420644editdlrm
libssh2_sftp.h173690644editdlrm
limits.h57060644editdlrm
link.h78010644editdlrm
locale.h76750644editdlrm
lsapidef.h48890644editdlrm
lscapi.h252290644editdlrm
lscapi_config.h5990644editdlrm
lua.h158180644editdlrm
lua.hpp1910644editdlrm
luaconf-x86_64.h215180644editdlrm
luaconf.h16550644editdlrm
lualib.h11160644editdlrm
lzma.h98660644editdlrm
malloc.h59120644editdlrm
math.h487730644editdlrm
mcheck.h24350644editdlrm
memory.h9560644editdlrm
mntent.h33590644editdlrm
monetary.h19660644editdlrm
mqueue.h46030644editdlrm
mysql-0editdlrm
netdb.h284610644editdlrm
nlist.h16010644editdlrm
nl_types.h17530644editdlrm
nss.h144080644editdlrm
obstack.h213070644editdlrm
openldap.h9640644editdlrm
paths.h29770644editdlrm
pcre2.h472570644editdlrm
pcre2posix.h66770644editdlrm
poll.h220644editdlrm
powercap.h16600644editdlrm
printf.h68750644editdlrm
proc_service.h34770644editdlrm
profile.h121540644editdlrm
pthread.h485240644editdlrm
pty.h15700644editdlrm
pwd.h63170644editdlrm
regex.h259040644editdlrm
regexp.h14480644editdlrm
resolv.h123870644editdlrm
re_comp.h9630644editdlrm
sched.h50380644editdlrm
search.h54500644editdlrm
semaphore.h34640644editdlrm
setjmp.h31900644editdlrm
sgtty.h13440644editdlrm
shadow.h54720644editdlrm
signal.h130400644editdlrm
slapi-plugin.h383520644editdlrm
spawn.h82970644editdlrm
stab.h2640644editdlrm
stdc-predef.h22900644editdlrm
stdint.h84740644editdlrm
stdio.h314110644editdlrm
stdio_ext.h28000644editdlrm
stdlib.h363160644editdlrm
string.h194590644editdlrm
strings.h47530644editdlrm
syscall.h250644editdlrm
sysexits.h52320644editdlrm
syslog.h240644editdlrm
tar.h37860644editdlrm
termio.h2140644editdlrm
termios.h35990644editdlrm
tgmath.h401800644editdlrm
threads.h76860644editdlrm
thread_db.h160240644editdlrm
time.h148480644editdlrm
ttyent.h24940644editdlrm
uchar.h20020644editdlrm
ucontext.h20370644editdlrm
ulimit.h15840644editdlrm
unistd.h444890644editdlrm
utime.h19050644editdlrm
utmp.h32230644editdlrm
utmpx.h41000644editdlrm
values.h19560644editdlrm
verto-module.h66400644editdlrm
verto.h194370644editdlrm
wait.h220644editdlrm
wchar.h321420644editdlrm
wctype.h55490644editdlrm
wordexp.h25020644editdlrm
zconf.h162620644editdlrm
zdict.h264330644editdlrm
zlib.h962610644editdlrm
zstd.h1713780644editdlrm
zstd_errors.h45320644editdlrm
Edit: /usr/include/printf.h (6875B)
/* Copyright (C) 1991-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ #ifndef _PRINTF_H #define _PRINTF_H 1 #include __BEGIN_DECLS #include #define __need_size_t #define __need_wchar_t #include #include struct printf_info { int prec; /* Precision. */ int width; /* Width. */ wchar_t spec; /* Format letter. */ unsigned int is_long_double:1;/* L flag. */ unsigned int is_short:1; /* h flag. */ unsigned int is_long:1; /* l flag. */ unsigned int alt:1; /* # flag. */ unsigned int space:1; /* Space flag. */ unsigned int left:1; /* - flag. */ unsigned int showsign:1; /* + flag. */ unsigned int group:1; /* ' flag. */ unsigned int extra:1; /* For special use. */ unsigned int is_char:1; /* hh flag. */ unsigned int wide:1; /* Nonzero for wide character streams. */ unsigned int i18n:1; /* I flag. */ unsigned int is_binary128:1; /* Floating-point argument is ABI-compatible with IEC 60559 binary128. */ unsigned int __pad:3; /* Unused so far. */ unsigned short int user; /* Bits for user-installed modifiers. */ wchar_t pad; /* Padding character. */ }; /* Type of a printf specifier-handler function. STREAM is the FILE on which to write output. INFO gives information about the format specification. ARGS is a vector of pointers to the argument data; the number of pointers will be the number returned by the associated arginfo function for the same INFO. The function should return the number of characters written, or -1 for errors. */ typedef int printf_function (FILE *__stream, const struct printf_info *__info, const void *const *__args); /* Type of a printf specifier-arginfo function. INFO gives information about the format specification. N, ARGTYPES, *SIZE has to contain the size of the parameter for user-defined types, and return value are as for parse_printf_format except that -1 should be returned if the handler cannot handle this case. This allows to partially overwrite the functionality of existing format specifiers. */ typedef int printf_arginfo_size_function (const struct printf_info *__info, size_t __n, int *__argtypes, int *__size); /* Old version of 'printf_arginfo_function' without a SIZE parameter. */ typedef int printf_arginfo_function (const struct printf_info *__info, size_t __n, int *__argtypes); /* Type of a function to get a value of a user-defined from the variable argument list. */ typedef void printf_va_arg_function (void *__mem, va_list *__ap); /* Register FUNC to be called to format SPEC specifiers; ARGINFO must be specified to determine how many arguments a SPEC conversion requires and what their types are. */ extern int register_printf_specifier (int __spec, printf_function __func, printf_arginfo_size_function __arginfo) __THROW; /* Obsolete interface similar to register_printf_specifier. It can only handle basic data types because the ARGINFO callback does not return information on the size of the user-defined type. */ extern int register_printf_function (int __spec, printf_function __func, printf_arginfo_function __arginfo) __THROW __attribute_deprecated__; /* Register a new modifier character sequence. If the call succeeds it returns a positive value representing the bit set in the USER field in 'struct printf_info'. */ extern int register_printf_modifier (const wchar_t *__str) __THROW __wur; /* Register variable argument handler for user type. The return value is to be used in ARGINFO functions to signal the use of the type. */ extern int register_printf_type (printf_va_arg_function __fct) __THROW __wur; /* Parse FMT, and fill in N elements of ARGTYPES with the types needed for the conversions FMT specifies. Returns the number of arguments required by FMT. The ARGINFO function registered with a user-defined format is passed a `struct printf_info' describing the format spec being parsed. A width or precision of INT_MIN means a `*' was used to indicate that the width/precision will come from an arg. The function should fill in the array it is passed with the types of the arguments it wants, and return the number of arguments it wants. */ extern size_t parse_printf_format (const char *__restrict __fmt, size_t __n, int *__restrict __argtypes) __THROW; /* Codes returned by `parse_printf_format' for basic types. These values cover all the standard format specifications. Users can reserve new values after PA_LAST for their own types using 'register_printf_type'. */ enum { /* C type: */ PA_INT, /* int */ PA_CHAR, /* int, cast to char */ PA_WCHAR, /* wide char */ PA_STRING, /* const char *, a '\0'-terminated string */ PA_WSTRING, /* const wchar_t *, wide character string */ PA_POINTER, /* void * */ PA_FLOAT, /* float */ PA_DOUBLE, /* double */ PA_LAST }; /* Flag bits that can be set in a type returned by `parse_printf_format'. */ #define PA_FLAG_MASK 0xff00 #define PA_FLAG_LONG_LONG (1 << 8) #define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG #define PA_FLAG_LONG (1 << 9) #define PA_FLAG_SHORT (1 << 10) #define PA_FLAG_PTR (1 << 11) /* Function which can be registered as `printf'-handlers. */ /* Print floating point value using using abbreviations for the orders of magnitude used for numbers ('k' for kilo, 'm' for mega etc). If the format specifier is a uppercase character powers of 1000 are used. Otherwise powers of 1024. */ extern int printf_size (FILE *__restrict __fp, const struct printf_info *__info, const void *const *__restrict __args) __THROW; /* This is the appropriate argument information function for `printf_size'. */ extern int printf_size_info (const struct printf_info *__restrict __info, size_t __n, int *__restrict __argtypes) __THROW; #include #if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # include #endif __END_DECLS #endif /* printf.h */