Lines Matching defs:smc
19 #include "h/smc.h"
26 void ev_init(struct s_smc *smc)
28 smc->q.ev_put = smc->q.ev_get = smc->q.ev_queue ;
34 void queue_event(struct s_smc *smc, int class, int event)
37 smc->q.ev_put->class = class ;
38 smc->q.ev_put->event = event ;
39 if (++smc->q.ev_put == &smc->q.ev_queue[MAX_EVENT])
40 smc->q.ev_put = smc->q.ev_queue ;
42 if (smc->q.ev_put == smc->q.ev_get) {
43 SMT_ERR_LOG(smc,SMT_E0137, SMT_E0137_MSG) ;
50 void timer_event(struct s_smc *smc, u_long token)
55 queue_event(smc,EV_T_CLASS(token),EV_T_EVENT(token));
65 void ev_dispatcher(struct s_smc *smc)
70 ev = smc->q.ev_get ;
71 PRINTF("dispatch get %x put %x\n",ev,smc->q.ev_put) ;
72 while (ev != smc->q.ev_put) {
76 ecm(smc,(int)ev->event) ;
79 cfm(smc,(int)ev->event) ;
82 rmt(smc,(int)ev->event) ;
85 smt_event(smc,(int)ev->event) ;
89 timer_test_event(smc,(int)ev->event) ;
97 pcm(smc,class - EVENT_PCMA,(int)ev->event) ;
100 SMT_PANIC(smc,SMT_E0121, SMT_E0121_MSG) ;
104 if (++ev == &smc->q.ev_queue[MAX_EVENT])
105 ev = smc->q.ev_queue ;
108 smc->q.ev_get = ev;
119 u_short smt_online(struct s_smc *smc, int on)
121 queue_event(smc,EVENT_ECM,on ? EC_CONNECT : EC_DISCONNECT) ;
122 ev_dispatcher(smc) ;
123 return smc->mib.fddiSMTCF_State;
133 void do_smt_flag(struct s_smc *smc, char *flag, int value)
138 SK_UNUSED(smc) ;
141 deb = &smc->debug;