Category : BBS Programs+Doors
Archive   : OREN113C.ZIP
Filename : NEWUSER.H
typedef unsigned int word;
typedef unsigned char byte;
#define fallthrough
#endif
#define nMAXLREAD 0x100 /* Number of msg area pointers to maintain */
#pragma pack(1)
struct _newusr {
char name[36]; /* Caller's first and last names */
char city[36]; /* Caller's location */
char pwd[16]; /* Password */
char usrtel[16]; /* User Tel# for ref or future callback .........*/
char alias[32]; /* User alias if ID is not it ...................*/
/* 136 bytes */
word times; /* Number of previous calls to this system */
byte ClassPriv; /* User Access Privilege */
byte help; /* Help level (see below) */
byte tabs; /* 0=transmit
byte language; /* 0=english, 1=french */
word nulls; /* Number of Nulls (delays) after
word msg; /* Last message area visited */
word Bits; /* SEE BELOW */
/* 148 bytes */
long ClassLock; /* 32 User Keys */
long ludate; /* Last UNIX Date on system */
/* 156 bytes */
int time; /* Time on-line so-far today */
word flag; /* Used to hold baud rate on O)utside command */
long upld; /* K-bytes uploaded, all calls */
long dnld; /* K-bytes downloaded, all calls */
int dnldl; /* K-bytes downloaded, today */
word files; /* Last file area visited */
byte width; /* Width of the caller's monitor */
byte len; /* Height of the caller's */
word credit; /* FidoNet usage credit in cents */
word debit; /* FidoNet usage in cents */
char spcoec[8]; /* Special OECC to show after logon .............*/
/* Good for clubs, stores, user groups ..........*/
/* Eg, "Welcome to the dBase User Group" ........*/
byte saccnt[5]; /* Array of 4 special announcement cntrs ........*/
/* If any is > 0 than the user is shown .........*/
/* a corresponding announcement file & the ......*/
/* counter is decremented. ......................*/
byte exflag; /* Flag of expiration control bits ..............*/
/* -------- 000 No expiry actions ...............*/
/* -------1 001 Expire AFTER xdate ..............*/
/* ------1- 002 Expire when dbmin GE crmin ......*/
/* -----:-- 004 ... Reserved ... ...............*/
/* ----:--- 008 ... Reserved ... ...............*/
/* ---1---- 016 Demote user priv to (expriv) ....*/
/* --1----- 032 Axe user when expired ..........*/
/* -:------ 064 ... Reserved ... ...............*/
/* :------- 128 ... Reserved ... ...............*/
long xdate; /* Expiry date (UNIX style for math/futr)........*/
long crmin; /* Total minutes given to user ..................*/
long dbmin; /* Total minutes used to user ..................*/
char ulikes[32]; /* String of user interest keywords .............*/
byte reserved[20]; /* Filler ..............................*/
word lastmsg[nMAXLREAD]; /* All the last message read stuff .....*/
long OPUS_id;
long extern_id[7]; /* LONG ID number for external programs */
/* Must be registered with OpusInfo ....*/
byte extern_inf[7][32]; /* 7 32-byte external util data blocks */
/* Nice even 1k user record */
};
/*--------------------------------------------------------------------------*/
/* System?.Bbs structure */
/* Please note that the `_sys' structure should NOT be considered stable. */
/*--------------------------------------------------------------------------*/
struct _sys
{
/*........ Common System Data ....................................*/
word version; /* System Record version = 110 = v1.10 */
word menu; /* Alternate Menu file extension, 0=MNU */
word attrib; /* Area attributes (see below) */
byte fillc1[10]; /* Fill to 16th */
byte barrpath[ 40 ]; /* Barricade File path. */
byte fillc2[24]; /* Fill to 16th */
/*........ File System Information ...............................*/
byte filtitle[ 50 ]; /* File Area Title (as per old Dir.Bbs) */
byte filepath[ 40 ]; /* Path to the file download sub-dir */
byte uppath[ 40 ]; /* Path to the file upload sub-directory */
byte listpath[ 40 ]; /* Path to FILES.BBS equivilent */
byte fillf1[22]; /* Fill to 16th */
byte FilePriv; /* Min priv for file area */
byte DownPriv; /* Override priv to download */
byte UpPriv; /* Override priv to upload */
byte FileExtPriv; /* Override priv for outside */
byte fillf2[12]; /* Fill to 16th */
long FileLock; /* Locks for File Area */
long DownLock; /* Override Locks to download */
long UpLock; /* Override Locks to upload */
long FileExtLock; /* Override Locks for Outside */
byte fillf3[32]; /* Fill to 16th */
/*........ Message System Information ............................*/
byte msgtitle[ 50 ]; /* Msg Area Title (as per old Dir.Bbs) */
byte msgpath[ 40 ]; /* Path to messages */
byte fillm1[ 22 ]; /* Fill to 16th */
byte MsgPriv; /* Min priv for msg area */
byte EditPriv; /* Override priv for Enter/Rep */
byte MsgExtPriv; /* Override priv fot outside */
byte fillm2[13]; /* Fill to 16th */
long MsgLock; /* Locks for Msg Area */
long EditLock; /* Override Locks for Enter/Rep */
long MsgExtLock; /* Override Locks for Outside */
byte fillm3[4]; /* Fill to 16th */
byte EchoName[32]; /* If an echo area, its name */
/*=================================== Total Record Size = 512 ==*/
};
/*--------------------------------------------------------------------------*/
/* Area attributes (limit or describe the behavior of an area) */
/*--------------------------------------------------------------------------*/
#define SYSMAIL 0x01 /* is a mail area */
#define SYSOVR 0x02 /* overwriting files OK (unused by Opus) */
#define NOPUBLIC 0x04 /* OPUS: Disallow public messages */
#define NOPRIVATE 0x08 /* OPUS: Disallow private messages */
#define ANON_OK 0x10 /* OPUS: Enable anonymous messages */
#define ECHOMAIL 0x20 /* OPUS: Set=Echomail Clear=Not Echomail */
/*--------------------------------------------------------------------------*/
/* TIME STAMP */
/*--------------------------------------------------------------------------*/
struct _stamp
{
unsigned int date;
unsigned int time;
};
/*--------------------------------------------------------------------------*/
/* Message header */
/*--------------------------------------------------------------------------*/
struct _msg
{
byte from[36];
byte to[36];
byte subj[72];
byte date[20]; /* Obsolete/unused ASCII date information */
word times; /* FIDO
word dest; /* Destination node */
word orig; /* Origination node number */
word cost; /* Unit cost charged to send the message */
word orig_net; /* Origination network number */
word dest_net; /* Destination network number */
/* A TIMESTAMP is a 32-bit integer in the Unix */
/* flavor (ie. the number of seconds since */
/* January 1, 1970). Timestamps in messages are */
/* always Greenwich Mean Time, never local time. */
struct _stamp date_written; /* When user wrote the msg */
struct _stamp date_arrived; /* When msg arrived on-line */
word reply; /* Current msg is a reply to this msg number */
word attr; /* Attribute (behavior) of the message */
word up; /* Next message in the thread */
};
/*--------------------------------------------------------------------------*/
/* Message attributes */
/*--------------------------------------------------------------------------*/
#define MSGPRIVATE 0x0001 /* private message * 0000 0000 0000 0001 */
#define MSGCRASH 0x0002 /* squirtmail * 0000 0000 0000 0010 */
#define MSGREAD 0x0004 /* read by addressee * 0000 0000 0000 0100 */
#define MSGSENT 0x0008 /* sent OK (remote) 0000 0000 0000 1000 */
#define MSGFILE 0x0010 /* file attached to msg * 0000 0000 0001 0000 */
#define MSGFWD 0x0020 /* in transit 0000 0000 0010 0000 */
#define MSGORPHAN 0x0040 /* unknown dest node 0000 0000 0100 0000 */
#define MSGKILL 0x0080 /* kill after bundling * 0000 0000 1000 0000 */
#define MSGLOCAL 0x0100 /* FidoNet vs. local 0000 0001 0000 0000 */
#define MSGHOLD 0x0200 /* Hold, don't send * 0000 0010 0000 0000 */
#define MSGXX2 0x0400 /*
#define MSGFRQ 0x0800 /* file request * 0000 1000 0000 0000 */
#define MSGRRQ 0x1000 /* receipt requested X* 0001 0000 0000 0000 */
#define MSGCPT 0x2000 /* is a return receipt X* 0010 0000 0000 0000 */
#define MSGARQ 0x4000 /* audit trail requested X* 0100 0000 0000 0000 */
#define MSGURQ 0x8000 /* update request X* 1000 0000 0000 0000 */
/*-----------------------*/
/* ^ */
/* | */
/* * = preserved by */
/* the network */
/* ? = stripped by the */
/* net (FTSC spec) */
/* but preserved */
/* by seadog
/* X = not used by Opus */
/*-----------------------*/
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/