#include <perms.h> // Edinburgh IMP77 Compiler - Version 8.4 // // 1 ! // 2 ! specs for deimos perm routines // 3 ! // 4 %externalroutinespec pon(%record(*) %name p) extern void PON(struct FILE *P); // 5 %externalroutinespec poff(%record(*) %name p) extern void POFF(struct FILE *P); // 6 %externalroutinespec ponoff(%record(*) %name p) extern void PONOFF(struct FILE *P); // 7 %externalintegerfnspec mapvirt(%integer ser,seg1,seg2) extern int MAPVIRT(int SER, int SEG1, int SEG2); // 8 %externalintegerfnspec map abs(%integer vadd,len,id) extern int MAPABS(int VADD, int LEN, int ID); // 9 %externalintegerfnspec getid extern int GETID(void); // 10 %externalroutinespec alarm(%integer ticks) extern void ALARM(int TICKS); // 11 %externalroutinespec linkin(%integer ser) extern void LINKIN(int SER); // 12 %externalroutinespec maphwr(%integer segs) extern void MAPHWR(int SEGS); // 13 %externalintegerfnspec mappsect(%integer seg,task) extern int MAPPSECT(int SEG, int TASK); // 14 %externalroutinespec push(%record(*)%name q,%record(*)%name m) extern void PUSH(struct FILE *Q, struct FILE *M); // 15 %externalrecord(*)%mapspec pop(%record(*)%name q) extern struct FILE *POP(struct FILE *Q); // 16 %externalintegerfnspec time extern int TIME(void); // 17 %externalroutinespec set prio(%integer prio) extern void SETPRIO(int PRIO); // 18 %constbyteintegername own id==(8_160030); !8.1 compiler bug const unsigned char *OWNID = 57368; // 19 %constbyteintegername fsys == k'160055' const unsigned char *FSYS = 57389; // 20 %constbyteintegername id == k'160030' const unsigned char *ID = 57368; // 21 %constbyteintegername int==(8_160060) const unsigned char *INT = 57392; // 22 %constbytename callid == k'160031' const unsigned char *CALLID = 57369; // 23 %constbyteintegername tt no == k'160061' const unsigned char *TTNO = 57393; // 24 %constbyteintegername change out zero == k'160310' const unsigned char *CHANGEOUTZERO = 57544; // 25 %constrecord (*) %name null == 0 const struct FILE *NULL = 0; // 26 %externalroutinespec CLOSE OUTPUT; ! until proper one in compiler extern void CLOSEOUTPUT(void); // 27 %externalintegerfnspec dup addr(%integer seg) extern int DUPADDR(int SEG); // 28 %endoffile