138969Skarels /* 2*63211Sbostic * Copyright (c) 1988, 1993 3*63211Sbostic * The Regents of the University of California. All rights reserved. 438969Skarels * 544464Sbostic * %sccs.include.redist.c% 638969Skarels * 7*63211Sbostic * @(#)if_llc.h 8.1 (Berkeley) 06/10/93 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 { 3758233Ssklower u_char control; 3858233Ssklower struct frmrinfo { 3958233Ssklower u_char rej_pdu_0; 4058233Ssklower u_char rej_pdu_1; 4158233Ssklower u_char frmr_control; 4258233Ssklower u_char frmr_control_ext; 4358233Ssklower u_char frmr_cause; 4458233Ssklower } frmrinfo; 4558233Ssklower } type_frmr; 4658233Ssklower struct { 4738969Skarels u_char control; 4838969Skarels u_char org_code[3]; 4938969Skarels u_short ether_type; 5038969Skarels } type_snap; 5158233Ssklower struct { 5258233Ssklower u_char control; 5358233Ssklower u_char control_ext; 5458233Ssklower } type_raw; 5538969Skarels } llc_un; 5638969Skarels }; 5758233Ssklower #define llc_control llc_un.type_u.control 5858233Ssklower #define llc_control_ext llc_un.type_raw.control_ext 5958233Ssklower #define llc_fid llc_un.type_u.format_id 6058233Ssklower #define llc_class llc_un.type_u.class 6158233Ssklower #define llc_window llc_un.type_u.window_x2 6258233Ssklower #define llc_frmrinfo llc_un.type_frmr.frmrinfo 6358233Ssklower #define llc_frmr_pdu0 llc_un.type_frmr.frmrinfo.rej_pdu0 6458233Ssklower #define llc_frmr_pdu1 llc_un.type_frmr.frmrinfo.rej_pdu1 6558233Ssklower #define llc_frmr_control llc_un.type_frmr.frmrinfo.frmr_control 6658233Ssklower #define llc_frmr_control_ext llc_un.type_frmr.frmrinfo.frmr_control_ext 6758233Ssklower #define llc_frmr_cause llc_un.type_frmr.frmrinfo.frmr_control_ext 6838969Skarels 6958233Ssklower /* 7058233Ssklower * Don't use sizeof(struct llc_un) for LLC header sizes 7158233Ssklower */ 7258233Ssklower #define LLC_ISFRAMELEN 4 7358233Ssklower #define LLC_UFRAMELEN 3 7458233Ssklower #define LLC_FRMRLEN 7 7558233Ssklower 7658233Ssklower /* 7758233Ssklower * Unnumbered LLC format commands 7858233Ssklower */ 7938969Skarels #define LLC_UI 0x3 8038969Skarels #define LLC_UI_P 0x13 8158233Ssklower #define LLC_DISC 0x43 8258233Ssklower #define LLC_DISC_P 0x53 8358233Ssklower #define LLC_UA 0x63 8458233Ssklower #define LLC_UA_P 0x73 8558233Ssklower #define LLC_TEST 0xe3 8658233Ssklower #define LLC_TEST_P 0xf3 8758233Ssklower #define LLC_FRMR 0x87 8858233Ssklower #define LLC_FRMR_P 0x97 8958233Ssklower #define LLC_DM 0x0f 9058233Ssklower #define LLC_DM_P 0x1f 9138969Skarels #define LLC_XID 0xaf 9238969Skarels #define LLC_XID_P 0xbf 9358233Ssklower #define LLC_SABME 0x6f 9458233Ssklower #define LLC_SABME_P 0x7f 9538969Skarels 9658233Ssklower /* 9758233Ssklower * Supervisory LLC commands 9858233Ssklower */ 9958233Ssklower #define LLC_RR 0x01 10058233Ssklower #define LLC_RNR 0x05 10158233Ssklower #define LLC_REJ 0x09 10258233Ssklower 10358233Ssklower /* 10458233Ssklower * Info format - dummy only 10558233Ssklower */ 10658233Ssklower #define LLC_INFO 0x00 10758233Ssklower 10858233Ssklower /* 10958233Ssklower * ISO PDTR 10178 contains among others 11058233Ssklower */ 11158233Ssklower #define LLC_X25_LSAP 0x7e 11258233Ssklower #define LLC_SNAP_LSAP 0xaa 11338969Skarels #define LLC_ISO_LSAP 0xfe 11458233Ssklower 11558233Ssklower 11658233Ssklower 11758233Ssklower 11858233Ssklower 11958233Ssklower 120