Lines Matching defs:smc
19 #include "h/smc.h"
30 void ev_init(struct s_smc *smc)
32 smc->q.ev_put = smc->q.ev_get = smc->q.ev_queue ;
38 void queue_event(struct s_smc *smc, int class, int event)
41 smc->q.ev_put->class = class ;
42 smc->q.ev_put->event = event ;
43 if (++smc->q.ev_put == &smc->q.ev_queue[MAX_EVENT])
44 smc->q.ev_put = smc->q.ev_queue ;
46 if (smc->q.ev_put == smc->q.ev_get) {
47 SMT_ERR_LOG(smc,SMT_E0137, SMT_E0137_MSG) ;
54 void timer_event(struct s_smc *smc, u_long token)
59 queue_event(smc,EV_T_CLASS(token),EV_T_EVENT(token));
69 void ev_dispatcher(struct s_smc *smc)
74 ev = smc->q.ev_get ;
75 PRINTF("dispatch get %x put %x\n",ev,smc->q.ev_put) ;
76 while (ev != smc->q.ev_put) {
80 ecm(smc,(int)ev->event) ;
83 cfm(smc,(int)ev->event) ;
86 rmt(smc,(int)ev->event) ;
89 smt_event(smc,(int)ev->event) ;
93 timer_test_event(smc,(int)ev->event) ;
101 pcm(smc,class - EVENT_PCMA,(int)ev->event) ;
104 SMT_PANIC(smc,SMT_E0121, SMT_E0121_MSG) ;
108 if (++ev == &smc->q.ev_queue[MAX_EVENT])
109 ev = smc->q.ev_queue ;
112 smc->q.ev_get = ev;
123 u_short smt_online(struct s_smc *smc, int on)
125 queue_event(smc,EVENT_ECM,on ? EC_CONNECT : EC_DISCONNECT) ;
126 ev_dispatcher(smc) ;
127 return smc->mib.fddiSMTCF_State;
137 void do_smt_flag(struct s_smc *smc, char *flag, int value)
142 SK_UNUSED(smc) ;
145 deb = &smc->debug;