Socket Utilities ver 2.0
by Scott Klement

These RPG source files contain the code needed for working with sockets. The following source members are included:

SOCKET_H  -- contains the prototypes, data structures and constants
              used with the i5/OS socket APIs.

ERRNO_H   -- contains the prototypes and constants used when checking for
              errors in ILE C functions or i5/OS Unix-type APIs

SIGNAL_H  -- contains the prototypes, constants and data structures used 
              for the i5/OS signal APIs from RPG

SPAWN_H   -- contains the prototypes, constants and data structures used
              when working with the i5/OS spawn() API

GSKSSL_H  -- contains the prototypes, constants, and data structures used
              when working with the i5/OS GSKit (SSL) API

SOCKUTIL_H -- contains the prototypes and constants for the socket
               utility routines written by Scott Klement

SOCKUTILR4 -- Contains the code for the SOCKUTILR4 service program
               by Scott Klement

SOCKUTILR4.BND -- contains the binder language code for the SOCKUTILR4
               service program.  Place in a QSRVSRC file not QRPGLESRC.

To install:

Upload all of the source members to a QRPGLESRC file on your i5/OS system, except for the SOCKUTILR4.BND code, which should be named SOCKUTILR4, but placed in a QSRVSRC file on your system.

Make sure the QRPGLESRC file is in your library list.  Then run these commands:

    CRTRPGMOD MODULE(QTEMP/SOCKUTILR4) SRCFILE(xxx/QRPGLESRC) DBGVIEW(*LIST)
    CRTSRVPGM PGM(mylib/SOCKUTILR4) EXPORT(*SRCFILE) SRCFILE(xxx/QSRVSRC)
    CRTBNDDIR BNDDIR(mylib/SOCKUTIL)
    ADDBNDDIRE BNDDIR(mylib/SOCKUTIL) OBJ((SOCKUTILR4))

To make it possible to call the SOCKUTIL routines from your programs, 
you'll need to do the following:

    a) Use the BNDDIR() keyword to specify the SOCKUTIL binding directory.
    b) Use the /COPY directive to copy the needed prototypes into your
         programs.

Good luck!
