105 lines
4.4 KiB
Plaintext
105 lines
4.4 KiB
Plaintext
***************************************************************************
|
|
* OpenDoors v6.24 C/C++ Door Development Kit for DOS/Win32/*nix Platforms *
|
|
***************************************************************************
|
|
|
|
$Id: ODOORS62.TXT,v 1.5 2006/12/07 02:06:14 rswindell Exp $
|
|
|
|
August 10, 2003
|
|
|
|
*nix (using StdIO only) update to Brian Pirie's OpenDoors Library
|
|
|
|
August 22, 2002
|
|
|
|
Door32.sys and Socket update to Brian Pirie's OpenDoors Library
|
|
(http://www.pirieworld.ca/opendoors.html)
|
|
|
|
by Rob Swindell (http://www.synchro.net/)
|
|
|
|
The current source code is always available via CVS at cvs.synchro.net.
|
|
|
|
The latest and greatest Win32 ODoors62.dll can always be downloaded here:
|
|
http://cvs.synchro.net/cgi-bin/cvsweb.cgi/~checkout~/src/odoors/ODoors62.dll
|
|
|
|
==============================================================================
|
|
|
|
This archive includes the source code to the OpenDoors library with
|
|
modifications made by me (Rob Swindell, aka Digital Man) to add support for
|
|
the Door32.sys drop file format and Win32 TCP/IP socket (Telnet)
|
|
communications.
|
|
|
|
I made my modifications to the 6.1.1 release by Brian Pirie (ods611.zip) and
|
|
used Microsoft Visual C++ v6.0. I also eliminated any warnings or errors
|
|
detected by this compiler. The linker still warns of duplicate symbol
|
|
definition (od_control and od_printf), but I left those duplicate defintions
|
|
in the .def file since they may have been necessary for another platform or
|
|
compiler that I'm not using.
|
|
|
|
This version also includes the ODEmu.c:od_send_file_section() modification
|
|
by Michael Dillon (gsvalore@arn.net | http://members.darktech.org/gsvalore/).
|
|
|
|
|
|
DOOR32.SYS
|
|
----------
|
|
The Door32.sys drop file format was created in June of 2000 to support the
|
|
new wave of 32-bit Windows and *nix doors. The main feature of this
|
|
drop file format is that it includes the currently open Win32 comm handle or
|
|
socket descriptor (whichever is appropriate for the current connection).
|
|
|
|
I didn't add support for the Win32 comm handle in the door32.sys file
|
|
(I run a telnet-only BBS and would have no way to test it). I can't
|
|
imagine it would be very difficult to add; I'm just not sure how much demand
|
|
there would be for such a feature today.
|
|
|
|
I did however add support for the socket descriptor in the drop file (used for
|
|
TCP/IP - Telnet connections) and this is currently the only "standard" drop
|
|
file format that is expected to include a socket descriptor (Synchronet's
|
|
XTRN.DAT drop file also includes a socket descriptor, but I don't really
|
|
consider that format to be a "standard").
|
|
|
|
The Door32.sys drop file is currently supported by the following known BBS
|
|
packages:
|
|
|
|
Software Home Page Version
|
|
-----------+-------------------------------------+--------
|
|
Mystic BBS www.mysticbbs.com 1.07
|
|
EleBBS www.elebbs.com 0.08?
|
|
Synchronet www.synchro.net 3.x
|
|
|
|
|
|
TCP SOCKET I/O
|
|
--------------
|
|
When using a Door32.sys drop file, the communications type (Local, Serial, or
|
|
Telnet) is automatically determined and I added support for (and tested) the
|
|
Telnet/socket communication method using Synchronet BBS Software v3.10 for
|
|
Win32 and HyperTerminal Private Edition v6.1.
|
|
|
|
Since the Telnet protocol specifies that an end-of-line sequence (ENTER or
|
|
Carriage Return) is a CRLF (ASCII 13, 10), I had to modify od_get_key() to
|
|
ignore any line feed (ASCII 10, Ctrl-J) characters. Without this modification,
|
|
hitting enter in most Telnet clients would cause a "double return" to be sent
|
|
to the door. There may be a more desirable solution to the problem, but this
|
|
one seems to work for now.
|
|
|
|
v6.21 fixes a bug in the socket disconnection ("carrier-loss") detection in
|
|
v6.20. I also lowered the input and carrier-detect thread priorities down to
|
|
"normal" which makes the doors appear to run faster and also make debugging
|
|
continuous loop problems (like the one in v6.20) much easier.
|
|
|
|
v6.22 changes:
|
|
Another bug fixed in socket disconnection ("carrier-loss") detection.
|
|
Added support for non-blocking sockets (e.g. EleBBS) - thanks to GSValore.
|
|
Added support for the "-SOCKET" command-line option to specify the socket
|
|
descriptor on the command-line.
|
|
|
|
v6.23 changes:
|
|
*nix support using stdio
|
|
|
|
v6.24 chagnes:
|
|
Fixed timeing bugs on *nix
|
|
Fixed output truncated bug on *nix
|
|
Fixed od_get_input() hang on ESC on Win32
|
|
Fixed various other bugs.
|
|
Added od_key_pending() function.
|
|
|
|
/* End of ODOORS62.TXT */
|