47 |
|
/* |
48 |
|
* Structure of an icmp header. |
49 |
|
*/ |
50 |
+ |
#ifdef PRAGMA_PACK_SUPPORTED |
51 |
+ |
#pragma pack(1) |
52 |
+ |
#endif |
53 |
+ |
|
54 |
|
struct icmp { |
55 |
|
u_char icmp_type; /* type of message, see below */ |
56 |
|
u_char icmp_code; /* type sub code */ |
87 |
|
struct ip idi_ip; |
88 |
|
/* options and then 64 bits of data */ |
89 |
|
} id_ip; |
90 |
< |
u_long id_mask; |
91 |
< |
char id_data[1]; |
90 |
> |
uint32_t id_mask; |
91 |
> |
char id_data[1]; |
92 |
|
} icmp_dun; |
93 |
|
#define icmp_otime icmp_dun.id_ts.its_otime |
94 |
|
#define icmp_rtime icmp_dun.id_ts.its_rtime |
96 |
|
#define icmp_ip icmp_dun.id_ip.idi_ip |
97 |
|
#define icmp_mask icmp_dun.id_mask |
98 |
|
#define icmp_data icmp_dun.id_data |
99 |
< |
}; |
99 |
> |
} PACKED__; |
100 |
> |
|
101 |
> |
#ifdef PRAGMA_PACK_SUPPORTED |
102 |
> |
#pragma pack(0) |
103 |
> |
#endif |
104 |
|
|
105 |
|
/* |
106 |
|
* Lower bounds on packet lengths for various types. |