xref: /csrg-svn/sys/net/if_llc.h (revision 44464)
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