• Home
  • Raw
  • Download

Lines Matching refs:self

85 	struct irda_sock *self;  in irda_data_indication()  local
91 self = instance; in irda_data_indication()
97 self->rx_flow = FLOW_STOP; in irda_data_indication()
115 struct irda_sock *self; in irda_disconnect_indication() local
118 self = instance; in irda_disconnect_indication()
120 IRDA_DEBUG(2, "%s(%p)\n", __func__, self); in irda_disconnect_indication()
129 __func__, self); in irda_disconnect_indication()
154 if (self->tsap) { in irda_disconnect_indication()
155 irttp_close_tsap(self->tsap); in irda_disconnect_indication()
156 self->tsap = NULL; in irda_disconnect_indication()
180 struct irda_sock *self; in irda_connect_confirm() local
183 self = instance; in irda_connect_confirm()
185 IRDA_DEBUG(2, "%s(%p)\n", __func__, self); in irda_connect_confirm()
197 self->max_header_size = max_header_size; in irda_connect_confirm()
200 self->max_sdu_size_tx = max_sdu_size; in irda_connect_confirm()
210 self->max_data_size = irttp_get_max_seg_size(self->tsap); in irda_connect_confirm()
218 self->max_data_size = max_sdu_size; in irda_connect_confirm()
221 self->max_data_size = irttp_get_max_seg_size(self->tsap); in irda_connect_confirm()
225 self->max_data_size); in irda_connect_confirm()
227 memcpy(&self->qos_tx, qos, sizeof(struct qos_info)); in irda_connect_confirm()
244 struct irda_sock *self; in irda_connect_indication() local
247 self = instance; in irda_connect_indication()
249 IRDA_DEBUG(2, "%s(%p)\n", __func__, self); in irda_connect_indication()
258 self->max_header_size = max_header_size; in irda_connect_indication()
261 self->max_sdu_size_tx = max_sdu_size; in irda_connect_indication()
272 self->max_data_size = irttp_get_max_seg_size(self->tsap); in irda_connect_indication()
281 self->max_data_size = max_sdu_size; in irda_connect_indication()
284 self->max_data_size = irttp_get_max_seg_size(self->tsap); in irda_connect_indication()
288 self->max_data_size); in irda_connect_indication()
290 memcpy(&self->qos_tx, qos, sizeof(struct qos_info)); in irda_connect_indication()
302 static void irda_connect_response(struct irda_sock *self) in irda_connect_response() argument
318 irttp_connect_response(self->tsap, self->max_sdu_size_rx, skb); in irda_connect_response()
329 struct irda_sock *self; in irda_flow_indication() local
334 self = instance; in irda_flow_indication()
342 self->tx_flow = flow; in irda_flow_indication()
345 self->tx_flow = flow; in irda_flow_indication()
353 self->tx_flow = flow; in irda_flow_indication()
369 struct irda_sock *self; in irda_getvalue_confirm() local
371 self = priv; in irda_getvalue_confirm()
372 if (!self) { in irda_getvalue_confirm()
377 IRDA_DEBUG(2, "%s(%p)\n", __func__, self); in irda_getvalue_confirm()
380 iriap_close(self->iriap); in irda_getvalue_confirm()
381 self->iriap = NULL; in irda_getvalue_confirm()
388 self->errno = result; /* We really need it later */ in irda_getvalue_confirm()
391 wake_up_interruptible(&self->query_wait); in irda_getvalue_confirm()
397 self->ias_result = value; in irda_getvalue_confirm()
398 self->errno = 0; in irda_getvalue_confirm()
401 wake_up_interruptible(&self->query_wait); in irda_getvalue_confirm()
416 struct irda_sock *self; in irda_selective_discovery_indication() local
420 self = priv; in irda_selective_discovery_indication()
421 if (!self) { in irda_selective_discovery_indication()
427 self->cachedaddr = discovery->daddr; in irda_selective_discovery_indication()
430 wake_up_interruptible(&self->query_wait); in irda_selective_discovery_indication()
443 struct irda_sock *self; in irda_discovery_timeout() local
447 self = (struct irda_sock *) priv; in irda_discovery_timeout()
448 BUG_ON(self == NULL); in irda_discovery_timeout()
451 self->cachelog = NULL; in irda_discovery_timeout()
452 self->cachedaddr = 0; in irda_discovery_timeout()
453 self->errno = -ETIME; in irda_discovery_timeout()
456 wake_up_interruptible(&self->query_wait); in irda_discovery_timeout()
465 static int irda_open_tsap(struct irda_sock *self, __u8 tsap_sel, char *name) in irda_open_tsap() argument
469 if (self->tsap) { in irda_open_tsap()
482 notify.instance = self; in irda_open_tsap()
485 self->tsap = irttp_open_tsap(tsap_sel, DEFAULT_INITIAL_CREDIT, in irda_open_tsap()
487 if (self->tsap == NULL) { in irda_open_tsap()
493 self->stsap_sel = self->tsap->stsap_sel; in irda_open_tsap()
505 static int irda_open_lsap(struct irda_sock *self, int pid) in irda_open_lsap() argument
509 if (self->lsap) { in irda_open_lsap()
517 notify.instance = self; in irda_open_lsap()
520 self->lsap = irlmp_open_lsap(LSAP_CONNLESS, &notify, pid); in irda_open_lsap()
521 if (self->lsap == NULL) { in irda_open_lsap()
541 static int irda_find_lsap_sel(struct irda_sock *self, char *name) in irda_find_lsap_sel() argument
543 IRDA_DEBUG(2, "%s(%p, %s)\n", __func__, self, name); in irda_find_lsap_sel()
545 if (self->iriap) { in irda_find_lsap_sel()
551 self->iriap = iriap_open(LSAP_ANY, IAS_CLIENT, self, in irda_find_lsap_sel()
553 if(self->iriap == NULL) in irda_find_lsap_sel()
557 self->errno = -EHOSTUNREACH; in irda_find_lsap_sel()
560 iriap_getvaluebyclass_request(self->iriap, self->saddr, self->daddr, in irda_find_lsap_sel()
564 if (wait_event_interruptible(self->query_wait, (self->iriap==NULL))) in irda_find_lsap_sel()
569 if (self->errno) in irda_find_lsap_sel()
572 if((self->errno == IAS_CLASS_UNKNOWN) || in irda_find_lsap_sel()
573 (self->errno == IAS_ATTRIB_UNKNOWN)) in irda_find_lsap_sel()
580 switch (self->ias_result->type) { in irda_find_lsap_sel()
583 __func__, self->ias_result->t.integer); in irda_find_lsap_sel()
585 if (self->ias_result->t.integer != -1) in irda_find_lsap_sel()
586 self->dtsap_sel = self->ias_result->t.integer; in irda_find_lsap_sel()
588 self->dtsap_sel = 0; in irda_find_lsap_sel()
591 self->dtsap_sel = 0; in irda_find_lsap_sel()
595 if (self->ias_result) in irda_find_lsap_sel()
596 irias_delete_value(self->ias_result); in irda_find_lsap_sel()
598 if (self->dtsap_sel) in irda_find_lsap_sel()
621 static int irda_discover_daddr_and_lsap_sel(struct irda_sock *self, char *name) in irda_discover_daddr_and_lsap_sel() argument
636 discoveries = irlmp_get_discoveries(&number, self->mask.word, in irda_discover_daddr_and_lsap_sel()
637 self->nslots); in irda_discover_daddr_and_lsap_sel()
649 self->daddr = discoveries[i].daddr; in irda_discover_daddr_and_lsap_sel()
650 self->saddr = 0x0; in irda_discover_daddr_and_lsap_sel()
652 __func__, self->daddr); in irda_discover_daddr_and_lsap_sel()
655 err = irda_find_lsap_sel(self, name); in irda_discover_daddr_and_lsap_sel()
662 self->daddr = DEV_ADDR_ANY; in irda_discover_daddr_and_lsap_sel()
667 daddr = self->daddr; in irda_discover_daddr_and_lsap_sel()
668 dtsap_sel = self->dtsap_sel; in irda_discover_daddr_and_lsap_sel()
676 self->daddr = DEV_ADDR_ANY; in irda_discover_daddr_and_lsap_sel()
689 self->daddr = DEV_ADDR_ANY; in irda_discover_daddr_and_lsap_sel()
694 self->daddr = daddr; in irda_discover_daddr_and_lsap_sel()
695 self->saddr = 0x0; in irda_discover_daddr_and_lsap_sel()
696 self->dtsap_sel = dtsap_sel; in irda_discover_daddr_and_lsap_sel()
699 __func__, name, self->daddr); in irda_discover_daddr_and_lsap_sel()
715 struct irda_sock *self = irda_sk(sk); in irda_getname() local
723 saddr.sir_lsap_sel = self->dtsap_sel; in irda_getname()
724 saddr.sir_addr = self->daddr; in irda_getname()
727 saddr.sir_lsap_sel = self->stsap_sel; in irda_getname()
728 saddr.sir_addr = self->saddr; in irda_getname()
782 struct irda_sock *self = irda_sk(sk); in irda_bind() local
785 IRDA_DEBUG(2, "%s(%p)\n", __func__, self); in irda_bind()
795 self->pid = addr->sir_lsap_sel; in irda_bind()
797 if (self->pid & 0x80) { in irda_bind()
801 err = irda_open_lsap(self, self->pid); in irda_bind()
814 self->ias_obj = irias_new_object(addr->sir_name, jiffies); in irda_bind()
816 if (self->ias_obj == NULL) in irda_bind()
819 err = irda_open_tsap(self, addr->sir_lsap_sel, addr->sir_name); in irda_bind()
821 irias_delete_object(self->ias_obj); in irda_bind()
822 self->ias_obj = NULL; in irda_bind()
827 irias_add_integer_attrib(self->ias_obj, "IrDA:TinyTP:LsapSel", in irda_bind()
828 self->stsap_sel, IAS_KERNEL_ATTR); in irda_bind()
829 irias_insert_object(self->ias_obj); in irda_bind()
846 struct irda_sock *new, *self = irda_sk(sk); in irda_accept() local
914 new->tsap = irttp_dup(self->tsap, new); in irda_accept()
927 new->max_sdu_size_tx = self->max_sdu_size_tx; in irda_accept()
928 new->max_sdu_size_rx = self->max_sdu_size_rx; in irda_accept()
929 new->max_data_size = self->max_data_size; in irda_accept()
930 new->max_header_size = self->max_header_size; in irda_accept()
932 memcpy(&new->qos_tx, &self->qos_tx, sizeof(struct qos_info)); in irda_accept()
935 irttp_listen(self->tsap); in irda_accept()
974 struct irda_sock *self = irda_sk(sk); in irda_connect() local
977 IRDA_DEBUG(2, "%s(%p)\n", __func__, self); in irda_connect()
1011 err = irda_discover_daddr_and_lsap_sel(self, addr->sir_name); in irda_connect()
1018 self->daddr = addr->sir_addr; in irda_connect()
1019 IRDA_DEBUG(1, "%s(), daddr = %08x\n", __func__, self->daddr); in irda_connect()
1027 err = irda_find_lsap_sel(self, addr->sir_name); in irda_connect()
1037 self->dtsap_sel = addr->sir_lsap_sel; in irda_connect()
1042 if (!self->tsap) in irda_connect()
1043 irda_open_tsap(self, LSAP_ANY, addr->sir_name); in irda_connect()
1050 err = irttp_connect_request(self->tsap, self->dtsap_sel, in irda_connect()
1051 self->saddr, self->daddr, NULL, in irda_connect()
1052 self->max_sdu_size_rx, NULL); in irda_connect()
1081 self->saddr = irttp_get_saddr(self->tsap); in irda_connect()
1104 struct irda_sock *self; in irda_create() local
1126 self = irda_sk(sk); in irda_create()
1127 IRDA_DEBUG(2, "%s() : self is %p\n", __func__, self); in irda_create()
1129 init_waitqueue_head(&self->query_wait); in irda_create()
1134 self->max_sdu_size_rx = TTP_SAR_DISABLE; in irda_create()
1138 self->max_sdu_size_rx = TTP_SAR_UNBOUND; in irda_create()
1147 self->max_data_size = ULTRA_MAX_DATA - LMP_PID_HEADER; in irda_create()
1148 self->max_header_size = IRDA_MAX_HEADER + LMP_PID_HEADER; in irda_create()
1154 self->max_sdu_size_rx = TTP_SAR_UNBOUND; in irda_create()
1172 self->ckey = irlmp_register_client(0, NULL, NULL, NULL); in irda_create()
1173 self->mask.word = 0xffff; in irda_create()
1174 self->rx_flow = self->tx_flow = FLOW_START; in irda_create()
1175 self->nslots = DISCOVERY_DEFAULT_SLOTS; in irda_create()
1176 self->daddr = DEV_ADDR_ANY; /* Until we get connected */ in irda_create()
1177 self->saddr = 0x0; /* so IrLMP assign us any link */ in irda_create()
1187 static void irda_destroy_socket(struct irda_sock *self) in irda_destroy_socket() argument
1189 IRDA_DEBUG(2, "%s(%p)\n", __func__, self); in irda_destroy_socket()
1192 irlmp_unregister_client(self->ckey); in irda_destroy_socket()
1193 irlmp_unregister_service(self->skey); in irda_destroy_socket()
1196 if (self->ias_obj) { in irda_destroy_socket()
1197 irias_delete_object(self->ias_obj); in irda_destroy_socket()
1198 self->ias_obj = NULL; in irda_destroy_socket()
1201 if (self->iriap) { in irda_destroy_socket()
1202 iriap_close(self->iriap); in irda_destroy_socket()
1203 self->iriap = NULL; in irda_destroy_socket()
1206 if (self->tsap) { in irda_destroy_socket()
1207 irttp_disconnect_request(self->tsap, NULL, P_NORMAL); in irda_destroy_socket()
1208 irttp_close_tsap(self->tsap); in irda_destroy_socket()
1209 self->tsap = NULL; in irda_destroy_socket()
1212 if (self->lsap) { in irda_destroy_socket()
1213 irlmp_close_lsap(self->lsap); in irda_destroy_socket()
1214 self->lsap = NULL; in irda_destroy_socket()
1290 struct irda_sock *self; in irda_sendmsg() local
1312 self = irda_sk(sk); in irda_sendmsg()
1317 (self->tx_flow != FLOW_STOP || sk->sk_state != TCP_ESTABLISHED))) { in irda_sendmsg()
1329 if (len > self->max_data_size) { in irda_sendmsg()
1331 __func__, len, self->max_data_size); in irda_sendmsg()
1332 len = self->max_data_size; in irda_sendmsg()
1335 skb = sock_alloc_send_skb(sk, len + self->max_header_size + 16, in irda_sendmsg()
1340 skb_reserve(skb, self->max_header_size + 16); in irda_sendmsg()
1353 err = irttp_data_request(self->tsap, skb); in irda_sendmsg()
1381 struct irda_sock *self = irda_sk(sk); in irda_recvmsg_dgram() local
1414 if (self->rx_flow == FLOW_STOP) { in irda_recvmsg_dgram()
1417 self->rx_flow = FLOW_START; in irda_recvmsg_dgram()
1418 irttp_flow_request(self->tsap, FLOW_START); in irda_recvmsg_dgram()
1432 struct irda_sock *self = irda_sk(sk); in irda_recvmsg_stream() local
1535 if (self->rx_flow == FLOW_STOP) { in irda_recvmsg_stream()
1538 self->rx_flow = FLOW_START; in irda_recvmsg_stream()
1539 irttp_flow_request(self->tsap, FLOW_START); in irda_recvmsg_stream()
1557 struct irda_sock *self; in irda_sendmsg_dgram() local
1578 self = irda_sk(sk); in irda_sendmsg_dgram()
1584 if (len > self->max_data_size) { in irda_sendmsg_dgram()
1587 __func__, len, self->max_data_size); in irda_sendmsg_dgram()
1588 len = self->max_data_size; in irda_sendmsg_dgram()
1591 skb = sock_alloc_send_skb(sk, len + self->max_header_size, in irda_sendmsg_dgram()
1597 skb_reserve(skb, self->max_header_size); in irda_sendmsg_dgram()
1612 err = irttp_udata_request(self->tsap, skb); in irda_sendmsg_dgram()
1637 struct irda_sock *self; in irda_sendmsg_ultra() local
1657 self = irda_sk(sk); in irda_sendmsg_ultra()
1678 if ((self->lsap == NULL) || in irda_sendmsg_ultra()
1693 if (len > self->max_data_size) { in irda_sendmsg_ultra()
1696 __func__, len, self->max_data_size); in irda_sendmsg_ultra()
1697 len = self->max_data_size; in irda_sendmsg_ultra()
1700 skb = sock_alloc_send_skb(sk, len + self->max_header_size, in irda_sendmsg_ultra()
1706 skb_reserve(skb, self->max_header_size); in irda_sendmsg_ultra()
1717 err = irlmp_connless_data_request((bound ? self->lsap : NULL), in irda_sendmsg_ultra()
1733 struct irda_sock *self = irda_sk(sk); in irda_shutdown() local
1735 IRDA_DEBUG(1, "%s(%p)\n", __func__, self); in irda_shutdown()
1743 if (self->iriap) { in irda_shutdown()
1744 iriap_close(self->iriap); in irda_shutdown()
1745 self->iriap = NULL; in irda_shutdown()
1748 if (self->tsap) { in irda_shutdown()
1749 irttp_disconnect_request(self->tsap, NULL, P_NORMAL); in irda_shutdown()
1750 irttp_close_tsap(self->tsap); in irda_shutdown()
1751 self->tsap = NULL; in irda_shutdown()
1755 self->rx_flow = self->tx_flow = FLOW_START; /* needed ??? */ in irda_shutdown()
1756 self->daddr = DEV_ADDR_ANY; /* Until we get re-connected */ in irda_shutdown()
1757 self->saddr = 0x0; /* so IrLMP assign us any link */ in irda_shutdown()
1771 struct irda_sock *self = irda_sk(sk); in irda_poll() local
1802 if ((self->tx_flow == FLOW_START) && in irda_poll()
1810 if ((self->tx_flow == FLOW_START) && in irda_poll()
1906 struct irda_sock *self = irda_sk(sk); in irda_setsockopt() local
1912 IRDA_DEBUG(2, "%s(%p)\n", __func__, self); in irda_setsockopt()
1951 if(self->ias_obj == NULL) { in irda_setsockopt()
1956 ias_obj = self->ias_obj; in irda_setsockopt()
1964 ((ias_obj == NULL) || (ias_obj != self->ias_obj))) { in irda_setsockopt()
2082 ias_obj = self->ias_obj; in irda_setsockopt()
2095 ((ias_obj == NULL) || (ias_obj != self->ias_obj))) { in irda_setsockopt()
2137 self->max_sdu_size_rx = opt; in irda_setsockopt()
2158 if (self->skey) in irda_setsockopt()
2159 irlmp_unregister_service(self->skey); in irda_setsockopt()
2161 self->skey = irlmp_register_service((__u16) opt); in irda_setsockopt()
2181 self->mask.word = (__u16) opt; in irda_setsockopt()
2183 self->mask.word &= 0x7f7f; in irda_setsockopt()
2185 if(!self->mask.word) in irda_setsockopt()
2186 self->mask.word = 0xFFFF; in irda_setsockopt()
2256 struct irda_sock *self = irda_sk(sk); in irda_getsockopt() local
2268 IRDA_DEBUG(2, "%s(%p)\n", __func__, self); in irda_getsockopt()
2294 discoveries = irlmp_get_discoveries(&list.len, self->mask.word, in irda_getsockopt()
2295 self->nslots); in irda_getsockopt()
2325 val = self->max_data_size; in irda_getsockopt()
2367 ias_obj = self->ias_obj; in irda_getsockopt()
2435 if(self->daddr != DEV_ADDR_ANY) { in irda_getsockopt()
2437 daddr = self->daddr; in irda_getsockopt()
2450 if (self->iriap) { in irda_getsockopt()
2458 self->iriap = iriap_open(LSAP_ANY, IAS_CLIENT, self, in irda_getsockopt()
2461 if (self->iriap == NULL) { in irda_getsockopt()
2468 self->errno = -EHOSTUNREACH; in irda_getsockopt()
2471 iriap_getvaluebyclass_request(self->iriap, in irda_getsockopt()
2472 self->saddr, daddr, in irda_getsockopt()
2477 if (wait_event_interruptible(self->query_wait, in irda_getsockopt()
2478 (self->iriap == NULL))) { in irda_getsockopt()
2488 if (self->errno) in irda_getsockopt()
2492 if((self->errno == IAS_CLASS_UNKNOWN) || in irda_getsockopt()
2493 (self->errno == IAS_ATTRIB_UNKNOWN)) in irda_getsockopt()
2502 err = irda_extract_ias_value(ias_opt, self->ias_result); in irda_getsockopt()
2503 if (self->ias_result) in irda_getsockopt()
2504 irias_delete_value(self->ias_result); in irda_getsockopt()
2547 irlmp_update_client(self->ckey, self->mask.word, in irda_getsockopt()
2549 NULL, (void *) self); in irda_getsockopt()
2552 irlmp_discovery_request(self->nslots); in irda_getsockopt()
2555 if (!self->cachedaddr) { in irda_getsockopt()
2559 self->errno = 0; in irda_getsockopt()
2560 setup_timer(&self->watchdog, irda_discovery_timeout, in irda_getsockopt()
2561 (unsigned long)self); in irda_getsockopt()
2562 mod_timer(&self->watchdog, in irda_getsockopt()
2566 __wait_event_interruptible(self->query_wait, in irda_getsockopt()
2567 (self->cachedaddr != 0 || self->errno == -ETIME), in irda_getsockopt()
2571 del_timer(&(self->watchdog)); in irda_getsockopt()
2583 irlmp_update_client(self->ckey, self->mask.word, in irda_getsockopt()
2587 if (!self->cachedaddr) { in irda_getsockopt()
2591 daddr = self->cachedaddr; in irda_getsockopt()
2593 self->cachedaddr = 0; in irda_getsockopt()