As estruturas C geralmente são detalhadas na página man do recurso ou função com a qual estão mais associadas. Por exemplo:
- A estrutura
struct sockaddrestá definida embind(2)(chamada do sistema). - A estrutura
struct utmpestá definida emutmp(5)(formatos de arquivo: utmp).
Também não é especificamente exigido que os desenvolvedores forneçam detalhes sobre suas estruturas em man pages, já que este é basicamente o trabalho de arquivos de cabeçalho com comentários bem feitos (veja /usr/include ).
Em geral, se você está procurando detalhes sobre uma estrutura, dê uma olhada na função para a qual está usando. Por exemplo, se você quiser saber mais sobre o argumento de asctime ( struct tm ), basta dar uma olhada em % Página man doasctime . A maioria das estruturas vem com um conjunto de funções usadas para manipulá-las, e elas geralmente têm uma página man. Se não houver função associada à sua estrutura, aqui estão algumas opções:
- A estrutura está intimamente relacionada a um conceito (por exemplo,
struct sockaddr_unpara soquetes UNIX). Dê uma olhada na página do manual associada a esse conceito (aqui,unix(7)). - A estrutura está associada a um arquivo ou é usada para analisar esse arquivo (por exemplo,
struct utmp): dê uma olhada na página de manual desse arquivo, se houver alguma (aqui,utmp(5)). - A estrutura parece não estar documentada em nenhuma página man, dê uma olhada no arquivo de cabeçalho no qual ela está definida. Aqui está o exemplo de
struct ifaddrs, mesmo que tenha uma página man emgetifaddrs(3):
Arquivo: /usr/include/ifaddrs.h
struct ifaddrs
{
struct ifaddrs *ifa_next; /* Pointer to the next structure. */
char *ifa_name; /* Name of this network interface. */
unsigned int ifa_flags; /* Flags as from SIOCGIFFLAGS ioctl. */
struct sockaddr *ifa_addr; /* Network address of this interface. */
struct sockaddr *ifa_netmask; /* Netmask of this interface. */
// ...
};