Les Forums
Les forums sont fermés. Ils restent présent pour consultation et archivage.
Vous pouvez désormais poser vos questions directement dans les commentaires en bas de chaque page du site.
Alors n'hésitez pas à participer
entete IP en Langage C
Bonjour à tous, Je manipule actuellement des entetes IP. Ils sont représenté par des strucutures en langage C. J'ai repris ce qui a été fait sur le sujet. Par exemple, d'apres la RFC, le TTL d'un entête IP est codé sur 8 bits. Une variable de type "char" est donc utilisée car elle même codé sur 8 bits. Je comprends que le TTL soit représenté par une variable de type char. Par contre,pour représenter les données de type variable on utilise un tableau d'1 caractéres. char ip_data[1] dans l'exemple. Et c'est la que je ne comprends pas. A quoi sert ce IP_DATA[1] ? pour quoi un tableau de 1 caracteres et pas une variable de type char ? Merci de votre aide typedef struct IP_HEAD_tag{ unsigned char ip_header_len:4; // 4 bits. Length of the header in dwords unsigned char ip_ver:4; // 4 bits. Version of IP unsigned char ip_tos; // Type of service unsigned short ip_len; // Total packet length unsigned short ip_id; // Datagram identification unsigned short ip_fragoff; // Fragment offset unsigned char ip_ttl; // Time to live unsigned char ip_proto; // Protocol unsigned short ip_chksum; // Checksum unsigned int ip_src_addr; // Source address unsigned int ip_dst_addr; // Destination address unsigned char ip_data[1]; // Variable length data area }IP_HEAD; |