2 * Global definitions header file
4 * $Id: lane.h,v 1.9 1995/11/15 08:27:11 carnil Exp $
11 /* System includes needed for types */
12 #include <sys/types.h>
14 /* Local includes needed for types */
18 /* Type definitions */
20 unsigned le_header : 16;
21 unsigned char destaddr[6];
22 unsigned char srcaddr[6];
23 unsigned type_len : 16;
32 #define LE_HEADER_MAX 0xefff
37 unsigned char mac_address[6];
38 struct route_designator {
39 unsigned char reserved[4];
40 unsigned short designator;
45 #define LANE_DEST_NP 0x0000
46 #define LANE_DEST_MAC 0x0001
47 #define LANE_DEST_RD 0x0002
49 typedef unsigned short LecId_t;
50 #define LECID_MAX 0xfeff
53 unsigned char addr[20];
55 #define ATM_ADDR_LEN (sizeof(AtmAddr_t))
57 typedef struct lanedest_l {
58 LaneDestination_t *addr;
59 struct lanedest_l *next;
66 LaneDestList_t *destinations;
71 unsigned protocol : 8;
75 unsigned transaction_id : 32;
78 LaneDestination_t source;
79 LaneDestination_t target;
80 AtmAddr_t source_addr;
81 unsigned lan_type : 8;
82 unsigned max_frame : 8;
83 unsigned reserved : 8;
84 unsigned elan_name_size : 8;
85 AtmAddr_t target_addr;
91 unsigned protocol : 8;
96 /* Global function prototypes */
99 #define LE_MARKER 0xff00
100 #define LE_PROTOCOL 0x01
101 #define LE_VERSION 0x01
104 #define LE_CONFIGURE_REQUEST 0x0001
105 #define LE_CONFIGURE_RESPONSE 0x0101
106 #define LE_JOIN_REQUEST 0x0002
107 #define LE_JOIN_RESPONSE 0x0102
108 #define READY_QUERY 0x0003
109 #define READY_IND 0x0103
110 #define LE_REGISTER_REQUEST 0x0004
111 #define LE_REGISTER_RESPONSE 0x0104
112 #define LE_UNREGISTER_REQUEST 0x0005
113 #define LE_UNREGISTER_RESPONSE 0x0105
114 #define LE_ARP_REQUEST 0x0006
115 #define LE_ARP_RESPONSE 0x0106
116 #define LE_FLUSH_REQUEST 0x0007
117 #define LE_FLUSH_RESPONSE 0x0107
118 #define LE_NARP_REQUEST 0x0008
119 #define LE_TOPOLOGY_REQUEST 0x0009
122 #define LE_STATUS_SUCCESS 0 /* Success */
123 #define LE_STATUS_BAD_VERSION 1 /* Version not supported */
124 #define LE_STATUS_BAD_REQ 2 /* Invalid request parameters */
125 #define LE_STATUS_DUPLICATE_REG 4 /* Duplicate LAN registration */
126 #define LE_STATUS_DUPLICATE_ADDR 5 /* Duplicate ATM address */
127 #define LE_STATUS_NO_RESOURCES 6 /* Insufficient resources */
128 #define LE_STATUS_NO_ACCESS 7 /* Access denied */
129 #define LE_STATUS_BAD_LECID 8 /* Invalid requestor-id */
130 #define LE_STATUS_BAD_DEST 9 /* Invalid LAN destination */
131 #define LE_STATUS_BAD_ADDR 10 /* Invalid ATM address */
132 #define LE_STATUS_NO_CONFIG 20 /* No configuration */
133 #define LE_STATUS_CONFIG_ERROR 21 /* LE_CONFIGURE error */
134 #define LE_STATUS_NO_INFO 22 /* Insufficient Information */
135 #define LE_STATUS_MAX 22
138 #define LE_FLAG_REMOTE 0x0001
139 #define LE_FLAG_PROXY 0x0080
140 #define LE_FLAG_TOPOLOGY_CHANGE 0x0100
143 #define LE_LAN_TYPE_UNSPECIFIED 0x00
144 #define LE_LAN_TYPE_802_3 0x01
145 #define LE_LAN_TYPE_802_5 0x02
147 /* Max frame sizes, mtus */
148 #define LE_MAX_FRAME_UNSPECIFIED 0x00
149 #define LE_MAX_FRAME_1516 0x01
150 #define LE_MAX_FRAME_4544 0x02
151 #define LE_MAX_FRAME_9234 0x03
152 #define LE_MAX_FRAME_18190 0x04
154 extern const Unit_t main_unit;