Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
llc_c_ac.c File Reference
#include <linux/netdevice.h>
#include <linux/slab.h>
#include <net/llc_conn.h>
#include <net/llc_sap.h>
#include <net/sock.h>
#include <net/llc_c_ev.h>
#include <net/llc_c_ac.h>
#include <net/llc_c_st.h>
#include <net/llc_pdu.h>
#include <net/llc.h>

Go to the source code of this file.

Macros

#define INCORRECT   0
 

Functions

int llc_conn_ac_clear_remote_busy (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_conn_ind (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_conn_confirm (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_data_ind (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_disc_ind (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_disc_confirm (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_rst_ind (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_rst_confirm (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_clear_remote_busy_if_f_eq_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_disc_cmd_p_set_x (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_dm_rsp_f_set_p (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_dm_rsp_f_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_frmr_rsp_f_set_x (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_resend_frmr_rsp_f_set_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_resend_frmr_rsp_f_set_p (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_i_cmd_p_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_i_xxx_x_set_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_resend_i_xxx_x_set_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_resend_i_rsp_f_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_rej_cmd_p_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_rej_rsp_f_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_rej_xxx_x_set_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_rnr_cmd_p_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_rnr_rsp_f_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_rnr_xxx_x_set_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_remote_busy (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_opt_send_rnr_xxx_x_set_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_rr_cmd_p_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_rr_rsp_f_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_ack_rsp_f_set_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_rr_xxx_x_set_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_ack_xxx_x_set_0 (struct sock *sk, struct sk_buff *skb)
 
void llc_conn_set_p_flag (struct sock *sk, u8 value)
 
int llc_conn_ac_send_sabme_cmd_p_set_x (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_ua_rsp_f_set_p (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_s_flag_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_s_flag_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_start_p_timer (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_ack_if_needed (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_rst_sendack_flag (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_send_i_as_ack (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_adjust_npta_by_rr (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_adjust_npta_by_rnr (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_dec_tx_win_size (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_inc_tx_win_size (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_stop_all_timers (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_stop_other_timers (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_start_ack_timer (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_start_rej_timer (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_start_ack_tmr_if_not_running (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_stop_ack_timer (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_stop_p_timer (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_stop_rej_timer (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_upd_nr_received (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_upd_p_flag (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_data_flag_2 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_data_flag_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_data_flag_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_data_flag_1_if_data_flag_eq_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_p_flag_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_remote_busy_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_cause_flag_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_cause_flag_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_retry_cnt_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_inc_retry_cnt_by_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_vr_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_inc_vr_by_1 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_vs_0 (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_set_vs_nr (struct sock *sk, struct sk_buff *skb)
 
void llc_conn_pf_cycle_tmr_cb (unsigned long timeout_data)
 
void llc_conn_busy_tmr_cb (unsigned long timeout_data)
 
void llc_conn_ack_tmr_cb (unsigned long timeout_data)
 
void llc_conn_rej_tmr_cb (unsigned long timeout_data)
 
int llc_conn_ac_rst_vs (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_ac_upd_vs (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_disc (struct sock *sk, struct sk_buff *skb)
 
int llc_conn_reset (struct sock *sk, struct sk_buff *skb)
 
u8 llc_circular_between (u8 a, u8 b, u8 c)
 

Macro Definition Documentation

#define INCORRECT   0

Definition at line 43 of file llc_c_ac.c.

Function Documentation

u8 llc_circular_between ( u8  a,
u8  b,
u8  c 
)

llc_circular_between - designates that b is between a and c or not : lower bound : element to see if is between a and b : upper bound

This function designates that b is between a and c or not (for example, 0 is between 127 and 1). Returns 1 if b is between a and c, 0 otherwise.

Definition at line 1412 of file llc_c_ac.c.

int llc_conn_ac_adjust_npta_by_rnr ( struct sock sk,
struct sk_buff skb 
)

llc_conn_ac_adjust_npta_by_rnr - decreases "npta" by one : current connection structure. : current event.

After receiving "dec_cntr" times RNR command, this action decreases "npta" by one. Returns 0 for success, 1 otherwise.

Definition at line 1042 of file llc_c_ac.c.

int llc_conn_ac_adjust_npta_by_rr ( struct sock sk,
struct sk_buff skb 
)

llc_conn_ac_adjust_npta_by_rr - decreases "npta" by one : current connection structure. : current event.

After receiving "dec_cntr" times RR command, this action decreases "npta" by one. Returns 0 for success, 1 otherwise.

Definition at line 1016 of file llc_c_ac.c.

int llc_conn_ac_clear_remote_busy ( struct sock sk,
struct sk_buff skb 
)

Definition at line 45 of file llc_c_ac.c.

int llc_conn_ac_clear_remote_busy_if_f_eq_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 176 of file llc_c_ac.c.

int llc_conn_ac_conn_confirm ( struct sock sk,
struct sk_buff skb 
)

Definition at line 69 of file llc_c_ac.c.

int llc_conn_ac_conn_ind ( struct sock sk,
struct sk_buff skb 
)

Definition at line 61 of file llc_c_ac.c.

int llc_conn_ac_data_ind ( struct sock sk,
struct sk_buff skb 
)

Definition at line 85 of file llc_c_ac.c.

int llc_conn_ac_dec_tx_win_size ( struct sock sk,
struct sk_buff skb 
)

llc_conn_ac_dec_tx_win_size - decreases tx window size : current connection structure. : current event.

After receiving of a REJ command or response, transmit window size is decreased by number of PDUs which are outstanding yet. Returns 0 for success, 1 otherwise.

Definition at line 1067 of file llc_c_ac.c.

int llc_conn_ac_disc_confirm ( struct sock sk,
struct sk_buff skb 
)

Definition at line 119 of file llc_c_ac.c.

int llc_conn_ac_disc_ind ( struct sock sk,
struct sk_buff skb 
)

Definition at line 91 of file llc_c_ac.c.

int llc_conn_ac_inc_retry_cnt_by_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1285 of file llc_c_ac.c.

int llc_conn_ac_inc_tx_win_size ( struct sock sk,
struct sk_buff skb 
)

llc_conn_ac_inc_tx_win_size - tx window size is inc by 1 : current connection structure. : current event.

After receiving an RR response with f-bit set to one, transmit window size is increased by one. Returns 0 for success, 1 otherwise.

Definition at line 1087 of file llc_c_ac.c.

int llc_conn_ac_inc_vr_by_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1297 of file llc_c_ac.c.

int llc_conn_ac_opt_send_rnr_xxx_x_set_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 618 of file llc_c_ac.c.

int llc_conn_ac_resend_frmr_rsp_f_set_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 307 of file llc_c_ac.c.

int llc_conn_ac_resend_frmr_rsp_f_set_p ( struct sock sk,
struct sk_buff skb 
)

Definition at line 334 of file llc_c_ac.c.

int llc_conn_ac_resend_i_rsp_f_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 453 of file llc_c_ac.c.

int llc_conn_ac_resend_i_xxx_x_set_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 415 of file llc_c_ac.c.

int llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr ( struct sock sk,
struct sk_buff skb 
)

Definition at line 424 of file llc_c_ac.c.

int llc_conn_ac_rst_confirm ( struct sock sk,
struct sk_buff skb 
)

Definition at line 167 of file llc_c_ac.c.

int llc_conn_ac_rst_ind ( struct sock sk,
struct sk_buff skb 
)

Definition at line 128 of file llc_c_ac.c.

int llc_conn_ac_rst_sendack_flag ( struct sock sk,
struct sk_buff skb 
)

llc_conn_ac_rst_sendack_flag - resets ack_must_be_send flag : current connection structure : current event

This action resets ack_must_be_send flag of given connection, this flag indicates if there is any PDU which has not been acknowledged yet. Returns 0 for success, 1 otherwise.

Definition at line 891 of file llc_c_ac.c.

int llc_conn_ac_rst_vs ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1357 of file llc_c_ac.c.

int llc_conn_ac_send_ack_if_needed ( struct sock sk,
struct sk_buff skb 
)

llc_conn_ac_send_ack_if_needed - check if ack is needed : current connection structure : current event

Checks number of received PDUs which have not been acknowledged, yet, If number of them reaches to "npta"(Number of PDUs To Acknowledge) then sends an RR response as acknowledgement for them. Returns 0 for success, 1 otherwise.

Definition at line 860 of file llc_c_ac.c.

int llc_conn_ac_send_ack_rsp_f_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 691 of file llc_c_ac.c.

int llc_conn_ac_send_ack_xxx_x_set_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 739 of file llc_c_ac.c.

int llc_conn_ac_send_disc_cmd_p_set_x ( struct sock sk,
struct sk_buff skb 
)

Definition at line 198 of file llc_c_ac.c.

int llc_conn_ac_send_dm_rsp_f_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 249 of file llc_c_ac.c.

int llc_conn_ac_send_dm_rsp_f_set_p ( struct sock sk,
struct sk_buff skb 
)

Definition at line 223 of file llc_c_ac.c.

int llc_conn_ac_send_frmr_rsp_f_set_x ( struct sock sk,
struct sk_buff skb 
)

Definition at line 273 of file llc_c_ac.c.

int llc_conn_ac_send_i_as_ack ( struct sock sk,
struct sk_buff skb 
)

llc_conn_ac_send_i_as_ack - sends an I-format PDU to acknowledge rx PDUs : current connection structure. : current event.

This action sends an I-format PDU as acknowledge to received PDUs which have not been acknowledged, yet, if there is any. By using of this action number of acknowledgements decreases, this technic is called piggy backing. Returns 0 for success, 1 otherwise.

Definition at line 935 of file llc_c_ac.c.

int llc_conn_ac_send_i_cmd_p_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 364 of file llc_c_ac.c.

int llc_conn_ac_send_i_xxx_x_set_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 398 of file llc_c_ac.c.

int llc_conn_ac_send_rej_cmd_p_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 462 of file llc_c_ac.c.

int llc_conn_ac_send_rej_rsp_f_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 486 of file llc_c_ac.c.

int llc_conn_ac_send_rej_xxx_x_set_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 510 of file llc_c_ac.c.

int llc_conn_ac_send_rnr_cmd_p_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 534 of file llc_c_ac.c.

int llc_conn_ac_send_rnr_rsp_f_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 558 of file llc_c_ac.c.

int llc_conn_ac_send_rnr_xxx_x_set_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 582 of file llc_c_ac.c.

int llc_conn_ac_send_rr_cmd_p_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 642 of file llc_c_ac.c.

int llc_conn_ac_send_rr_rsp_f_set_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 666 of file llc_c_ac.c.

int llc_conn_ac_send_rr_xxx_x_set_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 715 of file llc_c_ac.c.

int llc_conn_ac_send_sabme_cmd_p_set_x ( struct sock sk,
struct sk_buff skb 
)

Definition at line 773 of file llc_c_ac.c.

int llc_conn_ac_send_ua_rsp_f_set_p ( struct sock sk,
struct sk_buff skb 
)

Definition at line 801 of file llc_c_ac.c.

int llc_conn_ac_set_cause_flag_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1267 of file llc_c_ac.c.

int llc_conn_ac_set_cause_flag_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1273 of file llc_c_ac.c.

int llc_conn_ac_set_data_flag_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1229 of file llc_c_ac.c.

int llc_conn_ac_set_data_flag_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1235 of file llc_c_ac.c.

int llc_conn_ac_set_data_flag_1_if_data_flag_eq_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1241 of file llc_c_ac.c.

int llc_conn_ac_set_data_flag_2 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1223 of file llc_c_ac.c.

int llc_conn_ac_set_p_flag_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1249 of file llc_c_ac.c.

int llc_conn_ac_set_remote_busy ( struct sock sk,
struct sk_buff skb 
)

Definition at line 606 of file llc_c_ac.c.

int llc_conn_ac_set_remote_busy_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1261 of file llc_c_ac.c.

int llc_conn_ac_set_retry_cnt_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1279 of file llc_c_ac.c.

int llc_conn_ac_set_s_flag_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 828 of file llc_c_ac.c.

int llc_conn_ac_set_s_flag_1 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 834 of file llc_c_ac.c.

int llc_conn_ac_set_vr_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1291 of file llc_c_ac.c.

int llc_conn_ac_set_vs_0 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1303 of file llc_c_ac.c.

int llc_conn_ac_set_vs_nr ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1309 of file llc_c_ac.c.

int llc_conn_ac_start_ack_timer ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1122 of file llc_c_ac.c.

int llc_conn_ac_start_ack_tmr_if_not_running ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1139 of file llc_c_ac.c.

int llc_conn_ac_start_p_timer ( struct sock sk,
struct sk_buff skb 
)

Definition at line 840 of file llc_c_ac.c.

int llc_conn_ac_start_rej_timer ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1130 of file llc_c_ac.c.

int llc_conn_ac_stop_ack_timer ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1150 of file llc_c_ac.c.

int llc_conn_ac_stop_all_timers ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1097 of file llc_c_ac.c.

int llc_conn_ac_stop_other_timers ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1110 of file llc_c_ac.c.

int llc_conn_ac_stop_p_timer ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1156 of file llc_c_ac.c.

int llc_conn_ac_stop_rej_timer ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1165 of file llc_c_ac.c.

int llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2 ( struct sock sk,
struct sk_buff skb 
)

Definition at line 188 of file llc_c_ac.c.

int llc_conn_ac_upd_nr_received ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1171 of file llc_c_ac.c.

int llc_conn_ac_upd_p_flag ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1207 of file llc_c_ac.c.

int llc_conn_ac_upd_vs ( struct sock sk,
struct sk_buff skb 
)

Definition at line 1364 of file llc_c_ac.c.

void llc_conn_ack_tmr_cb ( unsigned long  timeout_data)

Definition at line 1347 of file llc_c_ac.c.

void llc_conn_busy_tmr_cb ( unsigned long  timeout_data)

Definition at line 1342 of file llc_c_ac.c.

int llc_conn_disc ( struct sock sk,
struct sk_buff skb 
)

llc_conn_disc - removes connection from SAP list and frees it : closed connection : occurred event

Definition at line 1383 of file llc_c_ac.c.

void llc_conn_pf_cycle_tmr_cb ( unsigned long  timeout_data)

Definition at line 1337 of file llc_c_ac.c.

void llc_conn_rej_tmr_cb ( unsigned long  timeout_data)

Definition at line 1352 of file llc_c_ac.c.

int llc_conn_reset ( struct sock sk,
struct sk_buff skb 
)

llc_conn_reset - resets connection : reseting connection. : occurred event.

Stop all timers, empty all queues and reset all flags.

Definition at line 1396 of file llc_c_ac.c.

void llc_conn_set_p_flag ( struct sock sk,
u8  value 
)

Definition at line 763 of file llc_c_ac.c.