; ; Sorry, but these have to be manually kept in synch with the ; Message_rec and it's subtypes. ; ; Define the Message Record. This differs from the Pascal record ; definition in MESSAGE.TYP only in that an additional address is ; always appended to the header. The net effect of all pascal ; message records is the same. ; RECORD MSG Field rtr, 2*Integer Field stsk, 2*Integer Field snode, 6*CHAR Field dtsk, 2*Integer Field dnode, 6*CHAR Field prot, Integer Field flags, Integer Field Msgsiz, Integer Field pkid, Integer ; packed id Field pksub, 2*Integer ; packed sub-id Field body, 200.*CHAR ; what a hack Field msnd, char ; marker - NOT a real field ENDREC ; max message size bdymax = 206. ; max body size ; Message flag definitions ; msg_flags: prefix = MF. ; Msg_Flag_typ = (Msg_Router_Ctrl, Msg_Run_Dest,Msg_Wake_Dest,Msg_Auto_Size); mf.rct = 1 mf.run = 2 mf.wak = 4 mf.siz = 10 ; Packet Type definitions - Must match Msg_packet_id_type pk.msc = 0 ; misc message - always the first id pk.dbg = 1. ; modify your debug mode pk.mon = 2. ; modify your monitor mode pk.vew = 3. ; modify your view (single step) mode pk.ish = 4. ; short general info le 20 bytes pk.ilg = 5. ; long general info gt 20 bytes pk.cco = 6. ; review your current configuration pk.oab = 7. ; you stop as soon as possible pk.wak = 8. ; wake me up or notify me of events pk.lit = 9. ; send this to a device verbatim pk.ACK = 10. ; I sent transaction to device = it ACKed pk.NAK = 11. ; I sent transaction to device = it NAKed pk.res = 12. ; do something about a resource pk.id = 13. ; general identity info pk.gat = 14. ; general gate info pk.rpt = 15. ; report your status pk.syn = 16. ; synchronize with eachother pk.scl = 17. ; general scale info pk.css = 18. ; control system symbol info pk.csa = 19. ; control sys alpha value pk.csn = 20. ; control sys numeric value(s) pk.bin = 21. ; general bin info pk.val = 22. ; field name = value and status pk.rec = 23. ; generic record field pk.r9 = 24. pk.r10 = 25. pk.r11 = 26. pk.r12 = 27. pk.r13 = 28. pk.r14 = 29. pk.r15 = 30. pk.r16 = 31. pk.r17 = 32. pk.r18 = 33. pk.r19 = 34. pk.r20 = 35. pk.r21 = 36. pk.r22 = 37. pk.r23 = 38. pk.com = 39. ; general comment ; ; now the site/system specific packets ; pk.pth = 40. ; used in NSSO/NDT (NN) system ; and the trailer - always present = AMI generic pk.unk = 41. ; unrecognized = always last id ; ; Message.packet.sub.type - must track pascal definition. ; ps.ack = 0 ; you asked for ack = I got your packet ps.nak = 1. ; you asked for ack = I don't do these ps.arq = 2. ; you ack this packet on receipt ps.rqi = 3. ; you send me info ps.fsi = 4. ; you fill in some/all info = return to me ps.noi = 5. ; I give you no info - couldn't find any ps.soi = 6. ; I give you partial info ps.fui = 7. ; I give you complete info ps.sta = 8. ; you start something at beginning ps.sto = 9. ; you stop something in progress ps.res = 10. ; you continue on from stop ps.fin = 11. ; you finish and end something ps.eve = 12. ; event occurred = I notify you ps.all = 13. ; can I have it? ps.gra = 14. ; I give it to you ps.den = 15. ; I cannot give it to you ps.exe = 16. ; you execute something ps.ope = 17. ; you open a channel ps.get = 18. ; you get something = send it to me ps.put = 19. ; here is something = you put it away ps.clo = 20. ; you close a channel ps.wat = 21. ; watch for change = let me know ps.nfw = 22. ; I cannot do what you asked ps.r3 = 23. ; spare ps.r4 = 24. ; spare ps.r5 = 25. ; spare ps.r6 = 26. ; spare ps.r7 = 27. ; spare ps.r8 = 28. ; spare ps.r9 = 29. ; spare ps.r10 = 30. ; spare ps.r11 = 31. ; spare