/* testcalendar.c D. Swinehart, July 9, 1982 12:51 PM, Calendar test L. Stewart, October 6, 1982 3:02 PM, names processes L. Stewart, December 27, 1982 3:21 PM, flush nested declarations L. Stewart, January 1, 1983 4:19 PM, flush AllocZero L. Stewart, March 6, 1983 4:55 PM, flush Alloc */ #include <Env.h> #include <Queue.h> #include <pup.h> #include <Lark.h> extern GetAll(); extern GetFixed(); extern InitQueue(); extern InitNContext(); extern int localNet; extern RequestRoute(); static struct Queue *ctxQ; static int loopCtx; static int loopSpace; extern/*forward*/ Loop(); main() { char c; int t[2]; ctxQ = GetFixed(2); InitQueue(ctxQ); InitPupLevel1(ctxQ, 12, defaultPupDataBytes); loopSpace = GetFixed(300); loopCtx = InitNContext("Loop", loopSpace, 300, &Loop); Enqueue(ctxQ, loopCtx); for (;;) { CallContext(ctxQ->head); if (chav()) { c = getchar(); switch (c) { case 'q': return; break; case 't': ReadCalendar(t); Wf2("Time = (hi) %o, (lo) %o\r", t[1], t[0]); break; default: putchar('.'); break; }; }; }; }; static Loop() { int tmr; int t[2]; RequestRoute(0); /* Initialize Routing tables */ settmr(2000, &tmr); while ((!tmrexp(&tmr)) && localNet == 0) Block(); InitCalendar(3); /* Get time of day set up */ for (;;) { Block(); }; };