1 ; "VERSION FOR USER CODE"
3 ; "Definitions of macros to access slots in mudchans, for use by READ
4 and PRINT. Assume that third arg is literally either true or false--
5 EVALed at compile time. Similarly, if second arg is T, it is assumed
11 <FLOAD "PS:<TAA.IO-DEFS>CHANNEL-DEFS.MUD">)
13 <FLOAD "~MIM/SRC/CHANNEL-DEFS.MUD">)>
15 <DEFMAC CHANNEL-SLOT ('STR 'CHR CHK? OFFS)
17 <FORM BIND ((SU <FORM CHANNEL-USER .STR>))
21 (<FORM .OFFS '.SU .CHR>)>>)
23 <FORM COND (<FORM CHANNEL-BLESS .STR>
24 <EXPAND <FORM CHANNEL-SLOT .STR .CHR <> .OFFS>>)>)>>
26 <DEFMAC M-HLEN ('STR "OPTIONAL" ('CHR T) (CHK? <>))
27 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-HLEN>>>
29 <DEFMAC M-HPOS ('STR "OPTIONAL" ('CHR T) (CHK? <>))
30 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-HPOS>>>
32 <DEFMAC M-VLEN ('STR "OPTIONAL" ('CHR T) (CHK? <>))
33 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-VLEN>>>
35 <DEFMAC M-VPOS ('STR "OPTIONAL" ('CHR T) (CHK? <>))
36 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-VPOS>>>
38 <DEFMAC M-ORAD ('STR "OPTIONAL" ('CHR T) (CHK? <>))
39 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-ORAD>>>
41 <DEFMAC M-IRAD ('STR "OPTIONAL" ('CHR T) (CHK? <>))
42 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-IRAD>>>
44 <DEFMAC M-INTR ('STR "OPTIONAL" ('CHR T) (CHK? <>))
45 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-INTR>>>
47 <DEFMAC M-FFRM ('STR "OPTIONAL" ('CHR T) (CHK? <>))
48 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-FFRM>>>
50 <DEFMAC M-NCHR ('STR "OPTIONAL" ('CHR T) (CHK? <>))
51 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-NCHR>>>
53 <DEFMAC M-BIT ('STR 'WHICH "OPTIONAL" ('NEW-FROB 0) (CHK? <>))
55 <FORM BIND ((SU <FORM CHANNEL-USER .STR>))
57 <COND (<TYPE? .NEW-FROB FIX>
58 <FORM NOT <FORM 0? <FORM ANDB .WHICH <FORM MC-BITS
62 <FORM ORB <FORM MC-BITS '.SU> .WHICH>>)
64 <FORM MC-BITS '.SU <FORM ANDB <FORM MC-BITS '.SU>
65 <FORM XORB .WHICH <ANDB>>>>)>>)
67 <FORM COND (<FORM CHANNEL-BLESS .STR>
68 <EXPAND <FORM M-BIT .STR .WHICH .NEW-FROB <>>>)>)>>
70 <DEFMAC ON-TTY? ('STR)
71 <EXPAND <FORM M-BIT .STR ,BIT-INTELLIGENT 0 <>>>>