Drop or “unregister” a procedure.
CS_RETCODE srv_regdrop(spp, procnamep,
namelen, info)
SRV_PROC *spp; CS_CHAR *procnamep; CS_INT namelen; CS_INT *infop;
A pointer to an internal thread control structure.
A pointer to the name of the procedure.
The length of the registered procedure name. If the name is null terminated, namelen can be CS_NULLTERM.
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 |
To indicate |
---|---|
CS_SUCCEED |
The routine completed successfully. |
CS_FAIL |
The routine failed. |
#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);
}
srv_regdrop drops a procedure previously registered with srv_regcreate.
Any client threads waiting for notification of this procedure are informed that the procedure has been dropped.