/usr/include
NameSizeModeActions
aarch64-linux-gnu/-0755rm
alpha-linux-gnu/-0755rm
arm-linux-gnueabi/-0755rm
arm-linux-gnueabihf/-0755rm
arpa/-0755rm
asm-generic/-0755rm
c++/-0755rm
drm/-0755rm
finclude/-0755rm
hppa-linux-gnu/-0755rm
i386-linux-gnu/-0755rm
linux/-0755rm
loongarch64-linux-gnu/-0755rm
m68k-linux-gnu/-0755rm
mariadb/-0755rm
mips-linux-gnu/-0755rm
mips64-linux-gnuabi64/-0755rm
mips64el-linux-gnuabi64/-0755rm
mipsel-linux-gnu/-0755rm
mipsisa64r6el-linux-gnuabi64/-0755rm
misc/-0755rm
mtd/-0755rm
mysql/-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
openssl/-0755rm
php8.3/-0755rm
powerpc-linux-gnu/-0755rm
powerpc64-linux-gnu/-0755rm
powerpc64le-linux-gnu/-0755rm
protocols/-0755rm
rdma/-0755rm
regulator/-0755rm
riscv64-linux-gnu/-0755rm
rpc/-0755rm
rpcsvc/-0755rm
ruby-3.3.0/-0755rm
s390x-linux-gnu/-0755rm
scsi/-0755rm
sh4-linux-gnu/-0755rm
sound/-0755rm
sparc64-linux-gnu/-0755rm
video/-0755rm
X11/-0755rm
x86_64-linux-gnu/-0755rm
x86_64-linux-gnux32/-0755rm
xen/-0755rm
aio.h77490644editdlrm
aliases.h20280644editdlrm
alloca.h12030644editdlrm
ar.h17310644editdlrm
argp.h255480644editdlrm
argz.h60540644editdlrm
assert.h51070644editdlrm
byteswap.h14490644editdlrm
complex.h81800644editdlrm
cpio.h22680644editdlrm
crypt.h111310644editdlrm
ctype.h109690644editdlrm
dirent.h126170644editdlrm
dlfcn.h85810644editdlrm
elf.h1960940644editdlrm
emacs-module.h369700644editdlrm
endian.h22990644editdlrm
envz.h28670644editdlrm
err.h23830644editdlrm
errno.h16790644editdlrm
error.h24300644editdlrm
execinfo.h15230644editdlrm
fcntl.h114170644editdlrm
features-time64.h15320644editdlrm
features.h192140644editdlrm
fenv.h57880644editdlrm
fmtmsg.h32400644editdlrm
fnmatch.h22960644editdlrm
fstab.h31110644editdlrm
fts.h95940644editdlrm
ftw.h63730644editdlrm
gawkapi.h416970644editdlrm
gconv.h42110644editdlrm
gdbm.h123280644editdlrm
getopt.h14690644editdlrm
glob.h73090644editdlrm
gmpxx.h1295020644editdlrm
gnu-versions.h23430644editdlrm
gnumake.h29130644editdlrm
grp.h68470644editdlrm
gshadow.h46890644editdlrm
iconv.h19120644editdlrm
ifaddrs.h28410644editdlrm
inttypes.h113090644editdlrm
jerror.h158640644editdlrm
jmorecfg.h141920644editdlrm
jpegint.h157820644editdlrm
jpeglib.h502810644editdlrm
langinfo.h178490644editdlrm
lastlog.h1260644editdlrm
libgen.h13860644editdlrm
libintl.h45800644editdlrm
limits.h57060644editdlrm
link.h78010644editdlrm
locale.h76750644editdlrm
malloc.h59840644editdlrm
math.h492890644editdlrm
mcheck.h24350644editdlrm
memory.h9560644editdlrm
mntent.h33590644editdlrm
monetary.h19660644editdlrm
mqueue.h45730644editdlrm
netdb.h284660644editdlrm
nl_types.h17530644editdlrm
nss.h144080644editdlrm
obstack.h213070644editdlrm
paths.h29830644editdlrm
poll.h220644editdlrm
printf.h68750644editdlrm
proc_service.h34770644editdlrm
pthread.h484220644editdlrm
pty.h15700644editdlrm
pwd.h63170644editdlrm
regex.h259400644editdlrm
regexp.h13870644editdlrm
resolv.h123880644editdlrm
re_comp.h9630644editdlrm
sched.h50430644editdlrm
search.h54500644editdlrm
semaphore.h34740644editdlrm
setjmp.h31900644editdlrm
sgtty.h13440644editdlrm
shadow.h56320644editdlrm
signal.h130450644editdlrm
spawn.h83880644editdlrm
stab.h2640644editdlrm
stdbit.h269070644editdlrm
stdc-predef.h24620644editdlrm
stdint.h81550644editdlrm
stdio.h341720644editdlrm
stdio_ext.h28000644editdlrm
stdlib.h410390644editdlrm
string.h199690644editdlrm
strings.h47530644editdlrm
syscall.h250644editdlrm
sysexits.h52320644editdlrm
syslog.h240644editdlrm
tar.h37520644editdlrm
termio.h2140644editdlrm
termios.h35990644editdlrm
tgmath.h487790644editdlrm
threads.h78140644editdlrm
thread_db.h160240644editdlrm
time.h151150644editdlrm
ttyent.h24940644editdlrm
uchar.h31170644editdlrm
ucontext.h20370644editdlrm
ulimit.h15840644editdlrm
unistd.h450530644editdlrm
utime.h19150644editdlrm
utmp.h32230644editdlrm
utmpx.h41000644editdlrm
values.h19560644editdlrm
wait.h220644editdlrm
wchar.h391020644editdlrm
wctype.h55490644editdlrm
wordexp.h25020644editdlrm
zconf.h164640644editdlrm
zlib.h968290644editdlrm
Edit: /usr/include/printf.h (6875B)
/* Copyright (C) 1991-2025 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 */