AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database

Declaration for 

icmp from NetLib:netinet.h.ip_icmp

(Struct)
/*
* Structure of an icmp header.
*/

struct icmp {
     u_char     icmp_type;          /* type of message, see below */
     u_char     icmp_code;          /* type sub code */
     u_short     icmp_cksum;          /* ones complement cksum of struct */
     union {
          u_char ih_pptr;               /ICMP_PARAMPROB */
          struct in_addr ih_gwaddr;     /ICMP_REDIRECT */
          struct ih_idseq {
               n_short     icd_id;
               n_short     icd_seq;
          } ih_idseq;
          int ih_void;

          /ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */
          struct ih_pmtu {
               n_short ipm_void;
               n_short ipm_nextmtu;
          } ih_pmtu;
     } icmp_hun;
#define     icmp_pptr     icmp_hun.ih_pptr
#define     icmp_gwaddr     icmp_hun.ih_gwaddr
#define     icmp_id          icmp_hun.ih_idseq.icd_id
#define     icmp_seq     icmp_hun.ih_idseq.icd_seq
#define     icmp_void     icmp_hun.ih_void
#define     icmp_pmvoid     icmp_hun.ih_pmtu.ipm_void
#define     icmp_nextmtu     icmp_hun.ih_pmtu.ipm_nextmtu
     union {
          struct id_ts {
               n_time its_otime;
               n_time its_rtime;
               n_time its_ttime;
          } id_ts;
          struct id_ip  {
               struct ip idi_ip;
               /* options and then 64 bits of data */
          } id_ip;
          u_long     id_mask;
          char     id_data[1];
     } icmp_dun;
#define     icmp_otime     icmp_dun.id_ts.its_otime
#define     icmp_rtime     icmp_dun.id_ts.its_rtime
#define     icmp_ttime     icmp_dun.id_ts.its_ttime
#define     icmp_ip          icmp_dun.id_ip.idi_ip
#define     icmp_mask     icmp_dun.id_mask
#define     icmp_data     icmp_dun.id_data
};



Open original source file

See header files's help page


[sh-index] Back to list of manuals