Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/inetsrv/inet_std.h

    rb4ec1ea r44c9ef4  
    4040#include <sys/types.h>
    4141
    42 /** Internet Datagram header (fixed part) */
     42#define IP6_NEXT_FRAGMENT  44
     43
     44/** IPv4 Datagram header (fixed part) */
    4345typedef struct {
    4446        /** Version, Internet Header Length */
     
    4850        /** Total Length */
    4951        uint16_t tot_len;
    50         /** Identification */
     52        /** Identifier */
    5153        uint16_t id;
    5254        /** Flags, Fragment Offset */
     
    9092};
    9193
     94/** Bits in ip6_header_fragment_t.offsmf */
     95enum flags_offsmt_bits {
     96        /** More fragments */
     97        OF_FLAG_M = 0,
     98        /** Fragment offset, highest bit */
     99        OF_FRAGOFF_h = 15,
     100        /** Fragment offset, lowest bit */
     101        OF_FRAGOFF_l = 3
     102};
     103
     104/** IPv6 Datagram header (fixed part) */
     105typedef struct {
     106        /** Version, Traffic class first 4 bits */
     107        uint8_t ver_tc;
     108        /** Traffic class (the rest), Flow label */
     109        uint8_t tc_fl[3];
     110        /* Payload length */
     111        uint16_t payload_len;
     112        /** Next header */
     113        uint8_t next;
     114        /** Hop limit */
     115        uint8_t hop_limit;
     116        /** Source address */
     117        uint8_t src_addr[16];
     118        /** Destination address */
     119        uint8_t dest_addr[16];
     120} ip6_header_t;
     121
     122/** IPv6 Datagram Fragment extension header */
     123typedef struct {
     124        /** Next header */
     125        uint8_t next;
     126        /** Reserved */
     127        uint8_t reserved;
     128        /** Fragmentation offset, reserved and M flag */
     129        uint16_t offsmf;
     130        /** Identifier */
     131        uint32_t id;
     132} ip6_header_fragment_t;
     133
    92134/** Fragment offset is expressed in units of 8 bytes */
    93135#define FRAG_OFFS_UNIT 8
Note: See TracChangeset for help on using the changeset viewer.