srv_regdrop

Description

Drop or “unregister” a procedure.

Syntax

CS_RETCODE srv_regdrop(spp, procnamep, 
                    namelen, info)
SRV_PROC         *spp;
CS_CHAR           *procnamep;
CS_INT                namelen;
CS_INT              *infop;

Parameters

spp

A pointer to an internal thread control structure.

procnamep

A pointer to the name of the procedure.

namelen

The length of the registered procedure name. If the name is null terminated, namelen can be CS_NULLTERM.

infop

A pointer to a CS_INT. If srv_regdrop returns CS_FAIL, the flag is set to one of the following values:

  • SRV_I_PNOTKNOWN – the procedure was not registered.

  • SRV_I_UNKNOWN – some other error occurred.

Returns

Table 3-93: Return values (srv_regdrop)

Returns

To indicate

CS_SUCCEED

The routine completed successfully.

CS_FAIL

The routine failed.

Examples

Example 1

#include    <ospublic.h>
/*
 ** Local Prototype.
 */
CS_RETCODE     ex_srv_regdrop PROTOTYPE((
SRV_PROC       *spp,
CS_CHAR        *name,
CS_INT         namelen,
CS_INT         *infop
));

/*
** EX_SRV_REGDROP
**
**    Example routine to unregister a registered procedure using 
**    srv_regdrop. 
**
** Arguments:
**   spp       A pointer to an internal thread control structure.
**   name      The name of the registered procedure to drop.
**   namelen   The length of the registered procedure name.
**   infop     A return pointer to an integer containing more
**             descriptive error information if this routine
**             returns CS_FAIL.
**
** Returns:
**   CS_SUCCEED    Registered procedure was successfully deleted.
**   CS_FAIL       Registered procedure was not deleted or does 
**                  not exist.
*/
CS_RETCODE     ex_srv_regdrop(spp, name, namelen, infop)
SRV_PROC       *spp;
CS_CHAR        *name;
CS_INT         namelen;
CS_INT         *infop;
{
      /* Initialization. */
      *infop = (CS_INT)0;
      /* Execute the procedure. */
      if (srv_regdrop(spp, name, namelen, infop) != CS_SUCCEED)
      {
           /* Open Server has set infop to a specific error. */
           return(CS_FAIL);
      }
      return(CS_SUCCEED);
}

Usage

See also

srv_regcreate, srv_regdefine, srv_reglist, srv_regparam