The RPC server software takes data sent from the client omrd/omwr and reads or writes this data to the Foxboro system. The server software must be running continually on the Foxboro AP/AW and is therefore started on bootup.
The RPC server multisvc is made up of two source modules om_calls.c and omserver.c. The modules can be compiled on a Foxboro AP/AW as a normal user-
$ cd /stds/genl/source/flamedetection/sun
$ make multisvc
This compiles the RPC stub routines and Foxboro object manager calls and links against the Foxboro libraries. Therefore this must be done on a Foxboro workstation. Note that this links against some object modules compiled for omrd. If there are any changes to the rpcgen control file omrd.x then omrd must be built first before multisvc.
The om_calls.c module contains the stub routines to interface with the Foxboro API (Application Programming Interface) functions getval and set_confirm. Information on these functions can be gained from Foxboro Manual B0193BC.
The omserver.c module performs the following functions-
Register the RPC service with the operating system loop forever { wait until a request arrives { fork a copy of the process to service the request parent returns to wait for next request and cleans up when child exits. child continues { loop through request data defined by protocol { call omget or omwrite functions for each piece of data return requested data to client process on remote computer. } child exits } } }
![]() ![]() ![]() |