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
95 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_idle()
96 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;); in irlan_client_state_idle()
100 if (self->client.iriap) { in irlan_client_state_idle()
106 self->client.iriap = iriap_open(LSAP_ANY, IAS_CLIENT, self, in irlan_client_state_idle()
109 irlan_next_client_state(self, IRLAN_QUERY); in irlan_client_state_idle()
110 iriap_getvaluebyclass_request(self->client.iriap, in irlan_client_state_idle()
111 self->saddr, self->daddr, in irlan_client_state_idle()
134 static int irlan_client_state_query(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_query() argument
137 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_query()
138 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;); in irlan_client_state_query()
142 IRDA_ASSERT(self->dtsap_sel_ctrl != 0, return -1;); in irlan_client_state_query()
144 self->client.open_retries = 0; in irlan_client_state_query()
146 irttp_connect_request(self->client.tsap_ctrl, in irlan_client_state_query()
147 self->dtsap_sel_ctrl, in irlan_client_state_query()
148 self->saddr, self->daddr, NULL, in irlan_client_state_query()
150 irlan_next_client_state(self, IRLAN_CONN); in irlan_client_state_query()
154 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_query()
157 if ((self->provider.access_type == ACCESS_PEER) && in irlan_client_state_query()
158 (self->provider.state != IRLAN_IDLE)) in irlan_client_state_query()
159 irlan_client_wakeup(self, self->saddr, self->daddr); in irlan_client_state_query()
163 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_query()
185 static int irlan_client_state_conn(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_conn() argument
188 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_conn()
193 irlan_get_provider_info(self); in irlan_client_state_conn()
194 irlan_next_client_state(self, IRLAN_INFO); in irlan_client_state_conn()
198 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_conn()
218 static int irlan_client_state_info(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_info() argument
221 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_info()
227 irlan_client_parse_response(self, skb); in irlan_client_state_info()
229 irlan_next_client_state(self, IRLAN_MEDIA); in irlan_client_state_info()
231 irlan_get_media_char(self); in irlan_client_state_info()
236 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_info()
258 static int irlan_client_state_media(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_media() argument
261 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_media()
265 irlan_client_parse_response(self, skb); in irlan_client_state_media()
266 irlan_open_data_channel(self); in irlan_client_state_media()
267 irlan_next_client_state(self, IRLAN_OPEN); in irlan_client_state_media()
271 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_media()
293 static int irlan_client_state_open(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_open() argument
298 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_open()
302 irlan_client_parse_response(self, skb); in irlan_client_state_open()
308 IRDA_ASSERT(self->dtsap_sel_data != 0, return -1;); in irlan_client_state_open()
311 switch (self->client.access_type) { in irlan_client_state_open()
313 if (self->provider.state == IRLAN_OPEN) { in irlan_client_state_open()
315 irlan_next_client_state(self, IRLAN_ARB); in irlan_client_state_open()
316 irlan_do_client_event(self, IRLAN_CHECK_CON_ARB, in irlan_client_state_open()
320 irlan_next_client_state(self, IRLAN_WAIT); in irlan_client_state_open()
327 irttp_connect_request(self->tsap_data, in irlan_client_state_open()
328 self->dtsap_sel_data, in irlan_client_state_open()
329 self->saddr, self->daddr, &qos, in irlan_client_state_open()
332 irlan_next_client_state(self, IRLAN_DATA); in irlan_client_state_open()
341 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_open()
364 static int irlan_client_state_wait(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_wait() argument
367 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_wait()
371 irlan_next_client_state(self, IRLAN_ARB); in irlan_client_state_wait()
372 irlan_do_client_event(self, IRLAN_CHECK_CON_ARB, NULL); in irlan_client_state_wait()
376 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_wait()
391 static int irlan_client_state_arb(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_arb() argument
396 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_arb()
400 if (self->client.recv_arb_val == self->provider.send_arb_val) { in irlan_client_state_arb()
401 irlan_next_client_state(self, IRLAN_CLOSE); in irlan_client_state_arb()
402 irlan_close_data_channel(self); in irlan_client_state_arb()
403 } else if (self->client.recv_arb_val < in irlan_client_state_arb()
404 self->provider.send_arb_val) in irlan_client_state_arb()
408 irlan_next_client_state(self, IRLAN_DATA); in irlan_client_state_arb()
409 irttp_connect_request(self->tsap_data, in irlan_client_state_arb()
410 self->dtsap_sel_data, in irlan_client_state_arb()
411 self->saddr, self->daddr, &qos, in irlan_client_state_arb()
413 } else if (self->client.recv_arb_val > in irlan_client_state_arb()
414 self->provider.send_arb_val) in irlan_client_state_arb()
420 irlan_next_client_state(self, IRLAN_DATA); in irlan_client_state_arb()
424 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_arb()
446 static int irlan_client_state_data(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_data() argument
449 IRDA_ASSERT(self != NULL, return -1;); in irlan_client_state_data()
450 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;); in irlan_client_state_data()
454 irlan_client_parse_response(self, skb); in irlan_client_state_data()
458 irlan_next_client_state(self, IRLAN_IDLE); in irlan_client_state_data()
476 static int irlan_client_state_close(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_close() argument
491 static int irlan_client_state_sync(struct irlan_cb *self, IRLAN_EVENT event, in irlan_client_state_sync() argument