505void ircomm_flow_request(struct ircomm_cb *self, LOCAL_FLOW flow)
506{
507 IRDA_DEBUG(2, "%s()\n", __func__ );
508
509 IRDA_ASSERT(self != NULL, return;);
510 IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
511
512 if (self->service_type == IRCOMM_3_WIRE_RAW)
513 return;
514
515 irttp_flow_request(self->tsap, flow);
516}
517
518EXPORT_SYMBOL(ircomm_flow_request);
519
520#ifdef CONFIG_PROC_FS
521static void *ircomm_seq_start(struct seq_file *seq, loff_t *pos)
522{
523 struct ircomm_cb *self;
524 loff_t off = 0;
525
526 spin_lock_irq(&ircomm->hb_spinlock);
527
528 for (self = (struct ircomm_cb *) hashbin_get_first(ircomm);
529 self != NULL;
530 self = (struct ircomm_cb *) hashbin_get_next(ircomm)) {
531 if (off++ == *pos)
532 break;
533
534 }
535 return self;
536}
537
538static void *ircomm_seq_next(struct seq_file *seq, void *v, loff_t *pos)
539{
540 ++*pos;
541
542 return (void *) hashbin_get_next(ircomm);
543}
544
545static void ircomm_seq_stop(struct seq_file *seq, void *v)