Desde la versión 5.9, las páginas de manual de Linux documentan los tipos de datos del sistema, para que pueda encontrar esta información fácilmente de manera centralizada.
Solo escribe man ssize_t
:
ssize_t(3type) Linux Programmer’s Manual ssize_t(3type)
NAME
ssize_t - count of bytes or an error indication
LIBRARY
Standard C library (libc)
SYNOPSIS
#include <sys/types.h>
typedef /* ... */ ssize_t;
DESCRIPTION
Used for a count of bytes or an error indication. Ac‐
cording to POSIX, it shall be a signed integer type capa‐
ble of storing values at least in the range [-1,
SSIZE_MAX], and the implementation shall support one or
more programming environments where the width of ssize_t
is no greater than the width of the type long.
Glibc and most other implementations provide a length
modifier for ssize_t for the printf(3) and the scanf(3)
families of functions, which is z; resulting commonly in
%zd or %zi for printing ssize_t values. Although z works
for ssize_t on most implementations, portable POSIX pro‐
grams should avoid using it—for example, by converting
the value to intmax_t and using its length modifier (j).
VERSIONS
<aio.h>, <mqueue.h>, and <sys/socket.h> define ssize_t
since POSIX.1‐2008.
CONFORMING TO
POSIX.1‐2001 and later.
NOTES
The following headers also provide this type: <aio.h>,
<monetary.h>, <mqueue.h>, <stdio.h>, <sys/msg.h>,
<sys/socket.h>, <sys/uio.h>, and <unistd.h>.
SEE ALSO
read(2), readlink(2), readv(2), recv(2), send(2),
write(2), ptrdiff_t(3type), size_t(3type)
Linux 2022‐06‐17 ssize_t(3type)
Si solo quieres ssize_t
, debe incluir <sys/types.h>
, que es su encabezado canónico, y probablemente el más ligero que proporciona ssize_t
. Sin embargo, lo proporciona cualquiera de los encabezados documentados, por lo que si también necesita una definición en uno de esos otros encabezados, puede incluir solo ese otro encabezado.
ssize_t
se define en sys/types.h
.
Según la documentación de POSIX:
NOMBRE
sys/types.h - tipos de datos
SINOPSIS
#include <sys/types.h>
DESCRIPCIÓN
El encabezado deberá definir al menos los siguientes tipos:
...
ssize_t
Se utiliza para un recuento de bytes o una indicación de error.