
Communications Programming for
Windows
CommLib provides
over 450 public functions and macros, providing powerful tools for all aspects of
asynchronous communications programming for Microsoft Windows 95, 98, NT, Windows 3.1x,
Win32s, MS-DOS, and 16 and 32 bit DOS extenders:
- Supports all popular C/C++ compilers
- Windows DLL supports 16-bit Visual Basic
- Any number of serial ports in a PC
- Intelligent and non-intelligent board support
- Comprehensive port controls
- Level 2 features platform-independent coding
- Standard file transfer protocols
- Terminal emulation
- Modem controls
File Transfer Features
All file transfers are done from Level 2: this works the same
across all kinds of ports and hardware. Three features are standard
across all file protocols:
- Idle routine (user function) called at least once for each block.
- Capability to print status reports on each block transferred.
- Configurable abort key can abort transfer on each block.
In addition, each supported protocol supports various
popular options. A state-driven subdirectory search engine facilitates
wildcard transfers for all protocols with multi-file capability.
Supports Many Kinds of Hardware
CommLib supports virtually all PC architectures. The total
number of ports is limited only by hardware, and you can open
ports in the same computer for different boards. An incredible
array of smart and dumb multi-port boards may be "mixed" in
a PC.
PowerComm
If you need to drive multi-port hardware or improve performance
far beyond that which the Windows 3.1 communications
driver can support, you should get
PowerComm -- -a native Windows 3.1 implementation of
CommLib including a DLL and virtual device driver.
PowerComm supports 386 Enhanced and Standard modes and
allows any number of multi-port or standard ports to be opened
for multiple Windows and/or DOS applications simulta-neously.
PowerComm requires CommLib 5.2, and is sold separately.
CommLib Details
Summary
- Over 450 public functions
and macros, providing powerful tools for all aspects of asynchronous communications
programming for Microsoft Windows 3.x, Windows NT, Win32s, MS-DOS, 16- and 32-bit DOS
Extenders. Supports all popular C and C/C++ compilers. Windows
DLL supports Visual Basic
- Greenleaf CommLib Level 2 is the most trusted, complete, and versatile
asynchronous communications library on the planet.
- CommLib
is and has been the one essential add-on for communications
functionality for many thousands of successful users all over the globe since 1984
- If you code in C, Greenleaf CommLib is your best and fastest route to a
completed application that communicates
- Free source
- No royalties
- Development platforms:
Win32, Win16
- Target platforms:
DOS, Win32, Win16, 16- and 32-bit Extended DOS, Novell NASI
- Supported compilers
include Visual C++ 1.52, 4.0, 5.0, and above, Borland C++, Microsoft C/C++ 7.0, Watcom
C++, Symantec C++, and Turbo C++ 3.0. Also supports Visual Basic 4 and 5
- Language-independent DLLs
for all Windows platforms
Major Features
- Level 2's
consistent API for all supported hardware and platforms uses function pointers (virtual functions) for
device independence -- eases your programming and porting
- To change hardware supported, just change the specific
PortOpen()
function call
- API For NetWare NASI
interface under DOS and Windows
- Supports
Microsoft Windows 3.1, Windows 95, 98 Windows NT, DOS, and 286
and 386 DOS extenders including Borland
PowerPack. Win32s thunking layer
allows coding apps for Win32
- ANSI terminal
emulation
- Video custom control;
emulation also supports TextWindows, DOS and Windows
- Complete TextWindows system -- an easier way to code
for Windows 3.x and NT child windows under MDI frame
- XModem, XModem/CRC, XModem-G, -1K, -1K-G, YModem, YModem-G, YMODEM batch, ZModem with crash recovery,
16 and 32-bit CRC, abort on CD lost, many other options
- CompuServe B+ protocol with options,
Kermit, ASCII file transfers. Kermit has compression and
eighth bit prefixing
- Block() prevents data errors during disk access, even at 38.4 KBaud and up.
Greatly improves ZModem transfers
- Recursive
subdirectory search engine for wildcard file transfers
- Recursive
XON/XOFF, RTS/CTS and DSR/DTR handshaking
- Drives Arnet, Digi, Comtrol, Star Gate and other
intelligent multiport
boards. Use RS-485 interface on some boards
- Supports many standard
multiport
boards including Comtrol, Digi, Arnet, Star Gate, Contec, Qua Tech,, Fastcom, AST, BocaBoard,
SeaLevel and Hostess
- Mix
different multi-port boards in PC -- a Greenleaf exclusive!
- Install() and Remove()
easy setup for each type of multi-port board, plus DumpPortStatus()
diagnostic
facility
- BIOS and EBIOS Interrupt 14 hex support,
HP95LX
support
- Supports Sparkle and MODEM Assist Plus network
modem or port sharing software
- Support for Borland PowerPack and VROOM, 16 and 32-bit, Tenberry Software DOS/16M and DOS/4G,
Phar Lap TNT 7.0 and Run 286 DOS
Extenders, Windows, Windows NT and DOS for all popular
compilers (C, C++, Visual Basic)
- Baud rates up to 115,200
- Unlimited
number of ports (dependent upon hardware only)
- Over 40 functions for Hayes compatible
modem control
- Extensive support for 16550 UART
FIFO
modes -- restores FIFO state properly when port is closed
- Complete
set of video and keyboard routines integrated with Ctrl-Break handler
New in 5.2
- API for
NetWare NASI
interface under DOS, Windows
- Supports Windows 95/98, Windows 3.1x, Windows NT, DOS, and 286 and 386 DOS extenders
including Borland PowerPack
- Win32s
thunking layer allows coding apps for Win32
- ANSI terminal
emulation
-
Video custom control
; emulation also supports TextWindows, DOS, Windows
Simplicity
CommLib supports virtually all PC architectures with
incredible ease
The total number of ports is limited only by hardware, and you can open
ports in the same computer for different boards. An incredible array of smart and dumb
multi-port boards may be "mixed" in a PC -- a
Greenleaf exclusive!
For example, to open a port on a smart Digi card, just
code:
PORT *port7;
port7 = PortOpenSmartDigiboard( COM7, 9600L,N,8,
1 );
From here on, you can use the Level 2 modem controls, handshaking and file transfer
functions the same way you would with a port on any other supported hardware. This is what
we mean by device independence. It is implemented by a virtual function set. If you want
to change this to access a Windows NT port, just change to:
port7 = PortOpenMSWin32( COM7, 9600L,N,
8,1 );
Sophistication
- CommLib provides sophisticated support for RTS/CTS and DSR/DTR hardware
handshaking, and XON/XOFF software flow control. CommLib uses four interrupt service
routines for DOS COM ports; your program will contain ISRs for transmit, receive,
error conditions, and modem status changes. You control which of these features are used
for each port.
- Theres a Ctrl-Break handler for safety. Exit intercepts insure a
graceful shutdown. You can save a status byte for each received character using the
WideTrack Receive option. Also included are routines which give you access to all Alt-,
Ctrl- and Function keys with just one function call!
- You can start, hold and resume the transmit and receive interrupts
separately or together at any time. You can run ports in full or half duplex. You can
specify separate circular transmit and receive buffers (for DOS) from a few bytes up to
65,535 bytes. You can even run different baud rates and
transfer protocols on different ports
Development Platforms
- Win32, Win16
- Visual C++ 1.52, 4.0, 5.0, and above, Borland C++, Microsoft C/C++ 7.0, Watcom C++, Symantec C++,
and Turbo C++ 3.0. Also supports Visual Basic 4 and 5
Target Platforms
- MS-DOS
- 16- and 32-bit Extended DOS
- Windows 95, 98, NT 3.51, 4.0, and 5.0
- Windows 3.1x, Windows for Workgroups 3.11
- Novell NASI
DOS Extender Support
- If you target a DOS environment, you know that DOS extenders are a way to gain more useful memory.
Greenleaf supports Borland PowerPack and
VROOM, 16- and 32-bit Tenberry, and Phar Lap extenders
Communications Hardware
- CommLib fully supports 8250, 16550, and compatible chips.
It also supports many brands and models of intelligent and
non-intelligent multiport communications hardware
- You can even configure for several different kinds of
boards in the same PC -- a CommLib exclusive
- Multiport board support includes easy to use Install and Remove functions to support easy setup
16550 FIFO support
- Extensive support for 16550 UART FIFO modes --
automatically restores FIFO state properly when port is
closed
About Level 2
- The great diversity of communications applications, platforms, and connected devices has mandated a
new paradigm (called Level
2) in which a variety of drivers are accessed similarly by standard functions
to perform setup, status, I/O, file transfer, and other capabilities
- Level 2's consistent API for all supported hardware and platforms uses function pointers
(virtual functions) for device independence -- eases your programming and porting
- To change hardware supported, just change the specific PortOpen() function call
Three Levels
- Level 0
is comprised of hardware / platform dependent drivers and
interrupt service routines
- Level 1
functionality encompasses the extraordinary capabilities of the Greenleaf Standard
Communications Interface (GSCI) driver, surrounding it with versatile buffer and port configurations,
flow control and handshaking options not found anywhere else,
various I/O modes, and unique features such
- Level 2 software includes port controls,
file transfer protocols, hardware and software handshaking, modem controls,
and terminal emulations
How it Works
- Level 2 technology works like virtual functions in C++
to provide any included driver with all Level 2 functions it is
capable of supporting. This means you needn't change more than a single PortOpen...()
function in order to switch drivers.
- Example:
To change from DOS to Win32 usually means changing from
PortOpenGreenleaf() to PortOpenMSWin32()
Drivers
- GSCI
- Greenleaf Fast driver
- Windows 3.1x (includes Win32s thunking layer)
- Win32
- Intelligent multiport boards
- >Non-intelligent multiport boards
- BIOS and EBIOS (INT14 drivers)
- Novell NASI
- Sparkle and MODEM Assist Plus (shared modems on network)
- FOSSIL driver
- HP95LX support
Windows Support
- In addition to APIs that access the Windows 3.x and NT comm drivers, CommLib goes the
extra mile -- a complete TextWindows function
set hides the Windows (3.x and NT) message loop, so that your applications can use full
MDI windows and menus. TextWindows includes functions to get keystrokes, write text, and
much more. Or, you can code for Win32. For Win32s, use our
32-to-16 bit thunking layer.
About Greenleaf PowerComm
- If you need to drive multi-port hardware or improve performance far beyond that which the
Windows 3.1 communications driver can support, you should
get Greenleaf PowerComm --
a native Windows 3.1 implementation of CommLib including a DLL and virtual device driver.
PowerComm supports 386 Enhanced and Standard modes and allows any number of multi-port or
standard ports to be opened for multiple Windows and/or DOS applications simultaneously.
PowerComm requires CommLib 5.2, and is sold separately or as
part of CommLib Professional.
Communications Parameters
- Baud rates to 115,200
- Odd, Even, No parity, plus Mark (Stick) and Space (Stick) parity
- 5, 6, 7, or 8 data bits
- 1, 1 1/2, or 2 stop bits
Flow Control & Handshaking
- XON/XOFF software flow control
- RTS/CTS, and DSR/DTR handshaking
Helping You Get Up and Running Fast
- Comprehensive error return system and exclusive DumpPortStatus() diagnostic function,
so if something breaks you can
easily determine the location and cause.
Any number of serial ports
- From a software standpoint, the number of ports is
virtually unlimited (dependent upon hardware only)
Multiport board support
- Drives Comtrol, Arnet, Digi, Star Gate and other intelligent multi-port boards.
Use RS-485 interface on some boards
- Supports many non-intelligent multi-port boards including Digi, Comtrol, Hostess Arnet,
Star Gate, Contec, Qua Tech, Fastcom, AST, BocaBoard and
SeaLevel
- Mix different multi-port boards in PC -- a Greenleaf
exclusive!
- Install...() and Remove...() provide easy setup for each type of multi-port board,
plus DumpPortStatus() diagnostic facility
Standard file transfer protocols
- ZModem with crash recovery, sliding window, 16 and 32
bit CRC, abort on Carrier lost, and other options
- Block() prevents data errors during disk access, even at 38.4 KBaud and up.
Greatly improves ZModem transfers
- XModem/CRC and XModem/checksum
- XModem-G, 1K, and 1K-G options
- YModem, YModem-G, and "YModem batch"
- Numerous other options for X,Y,ZModem protocols
- CompuServe B+ protocol with options
- Kermit with options including compression & eighth bit prefixing
- ASCII transfers
- Recursive subdirectory search engine for wildcard file
transfers -- may also be used as standalone utility
File transfer features
- All file transfers are done from Level 2: this works the
same across all kinds of ports and hardware
- Three features are standard across all file protocols Idle routine (user function) called at least
once for each block:
- Capability to print status reports on each block transferred
- Configurable abort key can abort transfer on each block
- In addition, each supported protocol supports various popular options. A state-driven subdirectory search
engine facilitates wildcard transfers for all protocols with multi-file capability
Terminal emulation
- PC-ANSI emulation is accomplished with a great deal of integration and cool features as a Level 2 component
- You can use Windows console mode as the display, or use an included simple set of video functions.
- Customization is easy with the added ability to define keyboard and incoming command-to-code-sequence pairs
Modem controls
- Over 40 functions for Hayes compatible modem control -- all standard AT commands are implemented
for easy modem configuration
- Option to await "OK" from modem
Many unique features
- Complete set of video and keyboard routines
integrated with Ctrl-Break handler
TextWindows system
- A simplified way to code for Windows 3.x, 95, and NT child windows under MDI frame
Documentation
- Over 700 pages with compilable examples for every function. Many also have Visual Basic examples
- Comprehensive Windows Help system that includes all examples and functions
Continuing commitment and growth
- Includes complete, unshrouded source code, and at least one complete example program that will compile by each
supported compiler. And rest assured that CommLib will continue to be supported as it has been over the past 14 years!
Compiler support
Visual C/C++ 1.5X, 5.0
Borland C++ 3.1, 4.5, 5.0x
Borland C++Builder 1.0
Turbo C++ 3.1
Visual Basic 3.0, 4.0 (16-bit)
Symantec C++ 7.0
Microsoft C 7.0
Watcom 10.0, 10.5, 11
Home ||
Shopping Cart ||
Site Map ||
Newsletter/Blog
Search HALLoGRAM ||
Request More Information CALL TOLL FREE 1-866-340-3404
|
|