/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef ICMP_H
#define ICMP_H
/*
* Structure of an internet header, naked of options.
*
* We declare ip_len and ip_off to be short, rather than ushort_t
* pragmatically since otherwise unsigned comparisons can result
* against negative integers quite easily, and fail in subtle ways.
*/
struct ip {
};
/*
* Structure of an icmp header.
*/
struct icmp {
union {
struct ih_idseq {
unsigned short icd_id;
unsigned short icd_seq;
} ih_idseq;
int ih_void;
/* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */
struct ih_pmtu {
unsigned short ipm_void;
unsigned short ipm_nextmtu;
} ih_pmtu;
struct ih_rtradv {
unsigned char irt_num_addrs;
unsigned char irt_wpa;
unsigned short irt_lifetime;
} ih_rtradv;
} icmp_hun;
union {
struct id_ts {
unsigned int its_otime;
unsigned int its_rtime;
unsigned int its_ttime;
} id_ts;
struct id_ip {
/* options and then 64 bits of data */
} id_ip;
unsigned int id_mask;
} icmp_dun;
};
/*
* ICMPv6 structures & constants
*/
typedef struct icmp6_hdr {
union {
} icmp6_dataun;
} icmp6_t;
{
};
#endif