Lines Matching full:smc

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