18c2ecf20Sopenharmony_ci#ifndef LLC_S_EV_H 28c2ecf20Sopenharmony_ci#define LLC_S_EV_H 38c2ecf20Sopenharmony_ci/* 48c2ecf20Sopenharmony_ci * Copyright (c) 1997 by Procom Technology,Inc. 58c2ecf20Sopenharmony_ci * 2001 by Arnaldo Carvalho de Melo <acme@conectiva.com.br> 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * This program can be redistributed or modified under the terms of the 88c2ecf20Sopenharmony_ci * GNU General Public License as published by the Free Software Foundation. 98c2ecf20Sopenharmony_ci * This program is distributed without any warranty or implied warranty 108c2ecf20Sopenharmony_ci * of merchantability or fitness for a particular purpose. 118c2ecf20Sopenharmony_ci * 128c2ecf20Sopenharmony_ci * See the GNU General Public License for more details. 138c2ecf20Sopenharmony_ci */ 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#include <linux/skbuff.h> 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci/* Defines SAP component events */ 188c2ecf20Sopenharmony_ci/* Types of events (possible values in 'ev->type') */ 198c2ecf20Sopenharmony_ci#define LLC_SAP_EV_TYPE_SIMPLE 1 208c2ecf20Sopenharmony_ci#define LLC_SAP_EV_TYPE_CONDITION 2 218c2ecf20Sopenharmony_ci#define LLC_SAP_EV_TYPE_PRIM 3 228c2ecf20Sopenharmony_ci#define LLC_SAP_EV_TYPE_PDU 4 /* command/response PDU */ 238c2ecf20Sopenharmony_ci#define LLC_SAP_EV_TYPE_ACK_TMR 5 248c2ecf20Sopenharmony_ci#define LLC_SAP_EV_TYPE_RPT_STATUS 6 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci#define LLC_SAP_EV_ACTIVATION_REQ 1 278c2ecf20Sopenharmony_ci#define LLC_SAP_EV_RX_UI 2 288c2ecf20Sopenharmony_ci#define LLC_SAP_EV_UNITDATA_REQ 3 298c2ecf20Sopenharmony_ci#define LLC_SAP_EV_XID_REQ 4 308c2ecf20Sopenharmony_ci#define LLC_SAP_EV_RX_XID_C 5 318c2ecf20Sopenharmony_ci#define LLC_SAP_EV_RX_XID_R 6 328c2ecf20Sopenharmony_ci#define LLC_SAP_EV_TEST_REQ 7 338c2ecf20Sopenharmony_ci#define LLC_SAP_EV_RX_TEST_C 8 348c2ecf20Sopenharmony_ci#define LLC_SAP_EV_RX_TEST_R 9 358c2ecf20Sopenharmony_ci#define LLC_SAP_EV_DEACTIVATION_REQ 10 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_cistruct llc_sap_state_ev { 388c2ecf20Sopenharmony_ci u8 prim; 398c2ecf20Sopenharmony_ci u8 prim_type; 408c2ecf20Sopenharmony_ci u8 type; 418c2ecf20Sopenharmony_ci u8 reason; 428c2ecf20Sopenharmony_ci u8 ind_cfm_flag; 438c2ecf20Sopenharmony_ci struct llc_addr saddr; 448c2ecf20Sopenharmony_ci struct llc_addr daddr; 458c2ecf20Sopenharmony_ci}; 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_cistatic __inline__ struct llc_sap_state_ev *llc_sap_ev(struct sk_buff *skb) 488c2ecf20Sopenharmony_ci{ 498c2ecf20Sopenharmony_ci return (struct llc_sap_state_ev *)skb->cb; 508c2ecf20Sopenharmony_ci} 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_cistruct llc_sap; 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_citypedef int (*llc_sap_ev_t)(struct llc_sap *sap, struct sk_buff *skb); 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ciint llc_sap_ev_activation_req(struct llc_sap *sap, struct sk_buff *skb); 578c2ecf20Sopenharmony_ciint llc_sap_ev_rx_ui(struct llc_sap *sap, struct sk_buff *skb); 588c2ecf20Sopenharmony_ciint llc_sap_ev_unitdata_req(struct llc_sap *sap, struct sk_buff *skb); 598c2ecf20Sopenharmony_ciint llc_sap_ev_xid_req(struct llc_sap *sap, struct sk_buff *skb); 608c2ecf20Sopenharmony_ciint llc_sap_ev_rx_xid_c(struct llc_sap *sap, struct sk_buff *skb); 618c2ecf20Sopenharmony_ciint llc_sap_ev_rx_xid_r(struct llc_sap *sap, struct sk_buff *skb); 628c2ecf20Sopenharmony_ciint llc_sap_ev_test_req(struct llc_sap *sap, struct sk_buff *skb); 638c2ecf20Sopenharmony_ciint llc_sap_ev_rx_test_c(struct llc_sap *sap, struct sk_buff *skb); 648c2ecf20Sopenharmony_ciint llc_sap_ev_rx_test_r(struct llc_sap *sap, struct sk_buff *skb); 658c2ecf20Sopenharmony_ciint llc_sap_ev_deactivation_req(struct llc_sap *sap, struct sk_buff *skb); 668c2ecf20Sopenharmony_ci#endif /* LLC_S_EV_H */ 67