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
21struct 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
35enum 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
80struct llc_pktinfo {
81 int lpi_ifindex;
82 unsigned char lpi_sap;
83 unsigned char lpi_mac[IFHWADDRLEN];
84};
85
86#endif
87