Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
llc_shdlc.c File Reference
#include <linux/types.h>
#include <linux/sched.h>
#include <linux/wait.h>
#include <linux/slab.h>
#include <linux/skbuff.h>
#include "llc.h"

Go to the source code of this file.

Data Structures

struct  llc_shdlc
 

Macros

#define pr_fmt(fmt)   "shdlc: %s: " fmt, __func__
 
#define SHDLC_LLC_HEAD_ROOM   2
 
#define SHDLC_MAX_WINDOW   4
 
#define SHDLC_SREJ_SUPPORT   false
 
#define SHDLC_CONTROL_HEAD_MASK   0xe0
 
#define SHDLC_CONTROL_HEAD_I   0x80
 
#define SHDLC_CONTROL_HEAD_I2   0xa0
 
#define SHDLC_CONTROL_HEAD_S   0xc0
 
#define SHDLC_CONTROL_HEAD_U   0xe0
 
#define SHDLC_CONTROL_NS_MASK   0x38
 
#define SHDLC_CONTROL_NR_MASK   0x07
 
#define SHDLC_CONTROL_TYPE_MASK   0x18
 
#define SHDLC_CONTROL_M_MASK   0x1f
 
#define SHDLC_CONNECT_VALUE_MS   5
 
#define SHDLC_T1_VALUE_MS(w)   ((5 * w) / 4)
 
#define SHDLC_T2_VALUE_MS   300
 
#define SHDLC_DUMP_SKB(info, skb)
 

Enumerations

enum  shdlc_state {
  SHDLC_DISCONNECTED = 0, SHDLC_CONNECTING = 1, SHDLC_NEGOTIATING = 2, SHDLC_HALF_CONNECTED = 3,
  SHDLC_CONNECTED = 4
}
 
enum  sframe_type { S_FRAME_RR = 0x00, S_FRAME_REJ = 0x01, S_FRAME_RNR = 0x02, S_FRAME_SREJ = 0x03 }
 
enum  uframe_modifier { U_FRAME_UA = 0x06, U_FRAME_RSET = 0x19 }
 

Functions

int nfc_llc_shdlc_register (void)
 

Macro Definition Documentation

#define pr_fmt (   fmt)    "shdlc: %s: " fmt, __func__

Definition at line 21 of file llc_shdlc.c.

#define SHDLC_CONNECT_VALUE_MS   5

Definition at line 110 of file llc_shdlc.c.

#define SHDLC_CONTROL_HEAD_I   0x80

Definition at line 87 of file llc_shdlc.c.

#define SHDLC_CONTROL_HEAD_I2   0xa0

Definition at line 88 of file llc_shdlc.c.

#define SHDLC_CONTROL_HEAD_MASK   0xe0

Definition at line 86 of file llc_shdlc.c.

#define SHDLC_CONTROL_HEAD_S   0xc0

Definition at line 89 of file llc_shdlc.c.

#define SHDLC_CONTROL_HEAD_U   0xe0

Definition at line 90 of file llc_shdlc.c.

#define SHDLC_CONTROL_M_MASK   0x1f

Definition at line 96 of file llc_shdlc.c.

#define SHDLC_CONTROL_NR_MASK   0x07

Definition at line 93 of file llc_shdlc.c.

#define SHDLC_CONTROL_NS_MASK   0x38

Definition at line 92 of file llc_shdlc.c.

#define SHDLC_CONTROL_TYPE_MASK   0x18

Definition at line 94 of file llc_shdlc.c.

#define SHDLC_DUMP_SKB (   info,
  skb 
)
Value:
do { \
pr_debug("%s:\n", info); \
print_hex_dump(KERN_DEBUG, "shdlc: ", DUMP_PREFIX_OFFSET, \
16, 1, skb->data, skb->len, 0); \
} while (0)

Definition at line 114 of file llc_shdlc.c.

#define SHDLC_LLC_HEAD_ROOM   2

Definition at line 81 of file llc_shdlc.c.

#define SHDLC_MAX_WINDOW   4

Definition at line 83 of file llc_shdlc.c.

#define SHDLC_SREJ_SUPPORT   false

Definition at line 84 of file llc_shdlc.c.

#define SHDLC_T1_VALUE_MS (   w)    ((5 * w) / 4)

Definition at line 111 of file llc_shdlc.c.

#define SHDLC_T2_VALUE_MS   300

Definition at line 112 of file llc_shdlc.c.

Enumeration Type Documentation

Enumerator:
S_FRAME_RR 
S_FRAME_REJ 
S_FRAME_RNR 
S_FRAME_SREJ 

Definition at line 98 of file llc_shdlc.c.

Enumerator:
SHDLC_DISCONNECTED 
SHDLC_CONNECTING 
SHDLC_NEGOTIATING 
SHDLC_HALF_CONNECTED 
SHDLC_CONNECTED 

Definition at line 31 of file llc_shdlc.c.

Enumerator:
U_FRAME_UA 
U_FRAME_RSET 

Definition at line 105 of file llc_shdlc.c.

Function Documentation

int nfc_llc_shdlc_register ( void  )

Definition at line 854 of file llc_shdlc.c.