10 |
|
* 2. Redistributions in binary form must reproduce the above copyright |
11 |
|
* notice, this list of conditions and the following disclaimer in the |
12 |
|
* documentation and/or other materials provided with the distribution. |
13 |
< |
* 3. All advertising materials mentioning features or use of this software |
14 |
< |
* must display the following acknowledgement: |
15 |
< |
* This product includes software developed by the University of |
16 |
< |
* California, Berkeley and its contributors. |
17 |
< |
* 4. Neither the name of the University nor the names of its contributors |
13 |
> |
* 3. Neither the name of the University nor the names of its contributors |
14 |
|
* may be used to endorse or promote products derived from this software |
15 |
|
* without specific prior written permission. |
16 |
|
* |
43 |
|
/* |
44 |
|
* Structure of an icmp header. |
45 |
|
*/ |
46 |
+ |
#ifdef PRAGMA_PACK_SUPPORTED |
47 |
+ |
#pragma pack(1) |
48 |
+ |
#endif |
49 |
+ |
|
50 |
|
struct icmp { |
51 |
|
u_char icmp_type; /* type of message, see below */ |
52 |
|
u_char icmp_code; /* type sub code */ |
83 |
|
struct ip idi_ip; |
84 |
|
/* options and then 64 bits of data */ |
85 |
|
} id_ip; |
86 |
< |
u_long id_mask; |
87 |
< |
char id_data[1]; |
86 |
> |
uint32_t id_mask; |
87 |
> |
char id_data[1]; |
88 |
|
} icmp_dun; |
89 |
|
#define icmp_otime icmp_dun.id_ts.its_otime |
90 |
|
#define icmp_rtime icmp_dun.id_ts.its_rtime |
92 |
|
#define icmp_ip icmp_dun.id_ip.idi_ip |
93 |
|
#define icmp_mask icmp_dun.id_mask |
94 |
|
#define icmp_data icmp_dun.id_data |
95 |
< |
}; |
95 |
> |
} PACKED__; |
96 |
> |
|
97 |
> |
#ifdef PRAGMA_PACK_SUPPORTED |
98 |
> |
#pragma pack(0) |
99 |
> |
#endif |
100 |
|
|
101 |
|
/* |
102 |
|
* Lower bounds on packet lengths for various types. |