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