Lines Matching refs:self
39 static int irlan_client_state_idle (struct irlan_cb *self, IRLAN_EVENT event,
41 static int irlan_client_state_query(struct irlan_cb *self, IRLAN_EVENT event,
43 static int irlan_client_state_conn (struct irlan_cb *self, IRLAN_EVENT event,
45 static int irlan_client_state_info (struct irlan_cb *self, IRLAN_EVENT event,
47 static int irlan_client_state_media(struct irlan_cb *self, IRLAN_EVENT event,
49 static int irlan_client_state_open (struct irlan_cb *self, IRLAN_EVENT event,
51 static int irlan_client_state_wait (struct irlan_cb *self, IRLAN_EVENT event,
53 static int irlan_client_state_arb (struct irlan_cb *self, IRLAN_EVENT event,
55 static int irlan_client_state_data (struct irlan_cb *self, IRLAN_EVENT event,
57 static int irlan_client_state_close(struct irlan_cb *self, IRLAN_EVENT event,
59 static int irlan_client_state_sync (struct irlan_cb *self, IRLAN_EVENT event,
77 void irlan_do_client_event(struct irlan_cb *self, IRLAN_EVENT event, in irlan_do_client_event() argument
80 IRDA_ASSERT(self != NULL, return;); in irlan_do_client_event()
81 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_do_client_event()
83 (*state[ self->client.state]) (self, event, skb); in irlan_do_client_event()
92 static int irlan_client_state_idle(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_idle() argument
97 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_idle()
98 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;); in irlan_client_state_idle()
102 if (self->client.iriap) { in irlan_client_state_idle()
108 self->client.iriap = iriap_open(LSAP_ANY, IAS_CLIENT, self, in irlan_client_state_idle()
111 irlan_next_client_state(self, IRLAN_QUERY); in irlan_client_state_idle()
112 iriap_getvaluebyclass_request(self->client.iriap, in irlan_client_state_idle()
113 self->saddr, self->daddr, in irlan_client_state_idle()
136 static int irlan_client_state_query(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_query() argument
141 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_query()
142 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;); in irlan_client_state_query()
146 IRDA_ASSERT(self->dtsap_sel_ctrl != 0, return -1;); in irlan_client_state_query()
148 self->client.open_retries = 0; in irlan_client_state_query()
150 irttp_connect_request(self->client.tsap_ctrl, in irlan_client_state_query()
151 self->dtsap_sel_ctrl, in irlan_client_state_query()
152 self->saddr, self->daddr, NULL, in irlan_client_state_query()
154 irlan_next_client_state(self, IRLAN_CONN); in irlan_client_state_query()
158 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_query()
161 if ((self->provider.access_type == ACCESS_PEER) && in irlan_client_state_query()
162 (self->provider.state != IRLAN_IDLE)) in irlan_client_state_query()
163 irlan_client_wakeup(self, self->saddr, self->daddr); in irlan_client_state_query()
167 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_query()
189 static int irlan_client_state_conn(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_conn() argument
194 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_conn()
199 irlan_get_provider_info(self); in irlan_client_state_conn()
200 irlan_next_client_state(self, IRLAN_INFO); in irlan_client_state_conn()
204 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_conn()
224 static int irlan_client_state_info(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_info() argument
229 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_info()
235 irlan_client_parse_response(self, skb); in irlan_client_state_info()
237 irlan_next_client_state(self, IRLAN_MEDIA); in irlan_client_state_info()
239 irlan_get_media_char(self); in irlan_client_state_info()
244 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_info()
266 static int irlan_client_state_media(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_media() argument
271 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_media()
275 irlan_client_parse_response(self, skb); in irlan_client_state_media()
276 irlan_open_data_channel(self); in irlan_client_state_media()
277 irlan_next_client_state(self, IRLAN_OPEN); in irlan_client_state_media()
281 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_media()
303 static int irlan_client_state_open(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_open() argument
310 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_open()
314 irlan_client_parse_response(self, skb); in irlan_client_state_open()
320 IRDA_ASSERT(self->dtsap_sel_data != 0, return -1;); in irlan_client_state_open()
323 switch (self->client.access_type) { in irlan_client_state_open()
325 if (self->provider.state == IRLAN_OPEN) { in irlan_client_state_open()
327 irlan_next_client_state(self, IRLAN_ARB); in irlan_client_state_open()
328 irlan_do_client_event(self, IRLAN_CHECK_CON_ARB, in irlan_client_state_open()
332 irlan_next_client_state(self, IRLAN_WAIT); in irlan_client_state_open()
339 irttp_connect_request(self->tsap_data, in irlan_client_state_open()
340 self->dtsap_sel_data, in irlan_client_state_open()
341 self->saddr, self->daddr, &qos, in irlan_client_state_open()
344 irlan_next_client_state(self, IRLAN_DATA); in irlan_client_state_open()
353 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_open()
376 static int irlan_client_state_wait(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_wait() argument
381 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_wait()
385 irlan_next_client_state(self, IRLAN_ARB); in irlan_client_state_wait()
386 irlan_do_client_event(self, IRLAN_CHECK_CON_ARB, NULL); in irlan_client_state_wait()
390 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_wait()
405 static int irlan_client_state_arb(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_arb() argument
412 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_arb()
416 if (self->client.recv_arb_val == self->provider.send_arb_val) { in irlan_client_state_arb()
417 irlan_next_client_state(self, IRLAN_CLOSE); in irlan_client_state_arb()
418 irlan_close_data_channel(self); in irlan_client_state_arb()
419 } else if (self->client.recv_arb_val < in irlan_client_state_arb()
420 self->provider.send_arb_val) in irlan_client_state_arb()
424 irlan_next_client_state(self, IRLAN_DATA); in irlan_client_state_arb()
425 irttp_connect_request(self->tsap_data, in irlan_client_state_arb()
426 self->dtsap_sel_data, in irlan_client_state_arb()
427 self->saddr, self->daddr, &qos, in irlan_client_state_arb()
429 } else if (self->client.recv_arb_val > in irlan_client_state_arb()
430 self->provider.send_arb_val) in irlan_client_state_arb()
436 irlan_next_client_state(self, IRLAN_DATA); in irlan_client_state_arb()
440 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_arb()
462 static int irlan_client_state_data(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_data() argument
467 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_data()
468 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;); in irlan_client_state_data()
472 irlan_client_parse_response(self, skb); in irlan_client_state_data()
476 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_data()
494 static int irlan_client_state_close(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_close() argument
511 static int irlan_client_state_sync(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_sync() argument