Lines Matching refs:self
49 static int __ircomm_close(struct ircomm_cb *self);
50 static void ircomm_control_indication(struct ircomm_cb *self,
109 struct ircomm_cb *self = NULL; in ircomm_open() local
117 self = kzalloc(sizeof(struct ircomm_cb), GFP_KERNEL); in ircomm_open()
118 if (self == NULL) in ircomm_open()
121 self->notify = *notify; in ircomm_open()
122 self->magic = IRCOMM_MAGIC; in ircomm_open()
126 self->flow_status = FLOW_START; in ircomm_open()
127 ret = ircomm_open_lsap(self); in ircomm_open()
129 ret = ircomm_open_tsap(self); in ircomm_open()
132 kfree(self); in ircomm_open()
136 self->service_type = service_type; in ircomm_open()
137 self->line = line; in ircomm_open()
139 hashbin_insert(ircomm, (irda_queue_t *) self, line, NULL); in ircomm_open()
141 ircomm_next_state(self, IRCOMM_IDLE); in ircomm_open()
143 return self; in ircomm_open()
154 static int __ircomm_close(struct ircomm_cb *self) in __ircomm_close() argument
157 ircomm_do_event(self, IRCOMM_DISCONNECT_REQUEST, NULL, NULL); in __ircomm_close()
160 if (self->tsap) { in __ircomm_close()
161 irttp_close_tsap(self->tsap); in __ircomm_close()
162 self->tsap = NULL; in __ircomm_close()
166 if (self->lsap) { in __ircomm_close()
167 irlmp_close_lsap(self->lsap); in __ircomm_close()
168 self->lsap = NULL; in __ircomm_close()
170 self->magic = 0; in __ircomm_close()
172 kfree(self); in __ircomm_close()
183 int ircomm_close(struct ircomm_cb *self) in ircomm_close() argument
187 IRDA_ASSERT(self != NULL, return -EIO;); in ircomm_close()
188 IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -EIO;); in ircomm_close()
190 entry = hashbin_remove(ircomm, self->line, NULL); in ircomm_close()
192 IRDA_ASSERT(entry == self, return -1;); in ircomm_close()
194 return __ircomm_close(self); in ircomm_close()
206 int ircomm_connect_request(struct ircomm_cb *self, __u8 dlsap_sel, in ircomm_connect_request() argument
213 IRDA_ASSERT(self != NULL, return -1;); in ircomm_connect_request()
214 IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -1;); in ircomm_connect_request()
216 self->service_type= service_type; in ircomm_connect_request()
222 ret = ircomm_do_event(self, IRCOMM_CONNECT_REQUEST, skb, &info); in ircomm_connect_request()
235 void ircomm_connect_indication(struct ircomm_cb *self, struct sk_buff *skb, in ircomm_connect_indication() argument
243 if (self->notify.connect_indication) in ircomm_connect_indication()
244 self->notify.connect_indication(self->notify.instance, self, in ircomm_connect_indication()
258 int ircomm_connect_response(struct ircomm_cb *self, struct sk_buff *userdata) in ircomm_connect_response() argument
262 IRDA_ASSERT(self != NULL, return -1;); in ircomm_connect_response()
263 IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -1;); in ircomm_connect_response()
265 ret = ircomm_do_event(self, IRCOMM_CONNECT_RESPONSE, userdata, NULL); in ircomm_connect_response()
278 void ircomm_connect_confirm(struct ircomm_cb *self, struct sk_buff *skb, in ircomm_connect_confirm() argument
281 if (self->notify.connect_confirm ) in ircomm_connect_confirm()
282 self->notify.connect_confirm(self->notify.instance, in ircomm_connect_confirm()
283 self, info->qos, in ircomm_connect_confirm()
297 int ircomm_data_request(struct ircomm_cb *self, struct sk_buff *skb) in ircomm_data_request() argument
301 IRDA_ASSERT(self != NULL, return -EFAULT;); in ircomm_data_request()
302 IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -EFAULT;); in ircomm_data_request()
305 ret = ircomm_do_event(self, IRCOMM_DATA_REQUEST, skb, NULL); in ircomm_data_request()
318 void ircomm_data_indication(struct ircomm_cb *self, struct sk_buff *skb) in ircomm_data_indication() argument
322 if (self->notify.data_indication) in ircomm_data_indication()
323 self->notify.data_indication(self->notify.instance, self, skb); in ircomm_data_indication()
335 void ircomm_process_data(struct ircomm_cb *self, struct sk_buff *skb) in ircomm_process_data() argument
361 ircomm_control_indication(self, skb, clen); in ircomm_process_data()
367 ircomm_data_indication(self, skb); in ircomm_process_data()
380 int ircomm_control_request(struct ircomm_cb *self, struct sk_buff *skb) in ircomm_control_request() argument
384 IRDA_ASSERT(self != NULL, return -EFAULT;); in ircomm_control_request()
385 IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -EFAULT;); in ircomm_control_request()
388 ret = ircomm_do_event(self, IRCOMM_CONTROL_REQUEST, skb, NULL); in ircomm_control_request()
401 static void ircomm_control_indication(struct ircomm_cb *self, in ircomm_control_indication() argument
405 if (self->notify.udata_indication) { in ircomm_control_indication()
416 self->notify.udata_indication(self->notify.instance, self, in ircomm_control_indication()
433 int ircomm_disconnect_request(struct ircomm_cb *self, struct sk_buff *userdata) in ircomm_disconnect_request() argument
438 IRDA_ASSERT(self != NULL, return -1;); in ircomm_disconnect_request()
439 IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -1;); in ircomm_disconnect_request()
441 ret = ircomm_do_event(self, IRCOMM_DISCONNECT_REQUEST, userdata, in ircomm_disconnect_request()
454 void ircomm_disconnect_indication(struct ircomm_cb *self, struct sk_buff *skb, in ircomm_disconnect_indication() argument
459 if (self->notify.disconnect_indication) { in ircomm_disconnect_indication()
460 self->notify.disconnect_indication(self->notify.instance, self, in ircomm_disconnect_indication()
473 void ircomm_flow_request(struct ircomm_cb *self, LOCAL_FLOW flow) in ircomm_flow_request() argument
475 IRDA_ASSERT(self != NULL, return;); in ircomm_flow_request()
476 IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;); in ircomm_flow_request()
478 if (self->service_type == IRCOMM_3_WIRE_RAW) in ircomm_flow_request()
481 irttp_flow_request(self->tsap, flow); in ircomm_flow_request()
489 struct ircomm_cb *self; in ircomm_seq_start() local
494 for (self = (struct ircomm_cb *) hashbin_get_first(ircomm); in ircomm_seq_start()
495 self != NULL; in ircomm_seq_start()
496 self = (struct ircomm_cb *) hashbin_get_next(ircomm)) { in ircomm_seq_start()
501 return self; in ircomm_seq_start()
518 const struct ircomm_cb *self = v; in ircomm_seq_show() local
520 IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -EINVAL; ); in ircomm_seq_show()
522 if(self->line < 0x10) in ircomm_seq_show()
523 seq_printf(seq, "ircomm%d", self->line); in ircomm_seq_show()
525 seq_printf(seq, "irlpt%d", self->line - 0x10); in ircomm_seq_show()
529 ircomm_state[ self->state], in ircomm_seq_show()
530 self->slsap_sel, self->dlsap_sel); in ircomm_seq_show()
532 if(self->service_type & IRCOMM_3_WIRE_RAW) in ircomm_seq_show()
534 if(self->service_type & IRCOMM_3_WIRE) in ircomm_seq_show()
536 if(self->service_type & IRCOMM_9_WIRE) in ircomm_seq_show()
538 if(self->service_type & IRCOMM_CENTRONICS) in ircomm_seq_show()