Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

ircomm_core.c File Reference

#include <linux/config.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/proc_fs.h>
#include <linux/init.h>
#include <net/irda/irda.h>
#include <net/irda/irmod.h>
#include <net/irda/irlmp.h>
#include <net/irda/iriap.h>
#include <net/irda/irttp.h>
#include <net/irda/irias_object.h>
#include <net/irda/ircomm_event.h>
#include <net/irda/ircomm_lmp.h>
#include <net/irda/ircomm_ttp.h>
#include <net/irda/ircomm_param.h>
#include <net/irda/ircomm_core.h>

Include dependency graph for ircomm_core.c:

Go to the source code of this file.

Functions

static int __ircomm_close (struct ircomm_cb *self)
static void ircomm_control_indication (struct ircomm_cb *self, struct sk_buff *skb, int clen)
int __init ircomm_init (void)
ircomm_cbircomm_open (notify_t *notify, __u8 service_type, int line)
int ircomm_close (struct ircomm_cb *self)
int ircomm_connect_request (struct ircomm_cb *self, __u8 dlsap_sel, __u32 saddr, __u32 daddr, struct sk_buff *skb, __u8 service_type)
void ircomm_connect_indication (struct ircomm_cb *self, struct sk_buff *skb, struct ircomm_info *info)
int ircomm_connect_response (struct ircomm_cb *self, struct sk_buff *userdata)
void ircomm_connect_confirm (struct ircomm_cb *self, struct sk_buff *skb, struct ircomm_info *info)
int ircomm_data_request (struct ircomm_cb *self, struct sk_buff *skb)
void ircomm_data_indication (struct ircomm_cb *self, struct sk_buff *skb)
void ircomm_process_data (struct ircomm_cb *self, struct sk_buff *skb)
int ircomm_control_request (struct ircomm_cb *self, struct sk_buff *skb)
int ircomm_disconnect_request (struct ircomm_cb *self, struct sk_buff *userdata)
void ircomm_disconnect_indication (struct ircomm_cb *self, struct sk_buff *skb, struct ircomm_info *info)
void ircomm_flow_request (struct ircomm_cb *self, LOCAL_FLOW flow)

Variables

hashbin_tircomm = NULL


Function Documentation

static int __ircomm_close struct ircomm_cb self  )  [static]
 

Definition at line 144 of file ircomm_core.c.

References IRCOMM_DISCONNECT_REQUEST, ircomm_do_event(), IRDA_DEBUG, irlmp_close_lsap(), irttp_close_tsap(), kfree(), ircomm_cb::lsap, NULL, and ircomm_cb::tsap.

Referenced by ircomm_close().

Here is the call graph for this function:

int ircomm_close struct ircomm_cb self  ) 
 

Definition at line 175 of file ircomm_core.c.

References __ircomm_close(), ASSERT, EIO, entry, hashbin_remove(), IRCOMM_MAGIC, IRDA_DEBUG, ircomm_cb::line, ircomm_cb::magic, and NULL.

Referenced by ircomm_tty_shutdown().

Here is the call graph for this function:

void ircomm_connect_confirm struct ircomm_cb self,
struct sk_buff skb,
struct ircomm_info info
 

Definition at line 279 of file ircomm_core.c.

References notify_t::connect_confirm, dev_kfree_skb, notify_t::instance, IRDA_DEBUG, ircomm_info::max_data_size, ircomm_info::max_header_size, ircomm_cb::notify, and ircomm_info::qos.

Referenced by ircomm_state_waiti().

void ircomm_connect_indication struct ircomm_cb self,
struct sk_buff skb,
struct ircomm_info info
 

Definition at line 227 of file ircomm_core.c.

References notify_t::connect_indication, sk_buff::data, dev_kfree_skb, notify_t::instance, IRDA_DEBUG, sk_buff::len, ircomm_info::max_data_size, ircomm_info::max_header_size, ircomm_cb::notify, and ircomm_info::qos.

Referenced by ircomm_state_idle().

int ircomm_connect_request struct ircomm_cb self,
__u8  dlsap_sel,
__u32  saddr,
__u32  daddr,
struct sk_buff skb,
__u8  service_type
 

Definition at line 198 of file ircomm_core.c.

References ASSERT, ircomm_info::daddr, ircomm_info::dlsap_sel, IRCOMM_CONNECT_REQUEST, ircomm_do_event(), IRCOMM_MAGIC, IRDA_DEBUG, ircomm_cb::magic, NULL, ret, and ircomm_info::saddr.

Referenced by ircomm_tty_state_query_lsap_sel().

Here is the call graph for this function:

int ircomm_connect_response struct ircomm_cb self,
struct sk_buff userdata
 

Definition at line 259 of file ircomm_core.c.

