• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/irda/irnet/

Lines Matching refs:self

23 	irnet_socket * self =
26 if (self == NULL)
32 if (self->ppp_open && !self->ttp_open && !self->ttp_connect) {
33 ppp_unregister_channel(&self->chan);
34 self->ppp_open = 0;
110 * because our input structure (self) is quite different
117 * Function irda_open_tsap (self)
124 irnet_open_tsap(irnet_socket * self)
128 DENTER(IRDA_SR_TRACE, "(self=0x%p)\n", self);
130 DABORT(self->tsap != NULL, -EBUSY, IRDA_SR_ERROR, "Already busy !\n");
141 notify.instance = self;
145 self->tsap = irttp_open_tsap(LSAP_ANY, DEFAULT_INITIAL_CREDIT,
147 DABORT(self->tsap == NULL, -ENOMEM,
151 self->stsap_sel = self->tsap->stsap_sel;
154 self->tsap, self->stsap_sel);
160 * Function irnet_ias_to_tsap (self, result, value)
169 * The failure is in self->errno
173 irnet_ias_to_tsap(irnet_socket * self,
179 DENTER(IRDA_SR_TRACE, "(self=0x%p)\n", self);
182 self->errno = 0;
191 self->errno = -EADDRNOTAVAIL;
197 self->errno = -EHOSTUNREACH;
217 self->errno = -EADDRNOTAVAIL;
220 self->errno = -EADDRNOTAVAIL;
231 if(!(self->errno))
235 self->errno = -EHOSTUNREACH;
246 * Function irnet_find_lsap_sel (self)
257 irnet_find_lsap_sel(irnet_socket * self)
259 DENTER(IRDA_SR_TRACE, "(self=0x%p)\n", self);
262 DABORT(self->iriap, -EBUSY, IRDA_SR_ERROR, "busy with a previous query.\n");
265 self->iriap = iriap_open(LSAP_ANY, IAS_CLIENT, self,
269 self->errno = -EHOSTUNREACH;
272 iriap_getvaluebyclass_request(self->iriap, self->rsaddr, self->daddr,
286 * Function irnet_connect_tsap (self)
292 irnet_connect_tsap(irnet_socket * self)
296 DENTER(IRDA_SR_TRACE, "(self=0x%p)\n", self);
299 err = irnet_open_tsap(self);
302 clear_bit(0, &self->ttp_connect);
308 err = irttp_connect_request(self->tsap, self->dtsap_sel,
309 self->rsaddr, self->daddr, NULL,
310 self->max_sdu_size_rx, NULL);
313 clear_bit(0, &self->ttp_connect);
329 * Function irnet_discover_next_daddr (self)
336 irnet_discover_next_daddr(irnet_socket * self)
340 if(self->iriap)
342 iriap_close(self->iriap);
343 self->iriap = NULL;
346 self->iriap = iriap_open(LSAP_ANY, IAS_CLIENT, self,
348 if(self->iriap == NULL)
352 self->disco_index++;
355 if(self->disco_index < self->disco_number)
358 iriap_getvaluebyclass_request(self->iriap,
359 self->discoveries[self->disco_index].saddr,
360 self->discoveries[self->disco_index].daddr,
373 * Function irnet_discover_daddr_and_lsap_sel (self)
395 irnet_discover_daddr_and_lsap_sel(irnet_socket * self)
399 DENTER(IRDA_SR_TRACE, "(self=0x%p)\n", self);
402 self->discoveries = irlmp_get_discoveries(&self->disco_number, self->mask,
406 if(self->discoveries == NULL)
408 self->disco_number = -1;
409 clear_bit(0, &self->ttp_connect);
413 self->discoveries, self->disco_number);
416 self->disco_index = -1;
417 self->daddr = DEV_ADDR_ANY;
420 ret = irnet_discover_next_daddr(self);
424 if(self->iriap)
425 iriap_close(self->iriap);
426 self->iriap = NULL;
429 kfree(self->discoveries);
430 self->discoveries = NULL;
432 clear_bit(0, &self->ttp_connect);
444 * Function irnet_dname_to_daddr (self)
451 irnet_dname_to_daddr(irnet_socket * self)
457 DENTER(IRDA_SR_TRACE, "(self=0x%p)\n", self);
474 if(!strncmp(discoveries[i].info, self->rname, NICKNAME_MAX_LEN))
477 self->daddr = discoveries[i].daddr;
479 self->rname, self->daddr);
486 DEBUG(IRDA_SR_INFO, "cannot discover device ``%s'' !!!\n", self->rname);
503 irda_irnet_create(irnet_socket * self)
505 DENTER(IRDA_SOCK_TRACE, "(self=0x%p)\n", self);
507 self->magic = IRNET_MAGIC; /* Paranoia */
509 self->ttp_open = 0; /* Prevent higher layer from accessing IrTTP */
510 self->ttp_connect = 0; /* Not connecting yet */
511 self->rname[0] = '\0'; /* May be set via control channel */
512 self->rdaddr = DEV_ADDR_ANY; /* May be set via control channel */
513 self->rsaddr = DEV_ADDR_ANY; /* May be set via control channel */
514 self->daddr = DEV_ADDR_ANY; /* Until we get connected */
515 self->saddr = DEV_ADDR_ANY; /* Until we get connected */
516 self->max_sdu_size_rx = TTP_SAR_UNBOUND;
519 self->ckey = irlmp_register_client(0, NULL, NULL, NULL);
521 self->mask = 0xffff; /* For W2k compatibility */
523 self->mask = irlmp_service_to_hint(S_LAN);
525 self->tx_flow = FLOW_START; /* Flow control from IrTTP */
527 INIT_WORK(&self->disconnect_work, irnet_ppp_disconnect);
547 irda_irnet_connect(irnet_socket * self)
551 DENTER(IRDA_SOCK_TRACE, "(self=0x%p)\n", self);
557 if(test_and_set_bit(0, &self->ttp_connect))
559 if((self->iriap != NULL) || (self->tsap != NULL))
566 if((irnet_server.running) && (self->q.q_next == NULL))
569 hashbin_insert(irnet_server.list, (irda_queue_t *) self, 0, self->rname);
571 DEBUG(IRDA_SOCK_INFO, "Inserted ``%s'' in hashbin...\n", self->rname);
575 if((self->rdaddr == DEV_ADDR_ANY) && (self->rname[0] == '\0'))
578 if((err = irnet_discover_daddr_and_lsap_sel(self)) != 0)
585 if(self->rdaddr == DEV_ADDR_ANY)
587 if((err = irnet_dname_to_daddr(self)) != 0)
592 self->daddr = self->rdaddr;
595 irnet_find_lsap_sel(self);
609 * Function irda_irnet_destroy(self)
616 irda_irnet_destroy(irnet_socket * self)
618 DENTER(IRDA_SOCK_TRACE, "(self=0x%p)\n", self);
619 if(self == NULL)
624 if((irnet_server.running) && (self->q.q_next != NULL))
629 entry = hashbin_remove_this(irnet_server.list, (irda_queue_t *) self);
630 self->q.q_next = NULL;
632 DASSERT(entry == self, , IRDA_SOCK_ERROR, "Can't remove from hash.\n");
636 if(test_bit(0, &self->ttp_open))
642 self->saddr, self->daddr, self->rname, 0);
647 clear_bit(0, &self->ttp_connect);
650 clear_bit(0, &self->ttp_open);
653 irlmp_unregister_client(self->ckey);
656 if(self->iriap)
658 iriap_close(self->iriap);
659 self->iriap = NULL;
663 if(self->discoveries != NULL)
666 kfree(self->discoveries);
667 self->discoveries = NULL;
671 if(self->tsap)
674 irttp_disconnect_request(self->tsap, NULL, P_NORMAL);
675 irttp_close_tsap(self->tsap);
676 self->tsap = NULL;
678 self->stsap_sel = 0;
695 * Function irnet_daddr_to_dname (self)
702 irnet_daddr_to_dname(irnet_socket * self)
708 DENTER(IRDA_SERV_TRACE, "(self=0x%p)\n", self);
721 if(discoveries[i].daddr == self->daddr)
724 strlcpy(self->rname, discoveries[i].info, sizeof(self->rname));
725 self->rname[sizeof(self->rname) - 1] = '\0';
727 self->daddr, self->rname);
734 DEXIT(IRDA_SERV_INFO, ": cannot discover device 0x%08x !!!\n", self->daddr);
741 * Function irda_find_socket (self)
749 irnet_find_socket(irnet_socket * self)
754 DENTER(IRDA_SERV_TRACE, "(self=0x%p)\n", self);
757 self->daddr = irttp_get_daddr(self->tsap);
758 self->saddr = irttp_get_saddr(self->tsap);
761 err = irnet_daddr_to_dname(self);
771 0, self->rname);
787 if((new->rdaddr == self->daddr) || (new->daddr == self->daddr))
791 new, self->daddr);
826 * Function irda_connect_socket (self)
901 * Function irda_disconnect_server (self)
907 irnet_disconnect_server(irnet_socket * self,
910 DENTER(IRDA_SERV_TRACE, "(self=0x%p)\n", self);
919 irttp_disconnect_request(self->tsap, NULL, P_NORMAL);
924 self->saddr, self->daddr, self->rname, 0);
927 irttp_listen(self->tsap);
934 * Function irda_setup_server (self)
984 DEXIT(IRDA_SERV_TRACE, " - self=0x%p\n", &irnet_server.s);
990 * Function irda_destroy_server (self)
1040 DENTER(IRDA_TCB_TRACE, "(self/ap=0x%p, skb=0x%p)\n",
1107 irnet_socket * self = (irnet_socket *) instance;
1111 DENTER(IRDA_TCB_TRACE, "(self=0x%p)\n", self);
1112 DASSERT(self != NULL, , IRDA_CB_ERROR, "Self is NULL !!!\n");
1119 test_open = test_and_clear_bit(0, &self->ttp_open);
1122 test_connect = test_and_clear_bit(0, &self->ttp_connect);
1124 /* If both self->ttp_open and self->ttp_connect are NULL, it mean that we
1136 irnet_post_event(self, IRNET_DISCONNECT_FROM,
1137 self->saddr, self->daddr, self->rname, 0);
1140 if((self->tsap) && (self != &irnet_server.s))
1141 irnet_post_event(self, IRNET_NOANSWER_FROM,
1142 self->saddr, self->daddr, self->rname, 0);
1145 if((self->tsap) && (self != &irnet_server.s))
1148 irttp_close_tsap(self->tsap);
1149 self->tsap = NULL;
1152 self->stsap_sel = 0;
1153 self->daddr = DEV_ADDR_ANY;
1154 self->tx_flow = FLOW_START;
1157 if(self->ppp_open)
1162 schedule_work(&self->disconnect_work);
1170 ppp_output_wakeup(&self->chan);
1192 irnet_socket * self = (irnet_socket *) instance;
1194 DENTER(IRDA_TCB_TRACE, "(self=0x%p)\n", self);
1197 if(! test_bit(0, &self->ttp_connect))
1204 self->max_header_size = max_header_size;
1207 self->max_sdu_size_tx = max_sdu_size;
1208 self->max_data_size = max_sdu_size;
1211 self->max_data_size = irttp_get_max_seg_size(self->tsap);
1215 self->saddr = irttp_get_saddr(self->tsap);
1218 set_bit(0, &self->ttp_open);
1219 clear_bit(0, &self->ttp_connect); /* Not racy, IrDA traffic is serial */
1221 ppp_output_wakeup(&self->chan);
1239 irnet_post_event(self, IRNET_CONNECT_TO,
1240 self->saddr, self->daddr, self->rname, 0);
1257 irnet_socket * self = (irnet_socket *) instance;
1258 LOCAL_FLOW oldflow = self->tx_flow;
1260 DENTER(IRDA_TCB_TRACE, "(self=0x%p, flow=%d)\n", self, flow);
1263 self->tx_flow = flow;
1272 ppp_output_wakeup(&self->chan);
1299 irnet_socket * self = (irnet_socket *) instance;
1301 DENTER(IRDA_TCB_TRACE, "(self=0x%p)\n", self);
1302 DASSERT(self != NULL, , IRDA_CB_ERROR, "Self is NULL !!!\n");
1308 irnet_post_event(self, IRNET_BLOCKED_LINK,
1309 self->saddr, self->daddr, self->rname, 0);
1465 irnet_socket * self = (irnet_socket *) priv;
1467 DENTER(IRDA_OCB_TRACE, "(self=0x%p)\n", self);
1468 DASSERT(self != NULL, , IRDA_OCB_ERROR, "Self is NULL !!!\n");
1472 if(! test_bit(0, &self->ttp_connect))
1479 iriap_close(self->iriap);
1480 self->iriap = NULL;
1483 self->dtsap_sel = irnet_ias_to_tsap(self, result, value);
1486 if(self->errno)
1488 clear_bit(0, &self->ttp_connect);
1489 DERROR(IRDA_OCB_ERROR, "IAS connect failed ! (0x%X)\n", self->errno);
1494 self->daddr, self->dtsap_sel);
1497 irnet_connect_tsap(self);
1528 irnet_socket * self = (irnet_socket *) priv;
1531 DENTER(IRDA_OCB_TRACE, "(self=0x%p)\n", self);
1532 DASSERT(self != NULL, , IRDA_OCB_ERROR, "Self is NULL !!!\n");
1536 if(! test_bit(0, &self->ttp_connect))
1543 dtsap_sel = irnet_ias_to_tsap(self, result, value);
1546 if(self->errno == 0)
1549 if(self->daddr != DEV_ADDR_ANY)
1556 self->daddr = self->discoveries[self->disco_index].daddr;
1557 self->dtsap_sel = dtsap_sel;
1562 if((self->errno == -EADDRNOTAVAIL) || (self->errno == 0))
1567 ret = irnet_discover_next_daddr(self);
1580 iriap_close(self->iriap);
1581 self->iriap = NULL;
1585 self->discoveries);
1586 if(self->discoveries != NULL)
1589 kfree(self->discoveries);
1590 self->discoveries = NULL;
1592 self->disco_number = -1;
1595 if(self->daddr == DEV_ADDR_ANY)
1597 self->daddr = DEV_ADDR_ANY;
1598 clear_bit(0, &self->ttp_connect);
1606 self->daddr, self->dtsap_sel);
1609 irnet_connect_tsap(self);
1642 irnet_socket * self = &irnet_server.s;
1644 DENTER(IRDA_OCB_TRACE, "(self=0x%p)\n", self);
1673 irnet_socket * self = &irnet_server.s;
1675 DENTER(IRDA_OCB_TRACE, "(self=0x%p)\n", self);
1702 irnet_socket * self;
1721 self = (irnet_socket *) hashbin_get_first(irnet_server.list);
1722 while(self != NULL)
1728 seq_printf(m, "Requested IrDA name: \"%s\", ", self->rname);
1729 seq_printf(m, "daddr: %08x, ", self->rdaddr);
1730 seq_printf(m, "saddr: %08x\n", self->rsaddr);
1734 (self->ppp_open ? "registered" : "unregistered"));
1735 if(self->ppp_open)
1738 ppp_unit_number(&self->chan));
1740 ppp_channel_index(&self->chan));
1742 self->mru);
1743 /* Maybe add self->flags ? Later... */
1747 if(self->ttp_open)
1750 if(self->tsap != NULL)
1753 if(self->iriap != NULL)
1756 if(self->ttp_connect)
1761 seq_printf(m, "daddr: %08x, ", self->daddr);
1762 seq_printf(m, "stsap_sel: %02x, ", self->stsap_sel);
1763 seq_printf(m, "dtsap_sel: %02x\n", self->dtsap_sel);
1766 self = (irnet_socket *) hashbin_get_next(irnet_server.list);