telegard/tagr24d.pas

205 lines
10 KiB
ObjectPascal

(*****************************************************************************)
(* *)
(* T.A.G. v2.4 record structure definition file *)
(* *)
(* *)
(* *)
(* Presently includes definitions for USER.LST, FBOARDS.DAT, and *.DIR *)
(* *)
(* Hacked out by Eric Oman 01/01/89-01/02/89 *)
(* *)
(*****************************************************************************)
const
tag_ver:string[15]='2.4d';
tag_maxboards=55; { 0 - x } { 39; }
tag_maxuboards=95; { 0 - x } { 39; }
tag_maxevents=10; { 0 - x } { #0 is Nightly Events (if active) }
tag_numvoteqs=20;
type
tag_acrq = '@'..'Z';
tag_flagrec=(txautoprivdel, {A=Force user to delete private mail}
txnopostcall, {B=No post call ratio}
txrautomsg, {C=Restrict from posting auto-message}
txranon, {D=Restrict from posting anonymous}
txrbbslist, {E=Restrict from adding to other BBS list}
txrchat, {F=Restrict from chatting}
txnodllimit, {G=No download ratio limit}
txrpubmsg, {H=Restrict from posting public mail}
txrprivmsg, {I=Restrict from sending private mail}
txrvoting, {J=Restrict from voting}
txonecall, {K=One call per day allowed}
txpubnotval, {L=Public posts not validated}
txprotdel, {M=Protect from deletion}
txnofilepts, {N=No file points checks}
txwordwrap, {O=Word wrap in messages enabled}
txpause, {P=[PAUSE] active}
txansi, {Q=ANSI graphics active}
txcolor, {R=Color active if ANSI present}
txonekey, {S=Onekey input used instead of line input}
txalert, {T=Alert active for user's next call}
txusermale, {U=User is of the male gender}
txmboxclosed, {V=Mail box closed to all by SysOp's}
txtabs, {W=VT100 tabs are used to optimize display}
txclschar); {X=Clear screen characters used}
{3 bytes used for 24 flags}
tag_flagset=set of tag_flagrec; {Set of the above user flags}
tag_msgscanrec=set of 0..tag_maxboards; {Set of message section scan flags}
tag_filescanrec=set of 0..tag_maxuboards; {Set of file section scan flags}
tag_colorrec=array[FALSE..TRUE,0..9] of byte; {Array of colors
false=Black and white monitor
true =Color monitor}
tag_messages=
record
ltr:char;
number:integer;
ext:byte;
end;
umsgsrec=record {Last message read pointer (e.g. A-28432)}
ltr:char; {Letter of last message read (e.g. "A")}
number:integer; {Number of last message read (e.g. -28432)}
end;
tag_smalrec =
record (******** "NAMES.LST" structure *******)
name:string[36];
number:integer;
end;
tag_userrec=
record (******** "USER.LST" structure ********)
uname, {User name}
rname:string[36]; {Real name}
addr, {Address}
comtype, {Computer type}
citystate, {City/State}
snote:string[30]; {SysOp note}
lastdate, {Last date on (MS-DOS compressed)}
lasttime:integer; {Last time on (MS-DOS compressed)}
pw:string[16]; {Password}
phone:string[12]; {Phone number}
zcode:string[10]; {Zip code}
qscan:array[0..55] of umsgsrec; {Last read pointers for each msg section}
vote:array[1..20] of byte; {User's vote on each question}
callspr:array[1..15] of byte; {Call spread of last 15 calls}
ttimeon, {Total time on system in minutes}
ulk, {UL K-bytes}
dlk:real; {DL K-bytes}
usernum, {User's number 0=deleted
same as rec=normal
diff than rec=locked out}
privpost, {Private posts}
pubpost, {Public posts}
feedback, {Feedback to sysop}
numcalls, {Total number of calls}
numul, {Number of downloads}
numdl, {Number of uploads}
fmail, {Forward mail to what user number}
hbaud, {Highest baud rate user supports}
timetoday, {Minutes user on day of last call}
credit, {Credit in cents}
debit, {Money spent sending mail in cents}
points, {File points}
timebank, {Minutes in time bank}
bday, {Birthday of user (MS-DOS compressed)}
uuui:integer; {Reserved}
uuub1, {Reserved}
uuub2, {Reserved}
strtmenu, {Starting menu (not supported)}
sl, {Security level (SL)}
dsl, {Download security level (DSL)}
hlvl, {Help level}
colms, {Number columns on screen}
lines, {Number lines on screen}
callstoday, {Calls user made on day of last call}
illegal, {Illegal logons since last on}
waiting, {Number private messages waiting}
lmsgbase, {Last message base user in}
ldlbase, {Last file section user in}
cls, {CLS character (not supported)}
nulls:byte; {Number of nulls (not supported)}
ar:set of tag_acrq; {Set of AR flags}
flags:tag_flagset; {Special flags}
msgsysop:array[1..4] of byte; {Boards user is SubOp of (255=none)}
msgscan:tag_msgscanrec; {Message areas to scan}
dlscan:tag_filescanrec; {File sections to scan}
colors:tag_colorrec; {Programmed colors for user}
end;
tag_ulrec =
record (******* "FBOARDS.DAT" structure ******)
name:string[39]; (* base description *)
filename:string[8]; (* *.DIR filename *)
dlpath:string[30]; (* DL location *)
ulpath:string[30]; (* ULs go here *)
password:string[16]; (* password for access *)
dsl:byte; (* DSL req. for access *)
namedsl:byte; (* see who ULed access *)
ar:tag_acrq; (* AR req. for access *)
noratio:boolean; (* if <No Ratio> active*)
end;
tag_ulfrec =
record (********** "*.DIR" structure *********)
filename:string[12]; (* filename *)
description:string[78]; (* description *)
nacc:integer; (* times DLed *)
ft:byte; (* file type (255) *)
blocks:integer; (* # 128 byte blocks *)
owner:string[36]; (* ULer of file *)
date:string[8]; (* date ULed *)
daten:integer; (* date ULed (???) *)
unval:boolean; (* TRUE if unvalidated *)
filepoints:byte; (* # filepoints req. *)
end;
tag_anontyp=(noanon,yesanon,forcedanon);
tag_boardrec=
record (******* "BOARDS.DAT" structure *******)
name:string[45]; { base description }
filename:string[12]; { filename }
sl:byte; { SL req. for access }
maxmsgs:byte; { max msgs allowed in }
pw:string[16]; { password for access }
anonymous:tag_anontyp; { anonymous type }
ar:tag_acrq; { AR for access }
noansi:boolean; { if ANSI allowed }
postsl:byte; { SL req. to post }
end;
tag_vdatar=
record
question:string[74];
numa:integer;
answ:array[0..9] of
record
ans:string[40];
numres:integer;
end;
end;
tag_msgstat=(tag_validated,tag_unvalidated,tag_deleted);
tag_messagerec=
record
title:string[30];
messagestat:tag_msgstat;
message:tag_messages;
owner:integer;
date:integer;
mage:byte;
end;
tag_systatrec=
record
a:char;
b:char;
c:char;
i:integer;
end;