diff options
Diffstat (limited to 'usr/src/lib/libbc/inc/include/netinet')
| -rw-r--r-- | usr/src/lib/libbc/inc/include/netinet/if_ether.h | 150 | ||||
| -rw-r--r-- | usr/src/lib/libbc/inc/include/netinet/in.h | 214 |
2 files changed, 0 insertions, 364 deletions
diff --git a/usr/src/lib/libbc/inc/include/netinet/if_ether.h b/usr/src/lib/libbc/inc/include/netinet/if_ether.h deleted file mode 100644 index be9681358a..0000000000 --- a/usr/src/lib/libbc/inc/include/netinet/if_ether.h +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (c) 1982, 1986 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms are permitted - * provided that this notice is preserved and that due credit is given - * to the University of California at Berkeley. The name of the University - * may not be used to endorse or promote products derived from this - * software without specific prior written permission. This software - * is provided ``as is'' without express or implied warranty. - */ - -#ifndef _netinet_if_ether_h -#define _netinet_if_ether_h - -#pragma ident "%Z%%M% %I% %E% SMI" - -/* - * The following include is for compatibility with SunOS 3.x and - * 4.3bsd. Newly written programs should include it separately. - */ -#include <net/if_arp.h> - -/* - * Ethernet address - 6 octets - */ -struct ether_addr { - u_char ether_addr_octet[6]; -}; - -/* - * Structure of a 10Mb/s Ethernet header. - */ -struct ether_header { - struct ether_addr ether_dhost; - struct ether_addr ether_shost; - u_short ether_type; -}; - -#define ETHERTYPE_PUP 0x0200 /* PUP protocol */ -#define ETHERTYPE_IP 0x0800 /* IP protocol */ -#define ETHERTYPE_ARP 0x0806 /* Addr. resolution protocol */ -#define ETHERTYPE_REVARP 0x8035 /* Reverse ARP */ - -/* - * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have - * (type-ETHERTYPE_TRAIL)*512 bytes of data followed - * by an ETHER type (as given above) and then the (variable-length) header. - */ -#define ETHERTYPE_TRAIL 0x1000 /* Trailer packet */ -#define ETHERTYPE_NTRAILER 16 - -#define ETHERMTU 1500 -#define ETHERMIN (60-14) - -/* - * Ethernet Address Resolution Protocol. - * - * See RFC 826 for protocol description. Structure below is adapted - * to resolving internet addresses. Field names used correspond to - * RFC 826. - */ -struct ether_arp { - struct arphdr ea_hdr; /* fixed-size header */ - struct ether_addr arp_sha; /* sender hardware address */ - u_char arp_spa[4]; /* sender protocol address */ - struct ether_addr arp_tha; /* target hardware address */ - u_char arp_tpa[4]; /* target protocol address */ -}; -#define arp_hrd ea_hdr.ar_hrd -#define arp_pro ea_hdr.ar_pro -#define arp_hln ea_hdr.ar_hln -#define arp_pln ea_hdr.ar_pln -#define arp_op ea_hdr.ar_op - -/* - * multicast address structure - * - * Keep a reference count for each multicast address so - * addresses loaded into chip are unique. - */ -struct mcaddr { - struct ether_addr mc_enaddr; /* multicast address */ - u_short mc_count; /* reference count */ -}; -#define MCADDRMAX 64 /* multicast addr table length */ -#define MCCOUNTMAX 4096 /* multicast addr max reference count */ - -/* - * Structure shared between the ethernet driver modules and - * the address resolution code. For example, each ec_softc or il_softc - * begins with this structure. - * - * The structure contains a pointer to an array of multicast addresses. - * This pointer is NULL until the first successful SIOCADDMULTI ioctl - * is issued for the interface. - */ -struct arpcom { - struct ifnet ac_if; /* network-visible interface */ - struct ether_addr ac_enaddr; /* ethernet hardware address */ - struct in_addr ac_ipaddr; /* copy of ip address- XXX */ - struct mcaddr *ac_mcaddr; /* table of multicast addrs */ - u_short ac_nmcaddr; /* count of M/C addrs in use */ - struct in_addr ac_lastip; /* cache of last ARP lookup */ - struct ether_addr ac_lastarp; /* result of the last ARP */ -}; - -/* - * Internet to ethernet address resolution table. - */ -struct arptab { - struct in_addr at_iaddr; /* internet address */ - union { - struct ether_addr atu_enaddr; /* ethernet address */ - long atu_tvsec; /* timestamp if incomplete */ - } at_union; - u_char at_timer; /* minutes since last reference */ - u_char at_flags; /* flags */ - struct mbuf *at_hold; /* last packet until resolved/timeout */ -}; - -# define at_enaddr at_union.atu_enaddr -# define at_tvsec at_union.atu_tvsec - -/* - * Compare two Ethernet addresses - assumes that the two given - * pointers can be referenced as shorts. On architectures - * where this is not the case, use bcmp instead. Note that like - * bcmp, we return zero if they are the SAME. - */ -#define ether_cmp(a,b) ( ((short *)b)[2] != ((short *)a)[2] || \ - ((short *)b)[1] != ((short *)a)[1] || ((short *)b)[0] != ((short *)a)[0] ) - -/* - * Copy Ethernet addresses from a to b - assumes that the two given - * pointers can be referenced as shorts. On architectures - * where this is not the case, use bcopy instead. - */ -#define ether_copy(a,b) { ((short *)b)[0]=((short *)a)[0]; \ - ((short *)b)[1]=((short *)a)[1]; ((short *)b)[2]=((short *)a)[2]; } - -/* - * Copy IP addresses from a to b - assumes that the two given - * pointers can be referenced as shorts. On architectures - * where this is not the case, use bcopy instead. - */ -#define ip_copy(a,b) { ((short *)b)[0]=((short *)a)[0]; \ - ((short *)b)[1]=((short *)a)[1]; } - -#endif /* !_netinet_if_ether_h */ diff --git a/usr/src/lib/libbc/inc/include/netinet/in.h b/usr/src/lib/libbc/inc/include/netinet/in.h deleted file mode 100644 index 7db2b4f096..0000000000 --- a/usr/src/lib/libbc/inc/include/netinet/in.h +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - * - * Copyright (c) 1982, 1986 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms are permitted - * provided that this notice is preserved and that due credit is given - * to the University of California at Berkeley. The name of the University - * may not be used to endorse or promote products derived from this - * software without specific prior written permission. This software - * is provided ``as is'' without express or implied warranty. - */ - -/* - * Constants and structures defined by the internet system, - * Per RFC 790, September 1981. - */ - -#ifndef _netinet_in_h -#define _netinet_in_h - -#pragma ident "%Z%%M% %I% %E% SMI" - -/* - * Protocols - */ -#define IPPROTO_IP 0 /* dummy for IP */ -#define IPPROTO_ICMP 1 /* control message protocol */ -#define IPPROTO_IGMP 2 /* group control protocol */ -#define IPPROTO_GGP 3 /* gateway^2 (deprecated) */ -#define IPPROTO_TCP 6 /* tcp */ -#define IPPROTO_EGP 8 /* exterior gateway protocol */ -#define IPPROTO_PUP 12 /* pup */ -#define IPPROTO_UDP 17 /* user datagram protocol */ -#define IPPROTO_IDP 22 /* xns idp */ -#define IPPROTO_HELLO 63 /* "hello" routing protocol */ -#define IPPROTO_ND 77 /* UNOFFICIAL net disk proto */ - -#define IPPROTO_RAW 255 /* raw IP packet */ -#define IPPROTO_MAX 256 - -/* - * Port/socket numbers: network standard functions - */ -#define IPPORT_ECHO 7 -#define IPPORT_DISCARD 9 -#define IPPORT_SYSTAT 11 -#define IPPORT_DAYTIME 13 -#define IPPORT_NETSTAT 15 -#define IPPORT_FTP 21 -#define IPPORT_TELNET 23 -#define IPPORT_SMTP 25 -#define IPPORT_TIMESERVER 37 -#define IPPORT_NAMESERVER 42 -#define IPPORT_WHOIS 43 -#define IPPORT_MTP 57 - -/* - * Port/socket numbers: host specific functions - */ -#define IPPORT_TFTP 69 -#define IPPORT_RJE 77 -#define IPPORT_FINGER 79 -#define IPPORT_TTYLINK 87 -#define IPPORT_SUPDUP 95 - -/* - * UNIX TCP sockets - */ -#define IPPORT_EXECSERVER 512 -#define IPPORT_LOGINSERVER 513 -#define IPPORT_CMDSERVER 514 -#define IPPORT_EFSSERVER 520 - -/* - * UNIX UDP sockets - */ -#define IPPORT_BIFFUDP 512 -#define IPPORT_WHOSERVER 513 -#define IPPORT_ROUTESERVER 520 /* 520+1 also used */ - -/* - * Ports < IPPORT_RESERVED are reserved for - * privileged processes (e.g. root). - * Ports > IPPORT_USERRESERVED are reserved - * for servers, not necessarily privileged. - */ -#define IPPORT_RESERVED 1024 -#define IPPORT_USERRESERVED 5000 - -/* - * Link numbers - */ -#define IMPLINK_IP 155 -#define IMPLINK_LOWEXPER 156 -#define IMPLINK_HIGHEXPER 158 - -/* - * Internet address - * This definition contains obsolete fields for compatibility - * with SunOS 3.x and 4.2bsd. The presence of subnets renders - * divisions into fixed fields misleading at best. New code - * should use only the s_addr field. - */ -struct in_addr { - union { - struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b; - struct { u_short s_w1,s_w2; } S_un_w; - u_long S_addr; - } S_un; -#define s_addr S_un.S_addr /* should be used for all code */ -#define s_host S_un.S_un_b.s_b2 /* OBSOLETE: host on imp */ -#define s_net S_un.S_un_b.s_b1 /* OBSOLETE: network */ -#define s_imp S_un.S_un_w.s_w2 /* OBSOLETE: imp */ -#define s_impno S_un.S_un_b.s_b4 /* OBSOLETE: imp # */ -#define s_lh S_un.S_un_b.s_b3 /* OBSOLETE: logical host */ -}; - -/* - * Definitions of bits in internet address integers. - * On subnets, the decomposition of addresses to host and net parts - * is done according to subnet mask, not the masks here. - * - * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB, - * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto obsolete". - * IN_MULTICAST macro should be used to test if a address is a - * multicast address. - */ -#define IN_CLASSA(i) (((long)(i) & 0x80000000) == 0) -#define IN_CLASSA_NET 0xff000000 -#define IN_CLASSA_NSHIFT 24 -#define IN_CLASSA_HOST 0x00ffffff -#define IN_CLASSA_MAX 128 - -#define IN_CLASSB(i) (((long)(i) & 0xc0000000) == 0x80000000) -#define IN_CLASSB_NET 0xffff0000 -#define IN_CLASSB_NSHIFT 16 -#define IN_CLASSB_HOST 0x0000ffff -#define IN_CLASSB_MAX 65536 - -#define IN_CLASSC(i) (((long)(i) & 0xe0000000) == 0xc0000000) -#define IN_CLASSC_NET 0xffffff00 -#define IN_CLASSC_NSHIFT 8 -#define IN_CLASSC_HOST 0x000000ff - -#define IN_CLASSD(i) (((long)(i) & 0xf0000000) == 0xe0000000) -#define IN_MULTICAST(i) IN_CLASSD(i) - -#define IN_CLASSE(i) (((long)(i) & 0xf0000000) == 0xf0000000) - -#define IN_CLASSE_NET 0xffffffff - -/* - * We have removed CLASS E checks from the kernel - * But we preserve these defines for userland in order - * to avoid compile breakage of some 3rd party piece of software - */ -#ifndef KERNEL -#define IN_EXPERIMENTAL(i) (((long)(i) & 0xe0000000) == 0xe0000000) -#define IN_BADCLASS(i) (((long)(i) & 0xf0000000) == 0xf0000000) -#endif - -#define INADDR_ANY (u_long)0x00000000 -#define INADDR_LOOPBACK (u_long)0x7F000001 -#define INADDR_BROADCAST (u_long)0xffffffff /* must be masked */ - -#define IN_LOOPBACKNET 127 /* official! */ - -/* - * Define a macro to stuff the loopback address into an Internet address - */ -#define IN_SET_LOOPBACK_ADDR(a) {(a)->sin_addr.s_addr = htonl(INADDR_LOOPBACK); \ - (a)->sin_family = AF_INET;} - -/* - * Socket address, internet style. - */ -struct sockaddr_in { - short sin_family; - u_short sin_port; - struct in_addr sin_addr; - char sin_zero[8]; -}; - -/* - * Options for use with [gs]etsockopt at the IP level. - */ -#define IP_OPTIONS 1 /* set/get IP per-packet options */ - -#if !defined(vax) && !defined(ntohl) && !defined(lint) && !defined(i386) -/* - * Macros for number representation conversion. - */ -#define ntohl(x) (x) -#define ntohs(x) (x) -#define htonl(x) (x) -#define htons(x) (x) -#endif - -#if !defined(ntohl) && (defined(vax) || defined(lint) || defined(i386)) -u_short ntohs(), htons(); -u_long ntohl(), htonl(); -#endif - -#ifdef KERNEL -extern struct domain inetdomain; -extern struct protosw inetsw[]; -struct in_addr in_makeaddr(); -u_long in_netof(), in_lnaof(); -#endif - -#endif /* !_netinet_in_h */ |
