1
2
3
4
5
6
7
8
9
10
11
12
13
14 #ifndef _UAPI__LINUX_LLC_H
15 #define _UAPI__LINUX_LLC_H
16
17 #include <linux/socket.h>
18 #include <linux/if.h>
19
20 #define __LLC_SOCK_SIZE__ 16
21 struct sockaddr_llc {
22 __kernel_sa_family_t sllc_family;
23 __kernel_sa_family_t sllc_arphrd;
24 unsigned char sllc_test;
25 unsigned char sllc_xid;
26 unsigned char sllc_ua;
27 unsigned char sllc_sap;
28 unsigned char sllc_mac[IFHWADDRLEN];
29 unsigned char __pad[__LLC_SOCK_SIZE__ -
30 sizeof(__kernel_sa_family_t) * 2 -
31 sizeof(unsigned char) * 4 - IFHWADDRLEN];
32 };
33
34
35 enum llc_sockopts {
36 LLC_OPT_UNKNOWN = 0,
37 LLC_OPT_RETRY,
38 LLC_OPT_SIZE,
39 LLC_OPT_ACK_TMR_EXP,
40 LLC_OPT_P_TMR_EXP,
41 LLC_OPT_REJ_TMR_EXP,
42 LLC_OPT_BUSY_TMR_EXP,
43 LLC_OPT_TX_WIN,
44 LLC_OPT_RX_WIN,
45 LLC_OPT_PKTINFO,
46 LLC_OPT_MAX
47 };
48
49 #define LLC_OPT_MAX_RETRY 100
50 #define LLC_OPT_MAX_SIZE 4196
51 #define LLC_OPT_MAX_WIN 127
52 #define LLC_OPT_MAX_ACK_TMR_EXP 60
53 #define LLC_OPT_MAX_P_TMR_EXP 60
54 #define LLC_OPT_MAX_REJ_TMR_EXP 60
55 #define LLC_OPT_MAX_BUSY_TMR_EXP 60
56
57
58 #define LLC_SAP_NULL 0x00
59 #define LLC_SAP_LLC 0x02
60 #define LLC_SAP_SNA 0x04
61 #define LLC_SAP_PNM 0x0E
62 #define LLC_SAP_IP 0x06
63 #define LLC_SAP_BSPAN 0x42
64 #define LLC_SAP_MMS 0x4E
65 #define LLC_SAP_8208 0x7E
66 #define LLC_SAP_3COM 0x80
67 #define LLC_SAP_PRO 0x8E
68 #define LLC_SAP_SNAP 0xAA
69 #define LLC_SAP_BANYAN 0xBC
70 #define LLC_SAP_IPX 0xE0
71 #define LLC_SAP_NETBEUI 0xF0
72 #define LLC_SAP_LANMGR 0xF4
73 #define LLC_SAP_IMPL 0xF8
74 #define LLC_SAP_DISC 0xFC
75 #define LLC_SAP_OSI 0xFE
76 #define LLC_SAP_LAR 0xDC
77 #define LLC_SAP_RM 0xD4
78 #define LLC_SAP_GLOBAL 0xFF
79
80 struct llc_pktinfo {
81 int lpi_ifindex;
82 unsigned char lpi_sap;
83 unsigned char lpi_mac[IFHWADDRLEN];
84 };
85
86 #endif