/***************************************************************************** * * Copyright 1989, Xylogics, Inc. ALL RIGHTS RESERVED. * * ALL RIGHTS RESERVED. Licensed Material - Property of Xylogics, Inc. * This software is made available solely pursuant to the terms of a * software license agreement which governs its use. * Unauthorized duplication, distribution or sale are strictly prohibited. * * Module Function: * * IP and UDP Header Definitions for Xenix UDP SL/IP * * Original Author: Paul Mattes Created on: 01/04/88 * * Revision Control Information: * * $Header: /annex/common/src/./inc/slip/RCS/slip_system.h,v 1.3 1989/04/05 14:48:19 root Rel $ * * This file created by RCS from: * $Source: /annex/common/src/./inc/slip/RCS/slip_system.h,v $ * * Revision History: * * $Log: slip_system.h,v $ * Revision 1.3 1989/04/05 14:48:19 root * Changed copyright notice * * Revision 1.2 88/05/31 17:08:29 parker * Changes for new install-annex script * * Revision 1.1 88/04/15 12:18:32 mattes * Initial revision * * * This file is currently under revision by: * * $Locker: $ * *****************************************************************************/ /* * NOTE: This header file is a condensation of several 4.3BSD header files. * * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ /* * @(#)ip.h 7.1 (Berkeley) 6/5/86 */ /* * Definitions for internet protocol version 4. * Per RFC 791, September 1981. */ #define IPVERSION 4 /* * Structure of an internet header, naked of options. */ struct ip { u_char ip_hl:4, /* header length */ ip_v:4; /* version */ u_char ip_tos; /* type of service */ short ip_len; /* total length */ u_short ip_id; /* identification */ short ip_off; /* fragment offset field */ #define IP_DF 0x4000 /* dont fragment flag */ #define IP_MF 0x2000 /* more fragments flag */ u_char ip_ttl; /* time to live */ u_char ip_p; /* protocol */ u_short ip_sum; /* checksum */ struct in_addr ip_src,ip_dst; /* source and dest address */ }; /* * Internet implementation parameters. */ #define MAXTTL 255 /* maximum time to live (seconds) */ #define IP_MSS 576 /* default maximum segment size */ /* * @(#)udp.h 7.1 (Berkeley) 6/5/86 */ /* * Udp protocol header. * Per RFC 768, September, 1981. */ struct udphdr { u_short uh_sport; /* source port */ u_short uh_dport; /* destination port */ short uh_ulen; /* udp length */ u_short uh_sum; /* udp checksum */ }; /* * @(#)ip_var.h 7.1 (Berkeley) 6/5/86 */ /* * Overlay for ip header used by other protocols (tcp, udp). */ struct ipovly { caddr_t ih_next, ih_prev; /* for protocol sequence q's */ u_char ih_x1; /* (unused) */ u_char ih_pr; /* protocol */ short ih_len; /* protocol length */ struct in_addr ih_src; /* source internet address */ struct in_addr ih_dst; /* destination internet address */ }; /* * @(#)udp_var.h 7.1 (Berkeley) 6/5/86 */ /* * UDP kernel structures and variables. */ struct udpiphdr { struct ipovly ui_i; /* overlaid ip structure */ struct udphdr ui_u; /* udp header */ }; #define ui_next ui_i.ih_next #define ui_prev ui_i.ih_prev #define ui_x1 ui_i.ih_x1 #define ui_pr ui_i.ih_pr #define ui_len ui_i.ih_len #define ui_src ui_i.ih_src #define ui_dst ui_i.ih_dst #define ui_sport ui_u.uh_sport #define ui_dport ui_u.uh_dport #define ui_ulen ui_u.uh_ulen #define ui_sum ui_u.uh_sum #define UDP_TTL 30 /* time to live for UDP packets */