|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: /*
26: *
27: *
28: * ORIGINS: 82
29: *
30: * APPLE CONFIDENTIAL
31: * (C) COPYRIGHT Apple Computer, Inc. 1992-1996
32: * All Rights Reserved
33: *
34: */
35:
36: #ifndef __ELAP__
37: #define __ELAP__
38:
39: # include <at/nbp.h>
40:
41: /* ethernet address used by ethertalk - 48 bits
42: */
43:
44: #define AT_ETHER_HDR_SIZE 14 /* Ethernet header size */
45: #define AT_IF_NAME_LEN 4 /* interface name length */
46:
47: typedef struct etalk_addr {
48: u_char etalk_addr_octet[6];
49: } etalk_addr_t;
50:
51: typedef struct {
52: struct etalk_addr dest_addr;
53: struct etalk_addr src_addr;
54: u_short length;
55: } etalk_header_t;
56:
57: typedef struct {
58: u_int unknown_mblks; /* number of unknown streams msgs */
59: u_int rcv_bytes; /* number of data bytes received */
60: u_int rcv_packets; /* number of packets received */
61: u_int xmit_bytes; /* number of data bytes xmited */
62: u_int xmit_packets; /* number of packets xmited */
63: } at_elap_stats_t;
64:
65: typedef struct {
66: short network_up; /* 0=network down, nonzero up.*/
67: struct atalk_addr node; /* Our node number. */
68: struct atalk_addr initial_addr;
69: u_short flags; /* misc. port flags, (ELAP_CFG_xxx */
70: at_net_al netStart; /* network start range */
71: at_net_al netEnd; /* network ending range */
72: at_nvestr_t zonename;
73: char if_name [AT_IF_NAME_LEN];
74: } at_elap_cfg_t;
75:
76: /* router init info */
77: typedef struct {
78: short rtable_size; /* RTMP Routing Table Size */
79: short ztable_size; /* ZIP Table Size */
80: u_int flags; /* used to set at_state.flags */
81: } router_init_t;
82:
83: /* elap_cfg 'flags' defines */
84: #define ELAP_CFG_ZONELESS 0x01 /* true if we shouldn't set a zone (to avoid
85: generating a zip_getnetinfo when routing) */
86: #define ELAP_CFG_HOME 0x02 /* designate home port (one allowed) */
87: #define ELAP_CFG_SET_RANGE 0x04 /* set ifID cable range as supplied */
88: #define ELAP_CFG_SEED 0x08 /* set if it's a seed port */
89:
90: #define ELAP_CFG_ZONE_MCAST 0x10 /* zone passed to set multicast
91: only from pram zone when no router */
92: /* elap ioctl's */
93: #define ELAP_IOC_MYIOCTL(i) ((i>>8) == AT_MID_ELAP)
94: #define ELAP_IOC_GET_CFG ((AT_MID_ELAP<<8) | 1)
95: #define ELAP_IOC_GET_STATS ((AT_MID_ELAP<<8) | 2)
96: #define ELAP_IOC_SET_CFG ((AT_MID_ELAP<<8) | 3)
97: #define ELAP_IOC_SET_ZONE ((AT_MID_ELAP<<8) | 4)
98: #define ELAP_IOC_SWITCHZONE ((AT_MID_ELAP<<8) | 5)
99:
100: #endif /* __ELAP__ */
101:
102:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.