Installation guide

16 DC 900-1325I
Freeway Server-Resident Application (SRA) Programmer Guide
server using software development tools which are installed on all Freeway servers. You
can then run these applications in two ways: when Freeway boots, or as requested from
the interactive FreeBSD command shell.
Your SRA can be designed to perform any task within the constraints of the FreeBSD
operating system and the Freeway hardware/software architecture. The SRA can inter-
act with the LAN (Ethernet), the WAN (ICP boards), the FreeBSD operating system, or
another SRA.
A consistent application program interface (API) is provided for communicating with
the WAN and LAN from either a server-resident application or a host-resident client
application. The data link interface (DLI) and transport subsystem interface (TSI) are
available for communicating over the WAN and LAN interfaces on Freeway. The DLI
and TSI are libraries of C language programs developed and supported by Protogate
which reside on the Freeway server. These libraries can be used with specific protocols
or in a protocol-independent manner. For detailed information, see the Freeway Data
Link Interface Reference Guide and Freeway Transport Subsystem Interface Reference
Guide. Specific information on how to use these APIs in the SRA environment is
described in this document.
1.2 Overview of Example SRA Types
Your SRA will be customized to fit your specific project needs. To satisfy those needs,
you need to first visualize the basic type of SRA that best suits your project. This section
outlines some of the more common uses of Freeway SRAs in order to provide you with
a starting point for your own SRA design.
First we will review how the Freeway works without the SRA. Figure 1–1 shows a block
diagram of the typical Freeway environment with a remote client, the Freeway server,
and the connecting network when no server-resident applications are present. The cli-
ent application calls DLI functions which then call TSI functions. At the Freeway server,
the TSI calls the message multiplexor (
msgmux) task which then calls the intelligent