home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
BBS_UTIL
/
BFE3100P.ZIP
/
BFE3100P.EXE
/
DEVKIT
/
STRUCTS.H
< prev
Wrap
Text File
|
1994-03-12
|
12KB
|
246 lines
/*╓────────────────────────────────────────────────────────────────────────┐
║ BFE - BBS Front End System - Developer's Kit │
║ Copyright 1993, Cairo Research Labs, All Rights Reserved. │
╟────────────────────────────────────────────────────────────────────────┤
║ Revision: 3.10.0 │
╟────────────────────────────────────────────────────────────────────────┤
║ This C header file contains all pertinent structures used within the │
║ BFE package. These are subject to change from version to version, │
║ but new elements to each structure will be appended after the last │
║ element, so that third party utilities will not be outdated. New │
║ elements can be simply "tacked" on to the end. │
╙────────────────────────────────────────────────────────────────────────┘*/
// QUICK POOR MAN'S FILE LAYOUTS :-)
//
// .CTL files: 1 VID record
// 50 TAG records
// 1 MNUOPT record
// GLOBALS.CFG: 1 VID record
// 1 SETUP record
// PROTOCOL.BFE: 10 PROTOCOL records
// MSGAREAS.BFE: 15 MSGAREA records
// WFC.BFE: 1 WFC record
// USER.BFE: variable # of USER records
// VID structure - Holds version information
typedef struct _vid {
long vid; // Version ID
long reserved; // **RESERVED**
} _VID;
// TAG structure - Holds information on each menu item
typedef struct _tag { // Menu option tag elements
char desc[80]; // Description of menu item
char hotkey; // Hotkey to use
int flavor; // Flavor of this menu item
char type; // Menu option type
long security; // Security level needed
long portspeed; // Portspeed setting (T/L)
int passparms; // Passparms? (T/F)
char password[25]; // Password needed to access
char prompt[80]; // Custom user prompt field
char secfield[80]; // Secondary data field
char process[80]; // Process data field
char showbefore[80]; // ** RESERVED **
char showafter[80]; // File to show after
int password_flag; // Password protected?
int coloverride; // Color override code
int dropfile; // Dropfile type to create
char dropfilepath[80]; // Path to create dropfile
int ToTimes[7]; // "to" times for task
int FromTimes[7]; // "from" times for task
} _TAG;
// MNUOPT structure - Holds custom information on each BFE menu
typedef struct _mnuopt {
char RegMessage[80]; // Custom Registration Msg
char UserMenu[80]; // Custom User Menu
int MnuTitleCol; // Custom Menu Colors
int MnuHotkeyCol;
int MnuBracketCol;
int MnuLineCol;
int MnuDescripCol;
int MnuPromptCol;
int MnuUserCol;
int MnuRegCol;
long reserved; // **RESERVED**
char Prompt[35]; // Custom user prompt
} _MNUOPT;
// SETUP structure - Global Setup Object
typedef struct _setup { // Global Setup Object
// *************************
// Sysop/system information
// *************************
char SysopName[40]; // Sysop Name
char SystemName[40]; // System Name
char RegCode[16]; // Registration key
int Node; // Node Number
long LockedBPS; // LockedBPS value
int FossilPort; // FossilPort setting
// *************************
// Pager information
// *************************
char ToPagingHours[7][5]; // "to" Paging Hours
char FromPagingHours[7][5]; // "from" Paging Hours
int PageDuration; // Page Duration
// *************************
// Pertinent path information
// *************************
char DoorDir[80]; // DoorDir
char BbsDir[80]; // BBSdir
char SwappingPath[80]; // Swapping Path
char LogonFile[80]; // Logon file path/name
char NewUserFile[80]; // Newuser file path/name
char WelcomeScreen[80]; // Welcome screen path/name
char LogFileName[80]; // Logfile path/name
char ExternalEditor[80]; // External Editor Path/name
// *************************
// FILES.BBS colors
// *************************
int ChatUCol;
int ChatSCol;
int FileTitleCol;
int FileNameCol;
int FileSizeCol;
int FileDescCol;
int FileOfflCol;
// *************************
// Internal default mnu cols
// *************************
int MnuTitleCol;
int MnuHotkeyCol;
int MnuBracketCol;
int MnuLineCol;
int MnuDescripCol;
int MnuPromptCol;
int MnuUserCol;
int MnuRegCol;
// *************************
// System behavior info
// *************************
int UserSystem; // Use the user system?
int Personality; // Personality selection
long TimeLimit; // Default TimeLimit
int FreezeTime; // FreezeTime flag
int InactivityTimeout; // Inactivity Timeout
int PassAttempts; // Password attempts limit
int BadPassOpt; // Hang upon user if pwd bad?
int DetectGraphics; // Autodetect graphic modes?
int swapinfo; // Memory swapping behavior
// *************************
// Miscellaneous information
// *************************
int HidePasswords; // Hide pw in BFE/Setup? T/F
long ScrollerDelay; // Scroller Delay Value
char StartupScript[80]; // Startup script file
char ExitScript[80]; // Exit script file
long reserved; // **RESERVED**
// *************************
// Private Entry Information
// *************************
int PvtStartTime[7]; // Start times
int PvtEndTime[7]; // End times
char PvtPassword[25]; // Pvt Entry password
// **********************
// Things hacked on later
// **********************
char ReEntryScript[80]; // Re-entry mode script
} _SETUP;
// MSGAREA structure - used to hold message area information
// (Will change in the future)
typedef struct _msgarea {
char desc[36]; // Description of area
char areapath[36]; // Path to area
char type[2]; // Type (Unused)
char destaddr[16]; // Destination address
char origaddr[16]; // Origination address
char pvtbit[2]; // Private bit
char crabit[2]; // Crash bit
char hldbit[2]; // Hold bit
char kilbit[2]; // Kill/Send bit
char fa_bit[2]; // File attach bit
char fr_bit[2]; // File request bit
char def_to[36]; // TO field
char def_from[36]; // FROM field
char def_subj[36]; // SUBJ field
char externaledit[36]; // External Editor
char echotag[36]; // echo tag (unused)
char origin[70]; // Origin line
} _MSGAREA;
// WFC structure - used for the WFC module
typedef struct _wfc {
char resp[16][40];
} _WFC;
// USER structure - used to hold user information for the user subsystem
typedef struct _user {
char name[36]; // User's name
char location[26]; // user's location
char password[16]; // User's password
long security; // User's security level
long flags; // RESERVED flags element
} _USER;
// PVTENTRY structure - used internally when reading in PVTENTRY.BFE
typedef struct _pvtentry {
int daycode; // Day of week -> 0-6
int pvt_start; // Starting time
int pvt_end; // Ending time
} _PVTENTRY;
// EVENT structure - used to hold the linked list of WFC events (WFC.EVT)
typedef struct _event
{
char tag[16]; // Event Tag Name (15 bytes)
int days; // Bit field for which days
// to execute
int hour; // Starting Hour (24 Hour)
int min; // Starting Minutes
int errlvl; // Errorlevel to exit on
struct _event *next; // ptr to next event
} _EVENT;