home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
com
/
bbs
/
simplex
/
urgent2.doc
< prev
Wrap
Text File
|
1992-08-16
|
19KB
|
468 lines
This document contains any important information that I deem important
for you to read. Please give it a look over.
1) Contacting Chris Laforet Software
You may send me mail through any of the following:
Programmer's Oasis BBS, USA .... 919/226-6984
Programmer's Oasis 2 BBS, USA .. 919/226-7136
Fidonet Email .................. Chris Laforet @ 1:151/401 or 1:151/402
Compuserve Email ............... User ID: 76120,110
US Mail ........................ Chris Laforet Software
511-D Poplar St
Graham, NC 27253
These I check occassionally:
BIX Email....................... User ID: Laforet
GEnie Email .................... User ID: XTX74591
2) Fidonet users can access a Simplex echo
Users who wish to hook into the private Simplex echo can send me
Fidonet mail at 1:151/401 or 1:151/402 and request it. What we will do
is set up a passworded session for the mailers and you will have to
poll for mail once or twice a week. The tag name off the echo is
SIMPLEX. In your message, send me your node information, the password
you wish the mailers to use (<= 8 letters, case is significant) and
I'll set it up for you.
3) Help files
The help files in help.zip are the .asc and .ans formats needed by
Simplex. The .src files are the source files in SANSI-compilable
format in case you wish to change the help files.
4) DOS Overlay version of Simplex
DOS users can get a copy of SIMPLEXO.EXE from any of the following
locations. It saves about 200K of memory over the regular SIMPLEX.EXE
while running. If you run door games, it might be better to use this.
It is not included with the distribution ZIP because it would make it
too large. Simplexo.exe can be downloaded from the Simplex file area on
any of the following BBSes:
Programmer's Oasis BBS, USA .... 919/226-6984 HST,2400,1200,300 N,8,1
Programmer's Oasis 2 BBS, USA .. 919/226-7136 HST,2400,1200,300 N,8,1
Stardate 1990 BBS, USA ......... 919/376-8432 HST,2400,1200,300 N,8,1
5) Developing Utilities for Simplex
You are encouraged to develop external utilities for Simplex. Please
feel free to ship them over to the Simplex areas on any of those BBSes.
The data structures for Simplex are in this doc and are BYTE aligned
(-Zp1 in MSC). If you need extra information, contact Chris Laforet at
any of the above addresses and we'll see what we can do!
6) Data information and structures for Simplex v 1.00
/* these macros access the user_flags bit-mapped options */
#define USER_CLS 0x1 /* send cls codes */
#define USER_MORE 0x2 /* use more? paging */
#define USER_ANSI 0x4 /* use ansi */
#define USER_EDITOR 0x8 /* use full screen editor */
#define USER_EXPERT 0x10 /* expert (abbreviated) menus */
#define USER_FILEATTACH 0x20 /* allow user to fileattach in netmail areas? */
#define USER_DELETED 0x8000 /* user is deleted pending purge */
/* these macros access the menu type options */
#define MENU_SHOW 0x0 /* show menu line only */
#define MENU_CALL 0x1 /* call next menu */
#define MENU_GOTO 0x2 /* goto next menu - no return */
#define MENU_RET 0x3 /* return to previous menu */
#define MENU_ENTER 0x10 /* enter a message */
#define MENU_READ 0x11 /* read a message */
#define MENU_SCAN 0x12 /* scan messages */
#define MENU_QSCAN 0x13 /* quickscan messages */
#define MENU_USERLIST 0x14 /* search/display users list */
#define MENU_NETSEARCH 0x15 /* search for netmail address */
#define MENU_FREQ 0x16 /* generate File Request to netmail node */
#define MENU_LIST 0x20 /* list file.bbs listing */
#define MENU_UPLOAD 0x21 /* upload files to area */
#define MENU_DOWNLOAD 0x22 /* download files from area */
#define MENU_RAW 0x23 /* raw directory list in area */
#define MENU_CONTENTS 0x24 /* view archive contents */
#define MENU_NEW 0x25 /* show new files on system */
#define MENU_SRCHNAME 0x26 /* search for file name on system */
#define MENU_SRCHKEY 0x27 /* search for keyword on system */
#define MENU_KILL 0x28 /* kill/delete file in area */
#define MENU_READFILE 0x29 /* read a textfile in file area */
#define MENU_DOWNLOAD_FILE 0x2a /* download 1 file from area */
#define MENU_MOVEFILES 0x2b /* move files to another area */
#define MENU_SHOWFILE 0x30 /* show an ansi/ascii file */
#define MENU_SHOWHOT 0x31 /* show an ansi/ascii file with active keys */
#define MENU_SHOWWAIT 0x32 /* show an ansi/ascii file with wait for Enter */
#define MENU_QUESTION 0x33 /* show a questionaire file */
#define MENU_CITY 0x40 /* change users city/state */
#define MENU_PASSWORD 0x41 /* change users password */
#define MENU_CLS 0x42 /* toggle users cls state */
#define MENU_MORE 0x43 /* toggle users more state */
#define MENU_SCREENLEN 0x44 /* change users screen len */
#define MENU_ANSI 0x45 /* toggle ansi on/off */
#define MENU_EDITOR 0x46 /* toggle between line and full editor */
#define MENU_EXPERT 0x47 /* toggle between novice and expert mode */
#define MENU_HOMEPHONE 0x48 /* change home phone number */
#define MENU_DATAPHONE 0x49 /* change data phone number */
#define MENU_ADENTER 0x50 /* enter an advertisement */
#define MENU_ADREAD 0x51 /* read advertisements */
#define MENU_ADSCAN 0x52 /* scan advertisments */
#define MENU_RUN 0xf0 /* run a program from BBS */
#define MENU_EXIT 0xf1 /* exit BBS with errorlevel */
#define MENU_VERS 0xf2 /* show BBS version info */
#define MENU_USAGE 0xf3 /* show users time usage and dl/ul info */
#define MENU_YELL 0xf4 /* yell for sysop */
#define MENU_CLOCK 0xf5 /* show clock for time synchronizing */
#define MENU_CHECKMAIL 0xf6 /* check for mail addressed to user */
#define MENU_USERUPGRADE 0xf7 /* sysop's user-upgrade option */
#define MENU_LOGOFF 0xff /* hangup and log off */
#define M_SIGNATURE 0xa442 /* proves file is actual menu file */
/* these macros are for message board flags */
#define MSG_LOCAL_FILEATTACH 0x0
#define MSG_LOCAL 0x1
#define MSG_ECHO 0x2
#define MSG_NET 0x4
#define MSG_PRIVATE 0x8 /* messages are private */
#define MSG_PUBLIC 0x10 /* messages are public */
#define MSG_ALIAS 0x20 /* aliases are allowed */
/* these macros are for message header flags */
#define MSGH_DELETED 0x1
#define MSGH_PRIVATE 0x2
#define MSGH_RECEIVED 0x4
#define MSGH_NET_UNSENT 0x8 /* is unsent Netmail message */
#define MSGH_NET 0x10 /* is Netmail */
#define MSGH_ECHO_UNSENT 0x20 /* is unsent Echomail message */
#define MSGH_ECHO 0x40 /* is echomail */
#define MSGH_LOCAL_FILEATTACH 0x80 /* is local fileattach */
#define NET_KILLSENT 0x100 /* kill/sent netmail */
#define NET_SENT 0x200 /* netmail sent */
#define NET_FILEATTACH 0x400 /* file(s) attached */
#define NET_CRASH 0x800 /* crashmail */
#define NET_RECEIPT_REQ 0x1000 /* receipt requested */
#define NET_AUDIT_REQ 0x2000 /* audit request */
#define NET_RECEIPT 0x4000 /* return receipt */
/* these macros are for advertisement board header flags */
#define ADH_DELETED 0x1
#define ADH_REPLIES 0x2
/* color macros */
#define BLACK 0
#define BLUE 1
#define GREEN 2
#define CYAN 3
#define RED 4
#define MAGENTA 5
#define BROWN 6
#define WHITE 7
#define BRIGHT 8
#define BLINK 0x80
#define ON_BLACK 0x0
#define ON_BLUE 0x10
#define ON_GREEN 0x20
#define ON_CYAN 0x30
#define ON_RED 0x40
#define ON_MAGENTA 0x50
#define ON_BROWN 0x60
#define ON_WHITE 0x70
struct user
{
char user_name[41];
char user_password[16];
char user_city[31];
char user_home[15]; /* users home number */
char user_data[15]; /* users data/business number */
unsigned char user_priv; /* users privilege level */
char user_screenlen; /* length of users screen in lines */
int user_credit; /* credit in cents for fidomail */
int user_flags; /* bit mapped flags for options */
int user_firstdate; /* first date user called */
int user_lastdate; /* last date called */
int user_lasttime; /* last time called */
int user_calls; /* number of calls to the BBS */
int user_timeused; /* amount of time used for the day (minutes) */
int user_upload; /* number of uploads */
long user_uploadbytes; /* number of bytes uploaded */
int user_dnload; /* number of downloads */
long user_dnloadbytes; /* number of bytes downloaded */
char user_reserved[6]; /* reserved for later use */
};
struct prompt
{
int prompt_sig; /* signiture for valid menu file 0xa442 */
char prompt_color;
char prompt_hilite;
char prompt_string[56]; /* string to show */
};
struct menu
{
int menu_number; /* line number */
unsigned char menu_type; /* type of choice */
char menu_key; /* key to initiate choice */
unsigned char menu_priv; /* user priv to see/use choice */
char menu_auto; /* automatic execution if true */
char menu_color; /* color of choice */
char menu_hilite; /* color of hilight */
char menu_expert; /* if true show when expert mode is on */
char menu_line[71]; /* line to show on screen */
char menu_data[71]; /* data line for menu option */
char menu_deleted;
};
struct cfg
{
int cfg_baud; /* maximum baud rate */
int cfg_port; /* port number */
char cfg_init[61]; /* modem initialization string */
char cfg_resp[21]; /* normal modem response string */
char cfg_resp3[21]; /* 300 baud response */
char cfg_resp12[21]; /* 1200 baud response */
char cfg_resp24[21]; /* 2400 baud response */
char cfg_resp48[21]; /* 4800 baud response */
char cfg_resp96[21]; /* 9600 baud response */
char cfg_resp192[21]; /* 19200 baud response */
char cfg_ring[21]; /* ring response */
char cfg_answer[21]; /* answer string */
char cfg_hangup[21]; /* hangup string */
char cfg_busy[21]; /* offhook string */
int cfg_flags; /* flags for setup */
int cfg_minbaud; /* minimum connect rate allowd on BBS */
int cfg_ansibaud; /* minimum baud for ansi */
int cfg_dlstart; /* start time for downloads */
int cfg_dlstop; /* stop time for downloads */
int cfg_zone;
int cfg_net;
int cfg_node;
int cfg_akazone[5];
int cfg_akanet[5];
int cfg_akanode[5];
char cfg_sysopname[41]; /* sysop's name */
char cfg_bbsname[61]; /* BBS name */
char cfg_origin[66]; /* origin line */
char cfg_menupath[61]; /* path to menu files */
char cfg_screenpath[61]; /* path to screen files */
char cfg_nodepath[61]; /* path to nodelist */
char cfg_fapath[61]; /* path to local fileattaches */
char cfg_netpath[61]; /* path for net messages */
char cfg_inboundpath[61]; /* path for inbound message pkts */
char cfg_outboundpath[61]; /* path for outbound message pkts */
char cfg_packetpath[61]; /* path for unpacking message pkts */
char cfg_badmsgpath[61]; /* path for placing bad messages */
char cfg_unarc[61]; /* command for unarcing ARCed files */
char cfg_unzip[61]; /* command for unarcing ZIPped files */
char cfg_unzoo[61]; /* command for unarcing ZOOed files */
char cfg_unlzh[61]; /* command for unarcing LZHed files */
char cfg_arc[61]; /* command for arcing ARCed files */
char cfg_zip[61]; /* command for arcing ZIPped files */
char cfg_zoo[61]; /* command for arcing ZOOed files */
char cfg_lzh[61]; /* command for arcing LZHed files */
unsigned char cfg_newpriv; /* priv level of new user */
int cfg_newcredit; /* credit level of new user */
int cfg_newtime; /* logon time in mins for newuser */
char cfg_askhome; /* ask for home phone */
char cfg_askdata; /* ask for data phone */
char cfg_ansi; /* use ansi on local console */
char cfg_direct; /* use direct screen writes? */
char cfg_snow; /* use snow checking on screen writes */
char cfg_pwdtries; /* number of attempts to get password */
char cfg_inactive; /* time before hanging up for inactivity */
char cfg_yells; /* number of yells per session */
char cfg_yelltime; /* number of seconds for yell bell */
int cfg_yellstart; /* start time for yell-bell */
int cfg_yellstop; /* stop time for yell-bell */
};
struct msg
{
int msg_number; /* message board number */
char msg_areaname[41]; /* message area name */
char msg_flags; /* message area flags */
unsigned char msg_readpriv;
unsigned char msg_writepriv;
unsigned char msg_sysoppriv;
char msg_origin[66]; /* special origin line for this if echomail area */
char msg_deleted; /* true if deleted */
};
struct file
{
int file_number; /* file board number */
char file_areaname[41]; /* file area name */
char file_pathname[61]; /* path to file area */
char file_descname[61]; /* if set, this is the path to files.bbs */
unsigned char file_priv; /* priv level to search this area */
char file_deleted; /* true if deleted */
};
struct evt
{
char evt_enabled; /* true if enabled */
char evt_forced; /* true if forced event */
char evt_days; /* 0-S-M-T-W-T-F-S */
unsigned int evt_time; /* encoded time to run */
char evt_errorlevel;
char evt_title[21]; /* optional name for event */
char evt_deleted; /* true if deleted */
};
struct msgh /* systemwide message number is ((offset/sizeof(struct msgh)) + 1) -- 0 is invalid systemwide message */
{
int msgh_area; /* area number of message */
int msgh_number; /* message number int that area! */
char msgh_to[41]; /* addressee of message */
char msgh_from[41];
char msgh_subject[71];
int msgh_date;
int msgh_time;
int msgh_flags; /* net and message flags */
int msgh_szone;
int msgh_snet;
int msgh_snode;
int msgh_dzone;
int msgh_dnet;
int msgh_dnode;
int msgh_cost;
int msgh_prev; /* previous message link - systemwide message number */
int msgh_next; /* next message link - systemwide message number */
long msgh_offset; /* start offset of message */
long msgh_length; /* message length in bytes */
};
struct mdata
{
int mdata_msgs; /* total number of messages */
int mdata_del; /* total number of deleted messages */
};
struct mc /* message counts by area */
{
int mc_area;
int mc_msgs;
};
struct mlink
{
int mlink_area;
int mlink_number; /* number of the message in that area! */
int mlink_flags; /* a copy of the message flags */
int mlink_cksum; /* a checksum on the uppercased TO: person's name */
};
struct adh /* header for advertisements */
{
char adh_from[41];
char adh_subject[71];
int adh_date;
int adh_time;
int adh_killdate;
int adh_flags; /* ad flags */
long adh_prev; /* previous ad header */
long adh_next; /* next ad header */
long adh_length; /* ad length in bytes */
};
struct m
{
char m_name[10]; /* menu's name */
struct prompt m_prompt;
struct menu **m_lines;
int m_maxlines; /* number of allocated menu lines */
int m_curlines; /* number of menu lines */
};
struct ui /* User-info structure */
{
char ui_name[41]; /* user's name */
int ui_date; /* date user logged in */
int ui_time; /* time user logged in */
int ui_baud; /* baud rate user logged in at */
int ui_online; /* time user spent online in minutes */
int ui_msgread; /* number of messages user read */
int ui_msgposted; /* number of messages user posted */
int ui_upload; /* number of uploads */
long ui_uploadbytes; /* number of bytes uploaded */
int ui_dnload; /* number of downloads */
long ui_dnloadbytes; /* number of bytes downloaded */
};
struct nl /* version 6 nodelist entry */
{
int nl_net;
int nl_node;
int nl_cost;
char nl_bbsname[34];
char nl_phone[40];
char nl_city[30];
char nl_pwd[8];
int nl_realcost;
int nl_hub;
char nl_baud;
char nl_modemtype;
int nl_flags;
int nl_waste;
};
struct nlix /* version 6 nodelist index */
{
int nlix_node;
int nlix_net;
};