#include <net/if_llc.h>

net/if_llc.h

includes: sys/appleapiopts.h, sys/types.h
46 macros · 2 structs

structllc

size 8, align 1 · packed
u_int8_tllc_dsap
u_int8_tllc_ssap
unnamed union at net/if_llc.h:75:2llc_un
unnamed struct at net/if_llc.h:76:3type_u
u_int8_tcontrol
u_int8_tformat_id
u_int8_tclass_id
u_int8_twindow_x2
unnamed struct at net/if_llc.h:82:3type_i
u_int8_tnum_snd_x2
u_int8_tnum_rcv_x2
unnamed struct at net/if_llc.h:86:3type_s
u_int8_tcontrol
u_int8_tnum_rcv_x2
unnamed struct at net/if_llc.h:90:3type_frmr
u_int8_tcontrol
u_int8_tfrmr_rej_pdu0We cannot put the following fields in a structure because the structure rounding might cause padding.
u_int8_tfrmr_rej_pdu1
u_int8_tfrmr_control
u_int8_tfrmr_control_ext
u_int8_tfrmr_cause
unnamed struct at net/if_llc.h:102:3type_snap
u_int8_tcontrol
u_int8_t[3]org_code
u_int16_tether_type
unnamed struct at net/if_llc.h:107:3type_raw
u_int8_tcontrol
u_int8_tcontrol_ext

structfrmrinfo

size 5, align 1 · packed
u_int8_tfrmr_rej_pdu0
u_int8_tfrmr_rej_pdu1
u_int8_tfrmr_control
u_int8_tfrmr_control_ext
u_int8_tfrmr_cause

macrollc_control

#define llc_control llc_un.type_u.control

macrollc_control_ext

#define llc_control_ext llc_un.type_raw.control_ext

macrollc_fid

#define llc_fid llc_un.type_u.format_id

macrollc_class

#define llc_class llc_un.type_u.class

macrollc_window

#define llc_window llc_un.type_u.window_x2

macrollc_frmrinfo

#define llc_frmrinfo llc_un.type_frmr.frmr_rej_pdu0

macrollc_frmr_pdu0

#define llc_frmr_pdu0 llc_un.type_frmr.frmr_rej_pdu0

macrollc_frmr_pdu1

#define llc_frmr_pdu1 llc_un.type_frmr.frmr_rej_pdu1

macrollc_frmr_control

#define llc_frmr_control llc_un.type_frmr.frmr_control

macrollc_frmr_control_ext

#define llc_frmr_control_ext llc_un.type_frmr.frmr_control_ext

macrollc_frmr_cause

#define llc_frmr_cause llc_un.type_frmr.frmr_cause

macrollc_snap

#define llc_snap llc_un.type_snap

macroLLC_ISFRAMELEN

Don't use sizeof(struct llc_un) for LLC header sizes
#define LLC_ISFRAMELEN 4

macroLLC_UFRAMELEN

#define LLC_UFRAMELEN 3

macroLLC_FRMRLEN

#define LLC_FRMRLEN 7

macroLLC_SNAPFRAMELEN

#define LLC_SNAPFRAMELEN 8

macroLLC_UI

Unnumbered LLC format commands
#define LLC_UI 0x3

macroLLC_UI_P

#define LLC_UI_P 0x13

macroLLC_DISC

#define LLC_DISC 0x43

macroLLC_DISC_P

#define LLC_DISC_P 0x53

macroLLC_UA

#define LLC_UA 0x63

macroLLC_UA_P

#define LLC_UA_P 0x73

macroLLC_TEST

#define LLC_TEST 0xe3

macroLLC_TEST_P

#define LLC_TEST_P 0xf3

macroLLC_FRMR

#define LLC_FRMR 0x87

macroLLC_FRMR_P

#define LLC_FRMR_P 0x97

macroLLC_DM

#define LLC_DM 0x0f

macroLLC_DM_P

#define LLC_DM_P 0x1f

macroLLC_XID

#define LLC_XID 0xaf

macroLLC_XID_P

#define LLC_XID_P 0xbf

macroLLC_SABME

#define LLC_SABME 0x6f

macroLLC_SABME_P

#define LLC_SABME_P 0x7f

macroLLC_RR

Supervisory LLC commands
#define LLC_RR 0x01

macroLLC_RNR

#define LLC_RNR 0x05

macroLLC_REJ

#define LLC_REJ 0x09

macroLLC_INFO

Info format - dummy only
#define LLC_INFO 0x00

macroLLC_8021D_LSAP

ISO PDTR 10178 contains among others
#define LLC_8021D_LSAP 0x42

macroLLC_X25_LSAP

#define LLC_X25_LSAP 0x7e

macroLLC_SNAP_LSAP

#define LLC_SNAP_LSAP 0xaa

macroLLC_ISO_LSAP

#define LLC_ISO_LSAP 0xfe

macroLLC_XID_FORMAT_BASIC

#define LLC_XID_FORMAT_BASIC 0x81

macroLLC_XID_BASIC_MINLEN

#define LLC_XID_BASIC_MINLEN (LLC_UFRAMELEN + 3)

macroLLC_XID_CLASS_I

#define LLC_XID_CLASS_I 0x1

macroLLC_XID_CLASS_II

#define LLC_XID_CLASS_II 0x3

macroLLC_XID_CLASS_III

#define LLC_XID_CLASS_III 0x5

macroLLC_XID_CLASS_IV

#define LLC_XID_CLASS_IV 0x7