{
{   The purpose of this request is to cause a remote procedure call request to
{ be sent to the server mainframe, and for the remote procedure on the server
{ mainframe to be called.   All input parameters to the server, must have been
{ NEXTed into the p_send_to_server_params  sequence or the
{ p_send_data_area parameters returned on the
{ dfp$begin_remote_procedure_call request.  All output returned from the
{ server may be read from the p_receive_from_server_param sequence or the
{ p_receive_data_area parameters.   The caller of this request waits until the
{ request is processed by the server mainframe and the response is returned.
{
{ If the server is terminated an error dfe$server_has_terminated is immediately
{ returned and the caller should call dfp$end_remote_procedure_call.
{ If the state of the server is inactive, or awaiting_recovery then the status
{ dfe$server_not_active is returned. If the state of the server is active but
{ the job requires job recovery the status returned depends upon the job
{ requires server job recovery the status returned depends upon the job recovery
{ location stored in the procedure address table.  If the job recovery location
{ is dfc$job_rec_in_unavailable_wait then the status of dfe$server_not_active
{ returned and the caller should call osp$wait_on_condition.  If the job
{ recovery location is dfc$job_rec_started_by_caller the caller
{ the status of dfe$job_needs_recovery is returned  and the caller should call
{ dfp$check_job_recovery after calling dfp$end_remote_procedure_call.
{
{    DFP$SEND_REMOTE_PROCEDURE_CALL (QUEUE_ENTRY_LOCATION,
{        PROCEDURE_ORDINAL, SEND_TO_SERVER_PARAMS_SIZE,
{        DATA_SIZE_TO_SEND_TO_SERVER, P_RECEIVE_FROM_SERVER_PARAMS,
{        P_RECEIVE_DATA_AREA, STATUS)
{
{ queue_entry_location
{      This parameter was obtained from the dfp$begin_remote_procedure_call
{      request, and identifies the server mainframe to send the request to.
{
{ procedure_ordinal
{      This parameter specifies the identification of the procedure that is to be
{      called on the server side.  This is defined in deck
{      dft$procedure_address_ordinal.
{
{ send_to_server_params_size
{     Length of parameters to send to server
{         Only includes length under user control.
{     Parameters may have been nexted into p_send_to_server_params returned
{     by dfp$begin_remote_procedure_call.
{     Use i#current_sequence_position to get this length if using NEXTs.
{
{ data_size_to_send_to_server
{     Data must have been written into p_send_data_area.
{     Data to send to the server.
{     The caller must have touched at least the length sent
{         To assure that the pages are wired at the time of the request.
{
{ VAR p_receive_from_server_params: dft$p_user_command_buffer
{     Parameters received from server.
{     Will be NIL if no parameters other than status  returned.
{     Caller should not write into this area .
{     This is the servers VAR parameters.
{     Size obtainable by doing #size(p_receive_from_server_params^).
{     This area will be released on the next call to
{     dfp$send_remote_procedure_call or dfp$end_remote_procedure_call.
{
{ VAR p_receive_data_area: dft$p_data_area
{     This parameter returns a pointer to a data area that may be used to
{     receive data that is too large to fit into the areas provided by the
{     receive  parameter area.
{     Will be NIL if no data returned.
{     Data received from server.
{     Size obtainable from #size(p_receive_data_area^).
{     Caller should not write into this area.
{     This area will be released on the next call to
{     dfp$send_remote_procedure_call or dfp$end_remote_procedure_call.
{
{ VAR status
{     This parameter returns the status.  This is the status from the remote
{     procedure on the server or  if a failure occurred in the remote procedure
{     call mechanism (for example, due to a server failure) , this indicates that
{     status.  If this status is abnormal then p_receive_from_server_params
{     and p_receive_data_area are both NIL.
{     Conditions
{         dfe$invalid_queue_entry_id
{         dfe$job_needs_recovery
{         dfe$server_has_terminated
{         dfe$server_not_active
{         dfe$server_request_terminated
{            This condition indicates the server failed while the request was
{            pending.  It is unknown if the request started or completed.
{
