Universal Programming,
Inc.
Product Data Sheet
MCNET - TCP/IP Applications Programming Interface to Modcomp Max Systems
MCNET software API and server toolkit provide client applications in Windows�, OpenVMS�, or UNIX environment high volume TCP/IP access to Modcomp Max IV or Max 32 based global commons, RAD files, disk partitions, and other applications data. These Modcomp systems should be equipped with Logical Data Corporation�s IPC Model 3210 TCP/IP support.
MCNET API functions communicate with a server task in the Modcomp providing real time read/write access to Modcomp data. These functions perform task to task communications with the server using TCP/IP by way of IPC socketed logical devices, providing an extremely reliable, efficient, and flexible method of accessing Modcomp data.
The MCNET API for Windows� is provided as a 32 bit DLL, while the OpenVMS or UNIX API is provided as C/C++ subroutine library. Client applications may be written in C/C++, Visual C++, Visual Basic, Access Basic, Power Builder� , or any other applications builder which can call the MCNET API functions.
The Modcomp server task comes off the shelf as binary object code or optionally a complete FORTRAN coded server source package supporting MAX global shared memory region, RAD file, and disk partition read/write access for a configurable number of client socket connections. Coding techniques employed provide compatibility with FORTRAN 66 or 77, running on either 16 or 32 bit MAX operating systems.
Configuration of the Modcomp server task is specified in a BLOCK DATA subprogram, an associated task build procedure, and a MAX IV/32 SYSGEN. This configuration predefines all shared regions and sockets that may be accessed by MCNET clients. Hooks are provided to enable access to virtually any conceivable data source in the Modcomp.
Data Access Specification
Data access requests from a client are specified using a string that identifies the data type, data area, data area identifier, start index, and number of data elements.
i.e.
F,GSR,PVTBL,3,4PVTBL ( points 3 through 6, words 6-13 ). For client read operations, the conversion performed will be from Modcomp real*4 to Client�s native real*4 notation.This definition will access four floating point elements in global shared region
I,RAD,375,1,200
This definition is a request to access record number 1 of RAD file 375 as 16 bit integers. Logical record blocking is 200 integer words per record.
MCNET API functions
mcnet_start |
start a session |
mcnet_stop |
stop a session |
mcnet_connect |
connect to Modcomp server for read/write access |
mcnet_disconnect |
disconnect from Modcomp server |
mcnet_read |
read and convert data from a Modcomp |
mcnet_read_with_status |
read and convert data (with quality) from a Modcomp |
mcnet_write |
format and send data to a Modcomp |
mcnet_write_with_status |
format and send data ( with quality ) to a Modcomp |
mcnet_waitio |
performs timed wait for a read/write function to complete |
mcnet_geterror |
returns the latest known error code for the connection |
mcnet_remoteerror |
returns the latest known error code from a remote Max server |
mcnet_getstatus |
returns the latest known error code for the session |
mcnet_getbusy |
returns the busy status for the connection |
mcnet_socketerror |
returns the latest known error from accessing the socket library |
mcnet_computedcount |
returns the latest computed data byte count to send or receive |
mcnet_errortext |
returns a short descriptive string for an error code |
mcnet_socketerrortext |
returns a descriptive string for an error code generated by a network error |
mcnet_setremotefloat |
sets the format of the floating point data for the remote host |
mcnet_getremotefloat |
returns a code for the format of the floating point data for the remote host. |
mcnet_getarea |
returns a code for the data area used for the most recent data access |
mcnet_gettype |
returns a code for the data type used for the most recent data access |
mcnet_getfunc |
returns a code for the function code used on the most recent data access |
mcnet_mcf2ieee |
converts a buffer of Modcomp floating point data to IEEE notation |
mcnet_ieee2mcf |
converts a buffer of IEEE floating point data to Modcomp floating point |
mcnet_ntohl |
converts a buffer with long (32-bit integer) values from network byte order to host (native) byte order |
mcnet_htonl |
converts a buffer with long (32-bit integer) values from host (native) byte order to network byte order |
mcnet_ntohs |
converts a buffer with short (16-bit integer) values from network byte order to host (native) byte order |
mcnet_htons |
function converts a buffer with short (16-bit integer) values from host (native) byte order to network byte order |
mcnet_version |
returns a descriptive string for the version of MCNET that is being used |
mcnet_setoffset |
sets a word offset to be applied to the calculated offset for all GSR accesses. |
mcnet_setminrec |
sets the minimum record number (e.g., ptid) for GSR references |
mcnet_setmaxrec |
sets the maximum record number (e.g., ptid) so record numbers within a GSR can be validated |
Currently Available API Implementations
Window� NT or later(OPC), AIX, Hp UX, OpenVMS, Linux
Ordering Information - Basic MCNET Package
MCNET API |
Specify Target OS & hardware |
per client cpu |
|
MCNET Max IV or 32 Server Object Code |
Specify Target OS & concurrent users |
per server cpu |
For more information,
Contact Universal Programming today:
mailto:info@uniprog.com