OpenTP1 Version 7 Programming Reference C Language
dc_rpc_open - Start an application program
Format
ANSI C, C++
#include <dcrpc.h> int dc_rpc_open (DCLONG flags) |
K&R C
#include <dcrpc.h> int dc_rpc_open (flags) DCLONGflags; |
Description
The function dc_rpc_open() prepares to use the various types of OpenTP1 functions. The function dc_rpc_open() must be called in the main function. Call the function dc_rpc_open() only once in the process.
To initialize in the main function:
If the transaction attribute is specified in the user service definition, the OpenTP1 transaction service and the process service must be in progress at the node. The function dc_rpc_open() can be called only after OpenTP1 starts normally when the OS starts or after OpenTP1 is started normally by entering the dcstart command. If the function dc_rpc_open() is called before the normal start of OpenTP1, the function returns with the error value DCRPCER_OLTF_NOT_UP. In this case, the function dc_rpc_call() cannot be used.
UAP trace is acquired for all OpenTP1 functions called after the function dc_rpc_open() terminates normally. If the function dc_rpc_open() returns with an error, the UAP trace is not always acquired.
Argument whose value is set in the UAP
flags
Specify DCNOFLAGS.
Return values
Return value | Return value (numeric) | Explanation |
---|---|---|
DC_OK | 0 | Normal termination. |
DCRPCER_INVALID_ARGS | -301 | The value specified for the argument is invalid. |
DCRPCER_PROTO | -302 | The function dc_rpc_open() was called. |
DCRPCER_FATAL | -303 | Initialization was unsuccessful. OpenTP1 functions can no longer be used. |
DCRPCER_OLTF_NOT_UP | -315 | OpenTP1 of the node at which the UAP exists was not executed. |
DCRPCER_SEC_INIT | -371 | An error occurred in initialization of the security environment of the OpenTP1 that used the security facility. |
DCRPCER_STANDBY_END | -369 | The end of standby status was requested for a server in the standby system. |
Example
#include <dcrpc.h> main(){ if(dc_rpc_open(DCNOFLAGS) <0){ fputs("cannot begin usrserv1",stderr); goto RPC_CLOSE; } if(dc_rpc_mainloop(DCNOFLAGS)<0) fputs("cannot begin usrserv1",stderr); /*The service function is called and executed.*/ /*In the mean time, control does not return to the main function.*/ RPC_CLOSE: dc_rpc_close(DCNOFLAGS); } |
All Rights Reserved. Copyright (C) 2006, 2010, Hitachi, Ltd.