home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
MAXMAILP.ZIP
/
README.OS2
< prev
next >
Wrap
Text File
|
1991-07-27
|
8KB
|
166 lines
:GENERAL INFO:
First and most important, the author of MAXMAIL seems to use a lot of the
maximus header files. However, I had to change a few for some strange
reason and they also have to me in the same directory as the maxmail source.
So MAKE SURE that you keep this entire zip file contents in one dir. If
you DO NOT want to recompile it, then simply move maxmailp.exe and change
maxmail.cfg file to suit your needs and then move it too to your max bbs
directory. To (re)compile, simply invoke nmake and it should work fine.
NMAKE comes with 6.0a and it will create *.cbj files (object files) that
will then be later linked with GATE.LIB. GATE.LIB MUST be linked in as
I'm using this file for the com routines and color. If you've ever run a
WWIV BBS, GATE.LIB will be familar as most of this is ported WWIV COMMON.PAS
routines. Since I am a registered sysop of WWIV source code, and I have
NOT contacted the author of the port, I can only release object code as I
don't want anyone getting pissed off! Some of the routines also borrow
from the ideas of a REAL OLD BTP port by Peter Fitzsimmons.
:INVOCATION OF MAXMAILP:
There are a few things that are different in this version of Maxmail for
OS/2. Most importantly, the added command parameters. Here is a summary:
/? Will display the DOS and OS/2 allowable parameters.
/Bx Is a Gate Command. If present, the modem is passed the (x) baud rate.
/Hx Is a Gate Command. If present, the modem is passed the (x) com handle.
/Vx Is a Gate Command. If present, it tells the Gate what kind of
screen (x) is being used (7 for mono, no ansi, 15 for color with ansi).
/S1 Is a Gate Command. If present, it tells the Gate that a high speed,
MNP type modem (over 2400) is being used. /S0 or nothing denotes normal
modem type.
/W1 Is a Gate Command. If present, it tells the Gate that the high
speed modem is locked and is using flow control. /W0 or nothing denotes
no flow control.
Here is an excerpt of a mecca file I used to call a number of my Gatekeeper
routines including Maxmailp.
[top]
[white] Some Menu stuff
[white]Select: [cyan][menu]O etc |
[choice]|[top]
[choice]O[link][goto reader]
[top]
[/Reader]
[color]
[isremote][Xtern_Run]J:\OSB\MAXMAILP.EXE /B%b /H%P /W1 /S1 /V15
[islocal][Xtern_Run]J:\OSB\MAXMAILP.EXE /L /W1 /S1 /V15
[top]
[endcolor]
[isremote][Xtern_Run]J:\OSB\MAXMAILP.EXE /B%b /H%P /W1 /S1 /V7
[islocal][Xtern_Run]J:\OSB\MAXMAILP.EXE /L /W1 /S1 /V7
[top]
In the above example, the parms should be used exactly like stated above
unless one wants to activate a maxmail parm. The only thing that needs
changing (obviously) is the path name to maxmailp. I put it in my main
BBS directory (OSB) so that it can find lastus, etc fairly easily.
Both Lines, regardless of color, using [isremote] MUST have the /B and /H
used above. These are the baud rate and com handle passed from Maxp. For
more info on how maxp works, please see the os2 readme files that came with
maxp. But basically, the baud parm is the same in max as it is in maxp. So
is the Handle with the exception that in maxp, the port passed IS the handle
since you DO NOT open ports in OS/2, only Handles since Maxp is actually
spawning maxmailp and passing it AN ALREADY ACTIVE com port (handle).
/W1 and /S1 are to ONLY be used with high speed, locked port modems. If you do
not have such a modem, leave them out. Finnaly, the /V15 tells the Gate that I
am using a color monitor with ansi graphics as opposed to a /V7 of mono or herc
without ansi. If you have a mono monitor and ARE using Ansi, then its ok to
specify /V15 (I think). I used to have a separate line for Ansi but this was
conflicting with other programs parms. I have not had the time to test this
on a mono system with ansi so please let me know if this is a problem (ie using
/V15 on a mono or herc card system.
Also note that when I login locally, I use the /L meaning no modem use. In all
of my other Gate Doors, /M means local or no modem and /L means last name. Also
in my other Gate Doors (with the exception of maxmailp) I use a /F for first
name. This will most likely change but its easier to pass these parms than it
is to read in lastusxx.bbs file (I know, I'm lazy [grin]).
For the packers, I use ARC2, PKZIP2, and LH. For download protocals, you
will most likely need to get a hold of m2zmodem (I renamed it to M2Z.EXE)
available here or better yet, on Fernwood (Latest version always at Fernwood).
Otherwise, maxmail.txt will explain all the other options and the actual
use of maxmail.
:COMPILING:
Can't think of too much that Craig already mentions in README.DOS. I too use
MS C 6.0a and have altered the make file slightly to compile and link in OS/2.
:MAKEFILE:
I used the same method of a makefile that maxmail uses. But, I had to
use the appropriate switches to tell cl and link about protected mode.
I also had to add my GATE.LIB file into the makefile.
:GATE.LIB:
Currently, only the lib file that contains OS2COM.OBJ is enclosed.
Source code to OS2COM may be released soon. Here is an overview
of the most needed functions and what they do:
prt(x,string) - This changes the color (if possible) to x where x is
between 0-7. Its not used in maxmailp but could be.
The string is any valid C string and it will print that to
the com port, or local screen. It will not add a nl.
nl() - This simply puts a \n to the current output device.
cls() - Simply clears the screen, if possible.
outstring(s) - Does just like strout but is used for OS/2 only.
inputl(s,80) - Does just like strin but is used for OS/2, accepts less
than or equal to 80 chars, and takes upper or lower case.
inputu(s,80) - Does just like strin but is used for OS/2, accepts less
than or equal to 80 chars, and takes ONLY upper case.
All of the above 3 functions are shown in protos.h. You
can change the define to use less than or more than 80
chars for the 2 input functions shown above.
inputkey() - Does just like chrin but is used for OS/2 only.
outlocal(s) - This is the only function that works ONLY on the local
screen. It does not send s to the modem.
printfile(s) - I call this function because it works better with the
GATEkeeper LIB. As you will see, there is a built in
pause() function that can be called directly or by using
printfile(s). If you decide not to use this, then the
pauses will not be doing what they are meant to do (ie
pausing after 23 line are displayed) because they will
be out of sync with my i/o routines that check for 23
lines of output. By not using printfile, the i/o will
get confused and either pause too much or not enough!
There are a few more functions such as logon(), logoff(1), modemcall(),
localcall(), etc. You will see these only in maxmailp. They MUST be used
as they are placed in maxmailp as they initialize the gate based on the
passed GATE parms.
:MESSAGE TO MAXMAIL AUTHOR -- Might be of interest to someone else too:
Maxmailp has the most changes (in fact, most of the other modules only
changed due to segment violations). Its CERTAINLY possibile to have only
1 maxmail.c with a bunch of if define's, but this was the easiest way to
do it. WE should create an exe file called maxmailp so 1, it does not
overwrite maxmail.exe and 2, its the convention in the OS/2 BBS community
to add a "p" to protected mode versions of software. Feel free to modify
anything as you see fit but just keep in mind that this IS working in OS/2
with the exception of 1 more segment bug. This bug is the same one that
plagued us before. It happens when a user enters a message number to add or
delete that DOES NOT EXIST! This is the ONLY Error I know of and I've tested
it pretty much.
:ORIGIN and perhaps support:
Steve Lesner @ 1:141/261
or @ 1:141/260