Home Page Products Main Page Greenleaf Secure Store and Catalog Technical Support Request Download listings There is a lot of reference material online here. All about Greenleaf, privacy, policies, legal corner... We add to the top of this when things of note occur.
View Cart
Greenleaf Software Inc, home of Greenleaf serial communications including protocol analyzers and data compression tools

Detailed Specifications - CommLib

Greenleaf CommLib: A Closer Look

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. Now from Greenleaf Software.
  • 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
  • Target platforms: DOS, Win32, Win16, 16- and 32-bit Extended DOS, Novell NASI
  • Supported compilers include Visual C++ 1.52, 4, 5, and 6, Borland C++ 5.02, Microsoft C/C++ 7.0, Watcom C++, Symantec C++, and Turbo C++ 3.0.
  • 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, e.g. PortOpenMSWin32() changed to PortOpenGreenleafFast() to switch from Win32 to MS-DOS.
  • API For NetWare NASI interface under DOS and Windows
  • Targets Microsoft Windows 3.1, Windows 95, 98 Windows NT, 2000, XP, And DOS, and 286 and 386 DOS extenders including Borland PowerPack. Win32s thunking layer allows coding 16-bit apps for Win32
  • ANSI terminal emulation
  • video custom control; emulation also supports TextWindows, DOS and Windows
  • Complete TextWindows system -- an easy 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
  • Kermit protocol With RLE compression And eighth bit prefixing
  • CompuServe B+ protocol with options.
  • Block() prevents data errors during disk access, even at 115.2 Kbaud and up. Greatly improves ZModem transfers
  • Recursive subdirectory search engine for wildcard file transfers
  • XON/XOFF, RTS/CTS and DSR/DTR handshaking / flow control
  • Drives Arnet, Digi, Comtrol, Star Gate and other intelligent multiport boards. Use RS-485 interface on some boards
  • Supports many standard (dumb) 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() functions provide 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++)
  • 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 Version 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 Win16 apps for Win32
  • ANSI terminal emulation
  • Video custom control; emulation also supports TextWindows, DOS, Windows

New in Version 5.26

  • Support For Visual C++ 6
  • Fixed all outstanding bugs
  • Changes And tests to support Windows 2000 And XP

Easy yet Versatile

  • 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 Software 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 );

Sophisticated Design

  • 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.
  • There’s 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
  • Visual C++ 1.52, 4, 5, and 6, Borland C++ 5.02, Microsoft C/C++ 7.0, Watcom C++ 10, Symantec C++.

Target Platforms

  • Windows 95, 98, NT 3.51, 4.0, 2000, And XP
  • MS-DOS
  • 16- and 32-bit Extended DOS
  • 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. We support 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

UART 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 as WideTrack Rx™
  • 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

  • Win32
  • GSCI (DOS)
  • Greenleaf fast driver (DOS)
  • Windows 3.1x (includes Win32s thunking layer)
  • 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 NT, 2000, XP, And Server 2003 comm drivers, CommLib goes the extra mile - a complete TextWindows™ function set hides the Windows 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.

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

Built-in Diagnostic Tools

  • 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

Protocols With MultiPort Boards

  • 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 any AT command Set 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
  • Special WideTrack© mode fetches status With each byte received.
  • An incredible Array of interrupt handler features (in DOS)

TextWindows™ System Support

  • A simplified way to code for Windows 3.x, 95, and NT child windows under MDI frame

Documentation

  • Windows Help And a complete PDF manual.
  • Over 700 pages with compilable examples for every function. Many also have Visual Basic examples
  • Windows Help system that includes many examples and functions

Ongoing 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 19 years!

Current Version And Need to Maintain

  • 5.26 is the current version. Affordable upgrades are available For owners of previous versions.
  • The current version supports Visual Studio 6; prior versions Do Not. Updates Here

Back     Return to home page     To top of this page        Greenleaf CommLib

products | serial comm libraries | protocol analyzers | serial hardware
data compression/archiving/encryption | About Us | news | Updates
downloads | site map

Google
Web GreenleafSoft