RegisterSettableParameter

Registers a settable parameter, defined by an application (legacy function).

Library:LibC
Classification:NetWare OS
Service:NetWare Platform

Syntax

  #include <netware.h> 
   
  int RegisterSettableParameter (
     settableparms_t   *setparms );
  

Parameters

setparms

(IN) Points to a structure, which defines the settable parameter.

Return Values

If successful, returns 0. Otherwise, returns a nonzero error code. For a list of possible values, see Section 30.6, Settable Parameter Return Codes.

Remarks

This function adds a settable parameter to the NetWare operating system. Before your application unloads, you need to deregister the parameter (see DeRegisterSettableParameter).

You can use settable parameters to store application configuration information and for debugging.

See Also

Example

The following sample code sets up a memory checking program for CLib.

  #include <netware.h>
  
  #define NAME			“CLIB Memory Checking”
  #define DESCRIPTION	  “NLM Library memory allocation system integrity checking and allocation tracking.”
  
  int                gMemTrack = FALSE;
  rtag_t            gMemTrackRTag = (rtag_t) NULL;
  settableparms_t   gMemTrackStruct;
  
  void SetUpCLibDebugParameters( void )
  {
     gSettableParmRTag = AllocateResourceTag(getnlmhandle(),
                         "CLIB Memory Tracking",
                          SettableParameterSignature);
  
     memset(&gMemTrackStruct, 0, sizeof(gMemTrackStruct));
  
     gMemTrackStruct.value       = &gMemTrack;
     gMemTrackStruct.rTag        = gMemTrackRTag;
     gMemTrackStruct.name        = NAME;
     gMemTrackStruct.type        = SP_TYPE_BOOLEAN;
     gMemTrackStruct.flags       = SP_HIDE;
     gMemTrackStruct.category    = SP_MISCELLANEOUS;
     gMemTrackStruct.callback    = NULL;
     gMemTrackStruct.description = DESCRIPTION;
  
     err = RegisterSettableParameter(&gMemTrackStruct);
  }
  

Once this is done, the new set command can be used to turn memory tracking on and off:

  MYSERVER: SET CLIB Memory Checking ON
  MYSERVER: SET CLIB Memory Checking OFF
  

The following snipet of code illustrates how to remove the settable parameter when your NLM unloads.

  void RemoveCLibDebugParameters( void )
  {
     DeRegisterSettableParameters(&gMemTrackStruct);
  }