Dalla versione 5.9, le pagine man di Linux documentano i tipi di dati di sistema, in modo da poter trovare facilmente queste informazioni in modo centralizzato.
Basta digitare 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)
Se vuoi solo ssize_t
, dovresti includere <sys/types.h>
, che è la sua intestazione canonica, e probabilmente la più leggera che fornisce ssize_t
. Tuttavia, è fornito da una qualsiasi delle intestazioni documentate, quindi se ti capita di aver bisogno anche di una definizione in una di queste altre intestazioni, puoi includere solo quell'altra intestazione.
ssize_t
è definito in sys/types.h
.
Secondo la documentazione POSIX:
NOME
sys/types.h - tipi di dati
SINOSSI
#include <sys/types.h>
DESCRIZIONE
L'intestazione deve definire almeno i seguenti tipi:
...
ssize_t
Utilizzato per un conteggio di byte o un'indicazione di errore.