Lines Matching refs:st
38 void tei_handler(struct PStack *st, u_char pr, struct sk_buff *skb);
88 findtei(struct PStack *st, int tei) in findtei() argument
90 struct PStack *ptr = *(st->l1.stlistp); in findtei()
104 put_tei_msg(struct PStack *st, u_char m_id, unsigned int ri, u_char tei) in put_tei_msg() argument
123 st->l2.l2l1(st, PH_DATA | REQUEST, skb); in put_tei_msg()
129 struct PStack *st = fi->userdata; in tei_id_request() local
131 if (st->l2.tei != -1) { in tei_id_request()
132 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_request()
134 st->l2.tei); in tei_id_request()
137 st->ma.ri = random_ri(); in tei_id_request()
138 if (st->ma.debug) in tei_id_request()
139 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_request()
140 "assign request ri %d", st->ma.ri); in tei_id_request()
141 put_tei_msg(st, ID_REQUEST, st->ma.ri, 127); in tei_id_request()
142 FsmChangeState(&st->ma.tei_m, ST_TEI_IDREQ); in tei_id_request()
143 FsmAddTimer(&st->ma.t202, st->ma.T202, EV_T202, NULL, 1); in tei_id_request()
144 st->ma.N202 = 3; in tei_id_request()
150 struct PStack *ost, *st = fi->userdata; in tei_id_assign() local
157 if (st->ma.debug) in tei_id_assign()
158 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_assign()
160 if ((ost = findtei(st, tei))) { /* same tei is in use */ in tei_id_assign()
162 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_assign()
166 } else if (ri == st->ma.ri) { in tei_id_assign()
167 FsmDelTimer(&st->ma.t202, 1); in tei_id_assign()
168 FsmChangeState(&st->ma.tei_m, ST_TEI_NOP); in tei_id_assign()
169 st->l3.l3l2(st, MDL_ASSIGN | REQUEST, (void *) (long) tei); in tei_id_assign()
170 cs = (struct IsdnCardState *) st->l1.hardware; in tei_id_assign()
178 struct PStack *ost, *st = fi->userdata; in tei_id_test_dup() local
184 if (st->ma.debug) in tei_id_test_dup()
185 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_test_dup()
187 if ((ost = findtei(st, tei))) { /* same tei is in use */ in tei_id_test_dup()
189 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_test_dup()
199 struct PStack *st = fi->userdata; in tei_id_denied() local
205 if (st->ma.debug) in tei_id_denied()
206 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_denied()
213 struct PStack *st = fi->userdata; in tei_id_chk_req() local
218 if (st->ma.debug) in tei_id_chk_req()
219 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_chk_req()
221 if ((st->l2.tei != -1) && ((tei == GROUP_TEI) || (tei == st->l2.tei))) { in tei_id_chk_req()
222 FsmDelTimer(&st->ma.t202, 4); in tei_id_chk_req()
223 FsmChangeState(&st->ma.tei_m, ST_TEI_NOP); in tei_id_chk_req()
224 put_tei_msg(st, ID_CHK_RES, random_ri(), st->l2.tei); in tei_id_chk_req()
231 struct PStack *st = fi->userdata; in tei_id_remove() local
237 if (st->ma.debug) in tei_id_remove()
238 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_remove()
240 if ((st->l2.tei != -1) && ((tei == GROUP_TEI) || (tei == st->l2.tei))) { in tei_id_remove()
241 FsmDelTimer(&st->ma.t202, 5); in tei_id_remove()
242 FsmChangeState(&st->ma.tei_m, ST_TEI_NOP); in tei_id_remove()
243 st->l3.l3l2(st, MDL_REMOVE | REQUEST, NULL); in tei_id_remove()
244 cs = (struct IsdnCardState *) st->l1.hardware; in tei_id_remove()
252 struct PStack *st = fi->userdata; in tei_id_verify() local
254 if (st->ma.debug) in tei_id_verify()
255 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_verify()
256 "id verify request for tei %d", st->l2.tei); in tei_id_verify()
257 put_tei_msg(st, ID_VERIFY, 0, st->l2.tei); in tei_id_verify()
258 FsmChangeState(&st->ma.tei_m, ST_TEI_IDVERIFY); in tei_id_verify()
259 FsmAddTimer(&st->ma.t202, st->ma.T202, EV_T202, NULL, 2); in tei_id_verify()
260 st->ma.N202 = 2; in tei_id_verify()
266 struct PStack *st = fi->userdata; in tei_id_req_tout() local
269 if (--st->ma.N202) { in tei_id_req_tout()
270 st->ma.ri = random_ri(); in tei_id_req_tout()
271 if (st->ma.debug) in tei_id_req_tout()
272 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_req_tout()
273 "assign req(%d) ri %d", 4 - st->ma.N202, in tei_id_req_tout()
274 st->ma.ri); in tei_id_req_tout()
275 put_tei_msg(st, ID_REQUEST, st->ma.ri, 127); in tei_id_req_tout()
276 FsmAddTimer(&st->ma.t202, st->ma.T202, EV_T202, NULL, 3); in tei_id_req_tout()
278 st->ma.tei_m.printdebug(&st->ma.tei_m, "assign req failed"); in tei_id_req_tout()
279 st->l3.l3l2(st, MDL_ERROR | RESPONSE, NULL); in tei_id_req_tout()
280 cs = (struct IsdnCardState *) st->l1.hardware; in tei_id_req_tout()
289 struct PStack *st = fi->userdata; in tei_id_ver_tout() local
292 if (--st->ma.N202) { in tei_id_ver_tout()
293 if (st->ma.debug) in tei_id_ver_tout()
294 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_ver_tout()
296 3 - st->ma.N202, st->l2.tei); in tei_id_ver_tout()
297 put_tei_msg(st, ID_VERIFY, 0, st->l2.tei); in tei_id_ver_tout()
298 FsmAddTimer(&st->ma.t202, st->ma.T202, EV_T202, NULL, 4); in tei_id_ver_tout()
300 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_id_ver_tout()
301 "verify req for tei %d failed", st->l2.tei); in tei_id_ver_tout()
302 st->l3.l3l2(st, MDL_REMOVE | REQUEST, NULL); in tei_id_ver_tout()
303 cs = (struct IsdnCardState *) st->l1.hardware; in tei_id_ver_tout()
310 tei_l1l2(struct PStack *st, int pr, void *arg) in tei_l1l2() argument
315 if (test_bit(FLG_FIXED_TEI, &st->l2.flag)) { in tei_l1l2()
322 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_l1l2()
326 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_l1l2()
330 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_l1l2()
335 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_l1l2()
339 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_l1l2()
345 FsmEvent(&st->ma.tei_m, EV_ASSIGN, skb); in tei_l1l2()
347 FsmEvent(&st->ma.tei_m, EV_DENIED, skb); in tei_l1l2()
349 FsmEvent(&st->ma.tei_m, EV_CHKREQ, skb); in tei_l1l2()
351 FsmEvent(&st->ma.tei_m, EV_REMOVE, skb); in tei_l1l2()
353 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_l1l2()
359 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_l1l2()
366 tei_l2tei(struct PStack *st, int pr, void *arg) in tei_l2tei() argument
370 if (test_bit(FLG_FIXED_TEI, &st->l2.flag)) { in tei_l2tei()
372 if (st->ma.debug) in tei_l2tei()
373 st->ma.tei_m.printdebug(&st->ma.tei_m, in tei_l2tei()
374 "fixed assign tei %d", st->l2.tei); in tei_l2tei()
375 st->l3.l3l2(st, MDL_ASSIGN | REQUEST, (void *) (long) st->l2.tei); in tei_l2tei()
376 cs = (struct IsdnCardState *) st->l1.hardware; in tei_l2tei()
383 FsmEvent(&st->ma.tei_m, EV_IDREQ, arg); in tei_l2tei()
386 FsmEvent(&st->ma.tei_m, EV_VERIFY, arg); in tei_l2tei()
397 struct PStack *st = fi->userdata; in tei_debug() local
400 VHiSax_putstatus(st->l1.hardware, "tei ", fmt, args); in tei_debug()
405 setstack_tei(struct PStack *st) in setstack_tei() argument
407 st->l2.l2tei = tei_l2tei; in setstack_tei()
408 st->ma.T202 = 2000; /* T202 2000 milliseconds */ in setstack_tei()
409 st->l1.l1tei = tei_l1l2; in setstack_tei()
410 st->ma.debug = 1; in setstack_tei()
411 st->ma.tei_m.fsm = &teifsm; in setstack_tei()
412 st->ma.tei_m.state = ST_TEI_NOP; in setstack_tei()
413 st->ma.tei_m.debug = 1; in setstack_tei()
414 st->ma.tei_m.userdata = st; in setstack_tei()
415 st->ma.tei_m.userint = 0; in setstack_tei()
416 st->ma.tei_m.printdebug = tei_debug; in setstack_tei()
417 FsmInitTimer(&st->ma.tei_m, &st->ma.t202); in setstack_tei()
428 struct PStack *st = cs->stlist; in release_tei() local
430 while (st) { in release_tei()
431 FsmDelTimer(&st->ma.t202, 1); in release_tei()
432 st = st->next; in release_tei()