References ASSERT, IRCOMM_CONNECT_RESPONSE, ircomm_do_event(), IRCOMM_MAGIC, IRDA_DEBUG, ircomm_cb::magic, NULL, and ret.

Referenced by ircomm_tty_state_idle(), ircomm_tty_state_query_lsap_sel(), ircomm_tty_state_query_parameters(), ircomm_tty_state_search(), and ircomm_tty_state_setup().

Here is the call graph for this function:

static void ircomm_control_indication struct ircomm_cb self,
struct sk_buff skb,
int  clen
[static]
 

Definition at line 397 of file ircomm_core.c.

References dev_kfree_skb, notify_t::instance, IRDA_DEBUG, ircomm_cb::notify, skb_clone(), and notify_t::udata_indication.

Referenced by ircomm_process_data().

Here is the call graph for this function:

int ircomm_control_request struct ircomm_cb self,
struct sk_buff skb
 

Definition at line 376 of file ircomm_core.c.

References ASSERT, EFAULT, IRCOMM_CONTROL_REQUEST, ircomm_do_event(), IRCOMM_MAGIC, IRDA_DEBUG, ircomm_cb::magic, NULL, and ret.

Referenced by ircomm_param_flush(), and ircomm_tty_do_softint().

Here is the call graph for this function:

void ircomm_data_indication struct ircomm_cb self,
struct sk_buff skb
 

Definition at line 322 of file ircomm_core.c.

References ASSERT, notify_t::data_indication, dev_kfree_skb, notify_t::instance, IRDA_DEBUG, sk_buff::len, and ircomm_cb::notify.

Referenced by ircomm_process_data(), and ircomm_state_conn().

int ircomm_data_request struct ircomm_cb self,
struct sk_buff skb
 

Definition at line 301 of file ircomm_core.c.

References ASSERT, EFAULT, IRCOMM_DATA_REQUEST, ircomm_do_event(), IRCOMM_MAGIC, IRDA_DEBUG, ircomm_cb::magic, NULL, and ret.

Referenced by ircomm_tty_state_ready().

Here is the call graph for this function:

void ircomm_disconnect_indication struct ircomm_cb self,
struct sk_buff skb,
struct ircomm_info info
 

Definition at line 448 of file ircomm_core.c.

References ASSERT, dev_kfree_skb, notify_t::disconnect_indication, notify_t::instance, IRDA_DEBUG, ircomm_cb::notify, NULL, and ircomm_info::reason.

Referenced by ircomm_state_conn(), ircomm_state_waiti(), and ircomm_state_waitr().

int ircomm_disconnect_request struct ircomm_cb self,
struct sk_buff userdata
 

Definition at line 427 of file ircomm_core.c.

References ASSERT, IRCOMM_DISCONNECT_REQUEST, ircomm_do_event(), IRCOMM_MAGIC, IRDA_DEBUG, ircomm_cb::magic, NULL, and ret.

Referenced by ircomm_tty_state_ready().

Here is the call graph for this function:

void ircomm_flow_request struct ircomm_cb self,
LOCAL_FLOW  flow
 

Definition at line 470 of file ircomm_core.c.

References ASSERT, IRCOMM_3_WIRE_RAW, IRCOMM_MAGIC, IRDA_DEBUG, irttp_flow_request(), ircomm_cb::magic, NULL, ircomm_cb::service_type, and ircomm_cb::tsap.

Referenced by ircomm_tty_start(), ircomm_tty_stop(), ircomm_tty_throttle(), and ircomm_tty_unthrottle().

Here is the call graph for this function:

int __init ircomm_init void   ) 
 

Definition at line 63 of file ircomm_core.c.

References create_proc_entry(), ENOMEM, ERROR, hashbin_new(), HB_LOCAL, MESSAGE, and NULL.

Referenced by irda_init().

Here is the call graph for this function:

struct ircomm_cb* ircomm_open notify_t notify,
__u8  service_type,
int  line
 

Definition at line 99 of file ircomm_core.c.

References ASSERT, FLOW_START, hashbin_insert(), IRCOMM_3_WIRE_RAW, IRCOMM_IDLE, IRCOMM_MAGIC, ircomm_next_state(), ircomm_open_lsap(), ircomm_open_tsap(), IRDA_DEBUG, kmalloc(), memset, NULL, and ret.

Referenced by ircomm_tty_startup().

Here is the call graph for this function:

void ircomm_process_data struct ircomm_cb self,
struct sk_buff skb
 

Definition at line 342 of file ircomm_core.c.

References ASSERT, sk_buff::data, dev_kfree_skb, ircomm_control_indication(), ircomm_data_indication(), IRDA_DEBUG, and sk_buff::len.

Referenced by ircomm_state_conn().

Here is the call graph for this function:


Variable Documentation

hashbin_t* ircomm = NULL
 

Definition at line 61 of file ircomm_core.c.

Referenced by ircomm_lmp_flow_control().