Où trouver la définition complète de off_t type?

Je suis l'envoi de fichier du client vers le serveur en utilisant le protocole TCP. Pour marquer la fin du fichier, je tiens à envoyer un fichier de taille avant de les données réelles. J'ai donc utiliser stat appel système pour trouver la taille du fichier. C'est de type off_t. Je voudrais savoir combien d'octets il occupe afin que je puisse le lire correctement sur le serveur. Il est défini dans la <sys/types.h>. Mais je ne comprends pas la définition. Il ne définit __off_t or _off64_t être off_t. Où chercher __off_t? Aussi est-il de la convention qui __ est le préfixe pour la plupart des choses dans les fichiers d'en-tête et me fait peur quand je lis des fichiers d'en-tête pour mieux comprendre. Comment lire un fichier d'en-tête mieux?

#ifndef __off_t_defined
# ifndef __USE_FILE_OFFSET64
typedef __off_t off_t;
# else
typedef __off64_t off_t;
# endif
# define __off_t_defined
#endif 
  • Tout ce qui commence par __ est réservé pour une utilisation par la mise en œuvre (à moins que la norme définit un sens pour elle, comme dans __func__ ou __FILE__). Le niveau d'indirection permet la mise en œuvre de définir son propre type __off_t sans interférer avec tout ce que vous pouvez légitimement. La plate-forme de bits de l'en-tête peut alors être mieux caché (donc une seule copie du code source peut gérer 32 bits et 64 bits des compilations sur une seule machine, par exemple). La lecture des en-têtes standard est l'un des principaux corvée, car il ya tellement interdépendants, les définitions.
InformationsquelleAutor FourOfAKind | 2012-01-31