 |
Index for Section 3 |
|
 |
Alphabetical listing for E |
|
 |
Bottom of page |
|
EvmSrvStart(3)
NAME
EvmSrvStart, EvmSrvMessageGet - Event service functions
SYNOPSIS
#include <evm/evm.h>
EvmStatus_t EvmSrvStart(
char *service_name,
char *arg_string,
EvmTransport_t *transport,
EvmConnection_t *connection );
EvmStatus_t EvmSrvMessageGet(
EvmConnection_t connection,
EvmEvent_t *event,
char **msg,
char **errmsg,
EvmInt32_t *info );
OPERANDS
service_name
The name for this service. It must be a service declared in the EVM
daemon configuration file.
arg_string
If this operand is not NULL, it is written to the connection when the
service is started.
transport
This specifies the type of connection to be made to the daemon. You
usually should set this argument to NULL for the default connection to
the local daemon. For remote connection, set it to the address of an
EvmTransport_t structure, transport, initialized in the following
manner:
char *hostname = "yoursys";
transport.type = EvmTRANSPORT_TCPIP;
transport.data.tcpip.portNumber = -1;
transport.data.tcpip.hostName = hostname;
connection
For EvmSrvStart() this is the return operand. The calling routine
should pass this value to EvmConnDestroy() when it is done with the
connection.
For EvmSrvMessageGet() this is the service connection that will be read
for a message.
event
If this operand is not NULL on return, it contains an EVM event
returned by the service.
msg If this operand is not NULL on return, it contains a character string
returned by the service.
errmsg
If this operand is not NULL on return, it contains an error message
character string returned by the service.
info
If this operand is not NULL on return, it contains numeric information
returned by the service.
DESCRIPTION
The EvmSrvStart() routine creates a service connection to the EVM daemon,
requesting that the service identified as service_name be started. If the
service is known to the daemon, it is started as a child process of the
daemon, and the connection is transferred to the service process. If the
arg_string is not NULL, the function then appends a newline character to it
and writes it to the connection.
The EvmSrvMessageGet() routine reads a single EVM service protocol message
from the service connection identified by connection and returns it to the
caller. The message may be a procedural protocol message, indicating that
the service has started or terminated, or it may carry data. Procedural
messages are handled by the API function. Data messages may be any one of
the following:
· An EVM event returned to the caller in event
· A character string returned to the caller in msg
· An error character string returned to the caller in errmsg
In each of these cases, the data will be returned to the caller only if the
address passed to the function as the corresponding argument is not NULL.
The function returns a non-null value in at most one of these return
arguments, and sets the others to NULL. If the incoming message does not
include data (for example, if it is a protocol message indicating that the
service is terminating) all three of the arguments are set to NULL.
The message may carry one information item, which is returned if info is
not NULL. This value is used in the service termination protocol message to
indicate the service process's exit code.
NOTES
This routine is not currently supported for general use.
RESTRICTIONS
None
RETURN VALUES
EvmERROR_NONE
A data message was received, and is available in one of the three data
return arguments, if a non-null pointer was supplied as the appropriate
argument.
EvmERROR_SERVICE_TERMINATED
The service indicated that it was terminating. If the caller passed a
non-null data argument, the service process's exit code is returned in
the info operand.
EvmERROR_EOF
The service connection was closed by the service before a service
termination message was received. This value is returned if the caller
continues to attempt the call after the service has been terminated.
ERRORS
None
LIBRARY
EVM Support Library (libevm.so, libevm.a)
FILES
None
SEE ALSO
Commands: evmget(1)
Routines: EvmConnDestroy(3)
Files: evmdaemon.conf(4), kevm(7)
Event Management: EVM(5)
Event Connection: EvmConnection(5)
EVM Events: EvmEvent(5)
 |
Index for Section 3 |
|
 |
Alphabetical listing for E |
|
 |
Top of page |
|