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
10 <L-FLOAD "CHANNEL-DEFS.MUD">
12 <DEFMAC CHANNEL-SLOT ('STR 'CHR CHK? OFFS)
14 <FORM BIND ((SU <FORM CHANNEL-USER .STR>))
18 (<FORM .OFFS '.SU .CHR>)>>)
20 <FORM COND (<FORM CHANNEL-BLESS .STR>
21 <EXPAND <FORM CHANNEL-SLOT .STR .CHR <> .OFFS>>)>)>>
23 <DEFMAC M-HLEN ('STR "OPTIONAL" ('CHR T) (CHK? <>))
24 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-HLEN>>>
26 <DEFMAC M-HPOS ('STR "OPTIONAL" ('CHR T) (CHK? <>))
27 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-HPOS>>>
29 <DEFMAC M-VLEN ('STR "OPTIONAL" ('CHR T) (CHK? <>))
30 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-VLEN>>>
32 <DEFMAC M-VPOS ('STR "OPTIONAL" ('CHR T) (CHK? <>))
33 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-VPOS>>>
35 <DEFMAC M-ORAD ('STR "OPTIONAL" ('CHR T) (CHK? <>))
36 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-ORAD>>>
38 <DEFMAC M-IRAD ('STR "OPTIONAL" ('CHR T) (CHK? <>))
39 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-IRAD>>>
41 <DEFMAC M-INTR ('STR "OPTIONAL" ('CHR T) (CHK? <>))
42 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-INTR>>>
44 <DEFMAC M-FFRM ('STR "OPTIONAL" ('CHR T) (CHK? <>))
45 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-FFRM>>>
47 <DEFMAC M-NCHR ('STR "OPTIONAL" ('CHR T) (CHK? <>))
48 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,MC-NCHR>>>
50 <DEFMAC M-BIT ('STR 'WHICH "OPTIONAL" ('NEW 0) (CHK? <>))
52 <FORM BIND ((SU <FORM CHANNEL-USER .STR>))
54 <COND (<TYPE? .NEW FIX>
55 <FORM NOT <FORM 0? <FORM ANDB .WHICH <FORM MC-BITS
59 <FORM ORB <FORM MC-BITS '.SU> .WHICH>>)
61 <FORM MC-BITS '.SU <FORM ANDB <FORM MC-BITS '.SU>
62 <FORM XORB .WHICH <ANDB>>>>)>>)
64 <FORM COND (<FORM CHANNEL-BLESS .STR>
65 <EXPAND <FORM M-BIT .STR .WHICH .NEW <>>>)>)>>
67 <DEFMAC ON-TTY? ('STR)
68 <EXPAND <FORM M-BIT .STR ,BIT-INTELLIGENT 0 <>>>>