{ TBBSHDR.INC - Turbo Bulletin Board System header file } const def_drv = 2; { Default drive limit } def_usr = 10; { Default number of user areas } def_sta = 0; { Default status } path: array[0..6] of byte = (1, 15, 1, 0, 0, 0, 0); { Sysop path } version = 'TBBS ver. 2.2'; user_data = 'USERDAT'; user_indx = 'USERIDX'; calr_name = 'CALLER'; mesg_name = 'MESSAGE'; summ_name = 'SUMMARY'; sysm_name = 'SYSMSG'; lclr_name = 'LASTCALR'; ext = '.B'#$C2'#'; { 'BB#' file type with 'system' bit set } Max_Str = 80; { Maximum length of string } Max_Tries = 3; { Maximum number of tries for password } Max_Lines = 16; { Maximum number of lines in message } len_fn = 10; { length of firstname } len_ln = 15; { length of lastname } len_ad = 20; { length of address } len_pw = 10; { length of password } len_subj = 56; { length of subject } len_msg = 72; { length of message } BS = ^H; { special characters } TAB = ^I; LF = ^J; CR = ^M; CAN = ^X; RUB = #127; mesg_pub = -1; { public message flag } mesg_era = -2; { erased message flag } { TURBO-access constants } MaxDataRecSize = 80; { max record Size } MaxKeyLen = 25; { max key Size } PageSize = 16; { page Size } Order = 8; { half page Size } PageStackSize = 5; { page buffer Size } MaxHeight = 5; { max B-tree height } type StdStr = string[Max_Str]; firstname = string[len_fn]; lastname = string[len_ln]; address = string[len_ad]; password = string[len_pw]; subject = string[len_subj]; message = string[len_msg]; tad_array = array[0..5] of byte; charset = set of char; MesgPointer = ^MesgRecord; MesgRecord = record MesgNo, SummLoc: integer; next: MesgPointer end; user_list = record user_used : integer; user_firstname : firstname; user_lastname : lastname; user_address : address; user_pw : password; user_bbs_stat : byte; user_maxdrv : byte; user_maxusr : byte; user_sys_stat : byte; user_up : integer; user_down : integer; user_nulls : byte; user_case_sw : byte; user_laston : tad_array; user_lasthi : integer; user_time_today : integer; user_time_total : integer; end; calr_list = record calr_num : integer; calr_tad : tad_array; end; summ_list = record summ_num : integer; summ_date : tad_array; summ_from_num : integer; summ_to_num : integer; summ_subject : subject; summ_st_rec : integer; summ_size : integer; end; mesg_list = record mesg_text : message; end; var bel, bye, bye_start, fini: boolean; bye_base: integer; st: StdStr; { The following are message system globals } MesgBase, MesgLast, MesgCurr: MesgPointer; msg_all, msg_ind: integer; mesg_array: array[0..Max_Lines] of message; { The following are user globals } bbs_stat, maxdrv, maxusr, status, nulls, case_sw: byte; used, user_loc, time_today, time_total, lasthi, upload, download: integer; fn: firstname; ln: lastname; ad: address; pw: password; laston: tad_array; { Files } user_rec : user_list; calr_rec : calr_list; calr_file : file of calr_list; summ_rec : summ_list; summ_file : file of summ_list; mesg_rec : mesg_list; mesg_file : file of mesg_list; sysm_file, lclr_file : text;