138969Skarels /* 238969Skarels * Copyright (c) 1988 Regents of the University of California. 338969Skarels * All rights reserved. 438969Skarels * 5*44464Sbostic * %sccs.include.redist.c% 638969Skarels * 7*44464Sbostic * @(#)if_llc.h 7.2 (Berkeley) 06/28/90 838969Skarels */ 938969Skarels 1038969Skarels /* 1138969Skarels * IEEE 802.2 Link Level Control headers, for use in conjunction with 1238969Skarels * 802.{3,4,5} media access control methods. 1338969Skarels * 1438969Skarels * Headers here do not use bit fields due to shortcommings in many 1538969Skarels * compilers. 1638969Skarels */ 1738969Skarels 1838969Skarels struct llc { 1938969Skarels u_char llc_dsap; 2038969Skarels u_char llc_ssap; 2138969Skarels union { 2238969Skarels struct { 2338969Skarels u_char control; 2438969Skarels u_char format_id; 2538969Skarels u_char class; 2638969Skarels u_char window_x2; 2738969Skarels } type_u; 2838969Skarels struct { 2938969Skarels u_char num_snd_x2; 3038969Skarels u_char num_rcv_x2; 3138969Skarels } type_i; 3238969Skarels struct { 3338969Skarels u_char control; 3438969Skarels u_char num_rcv_x2; 3538969Skarels } type_s; 3638969Skarels struct { 3738969Skarels u_char control; 3838969Skarels u_char org_code[3]; 3938969Skarels u_short ether_type; 4038969Skarels } type_snap; 4138969Skarels } llc_un; 4238969Skarels }; 4338969Skarels #define llc_control llc_un.type_u.control 4438969Skarels #define llc_fid llc_un.type_u.format_id 4538969Skarels #define llc_class llc_un.type_u.class 4638969Skarels #define llc_window llc_un.type_u.window_x2 4738969Skarels 4838969Skarels #define LLC_UI 0x3 4938969Skarels #define LLC_UI_P 0x13 5038969Skarels #define LLC_XID 0xaf 5138969Skarels #define LLC_XID_P 0xbf 5238969Skarels #define LLC_TEST 0xe3 5338969Skarels #define LLC_TEST_P 0xf3 5438969Skarels 5538969Skarels #define LLC_ISO_LSAP 0xfe 5638969Skarels #define LLC_SNAP_LSAP 0xaa 57