Line Variables
--------------

The Pbox Server maintains various bits of information about the user on each
line of the bbs. Some of this information is usefully modifiable by the
sysop, some is useful for display purposes, and some is for the bbs to use.
All line variables are read and written with GETLINE and SETLINE requests.
Some just accept a simple value when set, others are able to be increased or
decreased as per the table below. The symbol + means that as well as being
able to be set to an absolute value, you can increase or decrease the current
value by a specified amount. eg  SETLINE 1 TIMEPD +20  would allow the user on
line 1 an extra 20 minutes per day. This new value gets written back to their
user_dat entry when they log off, so it is a permanent change. If you want to
give the user an extra 20 minutes today only, SETLINE 1 TIMETD -20, which makes
it look as though they have been online 20 minutes less than they really have.
Variables marked with * are not writeable via SETLINE, so should be treated as
read-only. This is because some are not real variables, but are calculated when
requested. S20 indicates variable is a (max) 20 byte string, W = word integer,
L = longword, B = byte. Types B,W,L are all passed as string representations,
the B,W,L merely sets the internal storage size. Numbers should be passed in
NON-EXPONENTIAL form, ie 1000000, not 1e6

USER    W       User number
NAME    S40     User name
CITY    S40     City of origin
PASS    S20     Password
POWERS  +S26    Which BBS functions they can use. +/- example : POWERS +G
MAREAS  +S26    Which mail area groups they can access
FAREAS  +S26    Which file area groups they can access
LTIME   L       Longword timestamp of last login
LTMS    *S26    Same value, but as a readable string
LOGIN   L       Longword timestamp of this call start
LOGS    *S26    Same value, but as a readable string
EDITOR  B       Preferred message editor
PROTOCOL B      File transfer protocol
MENU    B       Preferred menu style
TERM    B       Terminal type. 0 = vt100, 1 = ansi
LANG    B       Language preferred, 0 = default
MORE    B       1 or 0 for whether "more" prompts are required
WIDTH   W       Number of columns user can display
LINES   W       Number of lines (more shows this number -1, then prompts)
TMPD    +W      Time allowed per day
TMTD    +W      Time used today in previous calls
DNPD    +W      Downloads allowed per day (in Kbytes)
DNTD    +W      Downloads so far today
TAGK    +W      Number of Kbytes of currently tagged files
TAGN    +W      Number of currently tagged files
CALLS   +W      Total number of calls to the board
UPLDS   +W      Number of files uploaded
DNLDS   +W      Downloaded
MSGS    +W      Number of messages entered
YELLS   +W      Number of yells to the sysop
DROPS   +W      Number of times the user has dropped the line
CMSG    W       Current message area
MNAME   S40     Name of this message area
CFILE   W       Current file area
FNAME   S40     Name of this file area
EXITCMD S40     Message issued by the last menu on exit
STATUS  S80     Status message for this line
TLEFT   *W      Time left today in minutes
CLTM    *W      Length of this call in minutes
LGCH    L       Channel for log messages
BAUD    L       Connect baud rate
CHAT    B       Set if chat mode requested, else zero
EVENT   S26     List of 'events' for the Linetidy program
MSGID   S80     Message ID of current message
INUSE   B       1 if line is in use, else zero
EOLINE  B       10 if user sends LF for end of line, 13 for cr or cr/lf
OPROT   B       Offline reader transfer protocol
OARCH   B       Offline reader archiver
OTIME   L       Last time the offline reader processed mail for you
OOPTS   S26     Offline reader option string
UOPTS   S26     user options
                P = ask for file transfer protocol each time
                K = show kludges on messages
                C = use colour in messages
CHARSET B       character set to use - unused at present
MONO    L       monitor output channel (view what the caller sees)
MONI    L       monitor input channel (press keys for caller) - unused


For a mail session, the mailer re-uses some of these areas....
USER    is zero if the mailer is not found in 'feeds_dbs' and -1 if found.
        +ve values indicate a human caller
NAME    is the mailers primary address, eg 2:2503/402
CITY    is the "dosnames" setting, 'Y' forces the mailer to use 8.3 names
PASS    is the TIC password (if any)
POWERS  is the preferred archiver filename
MAREAS  is the preferred packet type, 2.0, 2+, 2.2
FAREAS  is the assumed 'capability' value in hex, eg 0001
