Root/
Source at commit 2741 created 8 years 11 months ago. By ifabio, Add data for new logo and clut (grey) from macosxbootloader (Credits to Pike R. Alpha) | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * This file contains Original Code and/or Modifications of Original Code␊ |
7 | * as defined in and that are subject to the Apple Public Source License␊ |
8 | * Version 2.0 (the 'License'). You may not use this file except in␊ |
9 | * compliance with the License. The rights granted to you under the License␊ |
10 | * may not be used to create, or enable the creation or redistribution of,␊ |
11 | * unlawful or unlicensed copies of an Apple operating system, or to␊ |
12 | * circumvent, violate, or enable the circumvention or violation of, any␊ |
13 | * terms of an Apple operating system software license agreement.␊ |
14 | * ␊ |
15 | * Please obtain a copy of the License at␊ |
16 | * http://www.opensource.apple.com/apsl/ and read it before using this file.␊ |
17 | * ␊ |
18 | * The Original Code and all software distributed under the License are␊ |
19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.␊ |
23 | * Please see the License for the specific language governing rights and␊ |
24 | * limitations under the License.␊ |
25 | * ␊ |
26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@␊ |
27 | */␊ |
28 | /*␊ |
29 | * Copyright (c) 1982, 1986, 1993␊ |
30 | *␉The Regents of the University of California. All rights reserved.␊ |
31 | *␊ |
32 | * Redistribution and use in source and binary forms, with or without␊ |
33 | * modification, are permitted provided that the following conditions␊ |
34 | * are met:␊ |
35 | * 1. Redistributions of source code must retain the above copyright␊ |
36 | * notice, this list of conditions and the following disclaimer.␊ |
37 | * 2. Redistributions in binary form must reproduce the above copyright␊ |
38 | * notice, this list of conditions and the following disclaimer in the␊ |
39 | * documentation and/or other materials provided with the distribution.␊ |
40 | * 3. All advertising materials mentioning features or use of this software␊ |
41 | * must display the following acknowledgement:␊ |
42 | *␉This product includes software developed by the University of␊ |
43 | *␉California, Berkeley and its contributors.␊ |
44 | * 4. Neither the name of the University nor the names of its contributors␊ |
45 | * may be used to endorse or promote products derived from this software␊ |
46 | * without specific prior written permission.␊ |
47 | *␊ |
48 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND␊ |
49 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE␊ |
50 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE␊ |
51 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE␊ |
52 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL␊ |
53 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS␊ |
54 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)␊ |
55 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT␊ |
56 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY␊ |
57 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF␊ |
58 | * SUCH DAMAGE.␊ |
59 | *␊ |
60 | *␉@(#)if_ether.h␉8.3 (Berkeley) 5/2/95␊ |
61 | * $FreeBSD: src/sys/netinet/if_ether.h,v 1.24 1999/12/29 04:40:58 peter Exp $␊ |
62 | */␊ |
63 | ␊ |
64 | #ifndef _NETINET_IF_ETHER_H_␊ |
65 | #define _NETINET_IF_ETHER_H_␊ |
66 | #include <sys/appleapiopts.h>␊ |
67 | ␊ |
68 | #include <net/ethernet.h>␊ |
69 | ␊ |
70 | #include <netinet/in.h>␊ |
71 | #include <net/if_arp.h>␊ |
72 | #define ea_byte␉ether_addr_octet␊ |
73 | ␊ |
74 | /*␊ |
75 | * Macro to map an IP multicast address to an Ethernet multicast address.␊ |
76 | * The high-order 25 bits of the Ethernet address are statically assigned,␊ |
77 | * and the low-order 23 bits are taken from the low end of the IP address.␊ |
78 | */␊ |
79 | #define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \␊ |
80 | ␉/* struct in_addr *ipaddr; */ \␊ |
81 | ␉/* u_char enaddr[ETHER_ADDR_LEN];␉ */ \␊ |
82 | { \␊ |
83 | ␉(enaddr)[0] = 0x01; \␊ |
84 | ␉(enaddr)[1] = 0x00; \␊ |
85 | ␉(enaddr)[2] = 0x5e; \␊ |
86 | ␉(enaddr)[3] = ((const u_char *)ipaddr)[1] & 0x7f; \␊ |
87 | ␉(enaddr)[4] = ((const u_char *)ipaddr)[2]; \␊ |
88 | ␉(enaddr)[5] = ((const u_char *)ipaddr)[3]; \␊ |
89 | }␊ |
90 | /*␊ |
91 | * Macro to map an IP6 multicast address to an Ethernet multicast address.␊ |
92 | * The high-order 16 bits of the Ethernet address are statically assigned,␊ |
93 | * and the low-order 32 bits are taken from the low end of the IP6 address.␊ |
94 | */␊ |
95 | #define ETHER_MAP_IPV6_MULTICAST(ip6addr, enaddr)␉␉␉\␊ |
96 | /* struct␉in6_addr *ip6addr; */␉␉␉␉␉\␊ |
97 | /* u_char␉enaddr[ETHER_ADDR_LEN]; */␉␉␉␉\␊ |
98 | { \␊ |
99 | ␉(enaddr)[0] = 0x33;␉␉␉␉␉␉\␊ |
100 | ␉(enaddr)[1] = 0x33;␉␉␉␉␉␉\␊ |
101 | ␉(enaddr)[2] = ((const u_char *)ip6addr)[12];␉␉␉␉\␊ |
102 | ␉(enaddr)[3] = ((const u_char *)ip6addr)[13];␉␉␉␉\␊ |
103 | ␉(enaddr)[4] = ((const u_char *)ip6addr)[14];␉␉␉␉\␊ |
104 | ␉(enaddr)[5] = ((const u_char *)ip6addr)[15];␉␉␉␉\␊ |
105 | }␊ |
106 | ␊ |
107 | /*␊ |
108 | * Ethernet Address Resolution Protocol.␊ |
109 | *␊ |
110 | * See RFC 826 for protocol description. Structure below is adapted␊ |
111 | * to resolving internet addresses. Field names used correspond to␊ |
112 | * RFC 826.␊ |
113 | */␊ |
114 | struct␉ether_arp {␊ |
115 | ␉struct␉arphdr ea_hdr;␉/* fixed-size header */␊ |
116 | ␉u_char␉arp_sha[ETHER_ADDR_LEN];␉/* sender hardware address */␊ |
117 | ␉u_char␉arp_spa[4];␉/* sender protocol address */␊ |
118 | ␉u_char␉arp_tha[ETHER_ADDR_LEN];␉/* target hardware address */␊ |
119 | ␉u_char␉arp_tpa[4];␉/* target protocol address */␊ |
120 | };␊ |
121 | #define␉arp_hrd␉ea_hdr.ar_hrd␊ |
122 | #define␉arp_pro␉ea_hdr.ar_pro␊ |
123 | #define␉arp_hln␉ea_hdr.ar_hln␊ |
124 | #define␉arp_pln␉ea_hdr.ar_pln␊ |
125 | #define␉arp_op␉ea_hdr.ar_op␊ |
126 | ␊ |
127 | struct sockaddr_inarp {␊ |
128 | ␉u_char␉sin_len;␊ |
129 | ␉u_char␉sin_family;␊ |
130 | ␉u_short sin_port;␊ |
131 | ␉struct␉in_addr sin_addr;␊ |
132 | ␉struct␉in_addr sin_srcaddr;␊ |
133 | ␉u_short␉sin_tos;␊ |
134 | ␉u_short␉sin_other;␊ |
135 | #define SIN_PROXY 1␊ |
136 | };␊ |
137 | /*␊ |
138 | * IP and ethernet specific routing flags␊ |
139 | */␊ |
140 | #define␉RTF_USETRAILERS␉RTF_PROTO1␉/* use trailers */␊ |
141 | #define RTF_ANNOUNCE␉RTF_PROTO2␉/* announce new arp entry */␊ |
142 | ␊ |
143 | ␊ |
144 | #endif /* _NETINET_IF_ETHER_H_ */␊ |
145 |