srv_handle

Description

Install an event handler in an Open Server application.

Syntax

SRV_EVENTHANDLE_FUNC (*srv_handle(ssp, event,
                       handler))()
SRV_SERVER                        *ssp;
CS_INT                                    event;
SRV_EVENTHANDLE_FUNC   handler;

Parameters

ssp

A pointer to the Open Server control structure. This parameter is optional. It is present only to provide backward compatibility.

event

The event that handler will handle. Here is a list of all the regular Open Server events:

  • SRV_ATTENTION

  • SRV_BULK

  • SRV_CONNECT

  • SRV_CURSOR

  • SRV_DISCONNECT/SRV_URGDISCONNECT

  • SRV_DYNAMIC

  • SRV_FULLPASSTHRU

  • SRV_LANGUAGE

  • SRV_MSG

  • SRV_OPTION

  • SRV_RPC

  • SRV_START

  • SRV_STOP

Programmer-defined events – A programmer-defined event is defined using srv_define_event.

For a description of each event, see “Events”.

handler

A pointer to the function to call when an event request occurs. Passing NULL as the handler installs the default event handler.

Returns

Table 3-56: Return values (srv_handle)

Returns

To indicate

A pointer to the event handling function

The location of the function.

A null pointer

The routine failed.

Examples

Example 1

#include   <ospublic.h>
/*
 ** Local Prototype
 */
extern CS_RETCODE  ex_srv_handle PROTOTYPE((
SRV_EVENTHANDLE_FUNC       funcp
));
/* 
 ** EX_SRV_HANDLE
**   Install a SRV_START handler.
** Arguments:
**    funcp  Handler to install.
** Returns:
**    CS_SUCCEED   Start handler was installed successfully.
 **    CS_FAIL      An error was detected.
 */
CS_RETCODE               ex_srv_handle(funcp)
SRV_EVENTHANDLE_FUNC     funcp;
{
    if(srv_handle((SRV_SERVER *)NULL, SRV_START, funcp) ==
         CS_FAIL)
    {
        return(CS_FAIL);
    }
    return(CS_SUCCEED);
}

Usage

See also

srv_define_event, srv_event, srv_event_deferred, “Events”