1*38969Skarels /* 2*38969Skarels * Copyright (c) 1988 Regents of the University of California. 3*38969Skarels * All rights reserved. 4*38969Skarels * 5*38969Skarels * Redistribution and use in source and binary forms are permitted 6*38969Skarels * provided that the above copyright notice and this paragraph are 7*38969Skarels * duplicated in all such forms and that any documentation, 8*38969Skarels * advertising materials, and other materials related to such 9*38969Skarels * distribution and use acknowledge that the software was developed 10*38969Skarels * by the University of California, Berkeley. The name of the 11*38969Skarels * University may not be used to endorse or promote products derived 12*38969Skarels * from this software without specific prior written permission. 13*38969Skarels * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 14*38969Skarels * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 15*38969Skarels * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 16*38969Skarels * 17*38969Skarels * @(#)if_llc.h 7.1 (Berkeley) 09/04/89 18*38969Skarels */ 19*38969Skarels 20*38969Skarels /* 21*38969Skarels * IEEE 802.2 Link Level Control headers, for use in conjunction with 22*38969Skarels * 802.{3,4,5} media access control methods. 23*38969Skarels * 24*38969Skarels * Headers here do not use bit fields due to shortcommings in many 25*38969Skarels * compilers. 26*38969Skarels */ 27*38969Skarels 28*38969Skarels struct llc { 29*38969Skarels u_char llc_dsap; 30*38969Skarels u_char llc_ssap; 31*38969Skarels union { 32*38969Skarels struct { 33*38969Skarels u_char control; 34*38969Skarels u_char format_id; 35*38969Skarels u_char class; 36*38969Skarels u_char window_x2; 37*38969Skarels } type_u; 38*38969Skarels struct { 39*38969Skarels u_char num_snd_x2; 40*38969Skarels u_char num_rcv_x2; 41*38969Skarels } type_i; 42*38969Skarels struct { 43*38969Skarels u_char control; 44*38969Skarels u_char num_rcv_x2; 45*38969Skarels } type_s; 46*38969Skarels struct { 47*38969Skarels u_char control; 48*38969Skarels u_char org_code[3]; 49*38969Skarels u_short ether_type; 50*38969Skarels } type_snap; 51*38969Skarels } llc_un; 52*38969Skarels }; 53*38969Skarels #define llc_control llc_un.type_u.control 54*38969Skarels #define llc_fid llc_un.type_u.format_id 55*38969Skarels #define llc_class llc_un.type_u.class 56*38969Skarels #define llc_window llc_un.type_u.window_x2 57*38969Skarels 58*38969Skarels #define LLC_UI 0x3 59*38969Skarels #define LLC_UI_P 0x13 60*38969Skarels #define LLC_XID 0xaf 61*38969Skarels #define LLC_XID_P 0xbf 62*38969Skarels #define LLC_TEST 0xe3 63*38969Skarels #define LLC_TEST_P 0xf3 64*38969Skarels 65*38969Skarels #define LLC_ISO_LSAP 0xfe 66*38969Skarels #define LLC_SNAP_LSAP 0xaa 67