Changeset dfda6a1 in mainline for uspace/lib/net/include/icmp_header.h


Ignore:
Timestamp:
2010-10-23T20:28:55Z (13 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
cc8d91a
Parents:
33dbbd2 (diff), 018d79b8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge from lp:~jakub/helenos/net.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/net/include/icmp_header.h

    r33dbbd2 rdfda6a1  
    2727 */
    2828
    29 /** @addtogroup icmp
     29/** @addtogroup libnet
    3030 *  @{
    3131 */
    3232
    3333/** @file
    34  *  ICMP header definition.
    35  *  Based on the RFC~792.
     34 * ICMP header definition.
     35 * Based on the RFC 792.
    3636 */
    3737
    38 #ifndef __NET_ICMP_HEADER_H__
    39 #define __NET_ICMP_HEADER_H__
     38#ifndef LIBNET_ICMP_HEADER_H_
     39#define LIBNET_ICMP_HEADER_H_
    4040
    4141#include <sys/types.h>
     
    4444#include <net/icmp_codes.h>
    4545
    46 /** ICMP header size in bytes.
    47  */
    48 #define ICMP_HEADER_SIZE                        sizeof(icmp_header_t)
     46/** ICMP header size in bytes. */
     47#define ICMP_HEADER_SIZE        sizeof(icmp_header_t)
    4948
    5049/** Type definition of the echo specific data.
    51  *  @see icmp_echo
     50 * @see icmp_echo
    5251 */
    53 typedef struct icmp_echo        icmp_echo_t;
     52typedef struct icmp_echo icmp_echo_t;
    5453
    5554/** Type definition of the echo specific data pointer.
    56  *  @see icmp_echo
     55 * @see icmp_echo
    5756 */
    58 typedef icmp_echo_t *           icmp_echo_ref;
     57typedef icmp_echo_t *icmp_echo_ref;
    5958
    60 /** Echo specific data.
    61  */
    62 struct icmp_echo{
    63         /** Message idintifier.
    64          */
     59/** Echo specific data. */
     60struct icmp_echo {
     61        /** Message idintifier. */
    6562        icmp_param_t identifier;
    66         /** Message sequence number.
    67          */
     63        /** Message sequence number. */
    6864        icmp_param_t sequence_number;
    6965} __attribute__ ((packed));
    7066
    7167/** Type definition of the internet control message header.
    72  *  @see icmp_header
     68 * @see icmp_header
    7369 */
    74 typedef struct icmp_header      icmp_header_t;
     70typedef struct icmp_header icmp_header_t;
    7571
    7672/** Type definition of the internet control message header pointer.
    77  *  @see icmp_header
     73 * @see icmp_header
    7874 */
    79 typedef icmp_header_t *         icmp_header_ref;
     75typedef icmp_header_t *icmp_header_ref;
    8076
    81 /** Internet control message header.
    82  */
    83 struct icmp_header{
    84         /** The type of the message.
    85          */
     77/** Internet control message header. */
     78struct icmp_header {
     79        /** The type of the message. */
    8680        uint8_t type;
    87         /** The error code for the datagram reported by the ICMP message.
    88          *  The interpretation is dependent on the message type.
     81       
     82        /**
     83         * The error code for the datagram reported by the ICMP message.
     84         * The interpretation is dependent on the message type.
    8985         */
    9086        uint8_t code;
    91         /** The checksum is the 16-bit ones's complement of the one's complement sum of the ICMP message starting with the ICMP Type.
    92      *  For computing the checksum, the checksum field should be zero.
    93          *  If the checksum does not match the contents, the datagram is discarded.
     87       
     88        /**
     89         * The checksum is the 16-bit ones's complement of the one's complement
     90         * sum of the ICMP message starting with the ICMP Type. For computing
     91         * the checksum, the checksum field should be zero. If the checksum does
     92         * not match the contents, the datagram is discarded.
    9493         */
    9594        uint16_t checksum;
    96         /** Message specific data.
    97          */
    98         union{
    99                 /** Echo specific data.
    100                  */
     95
     96        /** Message specific data. */
     97        union {
     98                /** Echo specific data. */
    10199                icmp_echo_t  echo;
    102                 /** Proposed gateway value.
    103                  */
     100                /** Proposed gateway value. */
    104101                in_addr_t gateway;
    105                 /** Fragmentation needed specific data.
    106                  */
    107                 struct{
    108                         /** Reserved field.
    109                          *  Must be zero.
    110                          */
     102               
     103                /** Fragmentation needed specific data. */
     104                struct {
     105                        /** Reserved field. Must be zero. */
    111106                        icmp_param_t reserved;
    112                         /** Proposed MTU.
    113                          */
     107                        /** Proposed MTU. */
    114108                        icmp_param_t mtu;
    115109                } frag;
    116                 /** Parameter problem specific data.
    117                  */
    118                 struct{
    119                         /** Problem pointer.
    120                          */
     110               
     111                /** Parameter problem specific data. */
     112                struct {
     113                        /** Problem pointer. */
    121114                        icmp_param_t pointer;
    122                         /** Reserved field.
    123                          *  Must be zero.
    124                          */
     115                        /** Reserved field. Must be zero. */
    125116                        icmp_param_t reserved;
    126117                } param;
Note: See TracChangeset for help on using the changeset viewer.