NBS_TUNE

Alter the value of a global parameter

Description:

Check that the parameter name is legal.
Copy the previous value of the parameter to the supplied variable.
Alter the specified global parameter.

There are currently six global parameters which can be altered in this way:

[MAX_DEFN_SIZE:] an integer that indicates how much memory should be allocated for building the noticeboard definition during the definition phase. The default is 32768 bytes.

[TIMEOUT_COUNT:] an integer that indicates how many times to loop before timing out when finding noticeboards or when getting values or shapes. The default is 100.

[TIMEOUT_INTERVAL:] an integer that indicates how many milliseconds to wait between attempts at finding noticeboards or when getting values or shapes. The default is 100.

[WORLD_WRITE:] a logical (only the lsb is used) that indicates whether the world (ie non-owners) can write to noticeboards. The default is FALSE.

[INCREMENT_MODIFY:] a logical (only the lsb is used) that indicates whether the modified count should be incremented when putting the values of items. The default is TRUE.

[CHECK_MODIFY:] a logical (only the lsb is used) that indicates whether the modified count should be checked when getting the values of items. The default is TRUE.

Note that the parameters which can be altered are global to a process and not to a noticeboard (they are essentially Fortran COMMON block or C static variables). When a parameter is altered its previous value is returned and this permits a routine to alter a parameter, use the new value and then restore the parameter to its previous value.

The NBS_FIND, NBS_GET and NBS_PUT routines make rather complicated use of these values. For those parameters which are logical flags, they use the OR of the default value (or the value set using NBS_TUNE) and the value set using NBS_TUNE_NOTICEBOARD. For those parameters which are numeric values, they use the value set using NBS_TUNE.

When a noticeboard is created, it inherits the default values or the values set using NBS_TUNE and these values may subsequently be altered using the
NBS_TUNE_NOTICEBOARD routine.

Invocation

(Int) = NBS_TUNE (NAME,VALUE,OLDVALUE,STATUS)

Arguments

NAME = CHARACTER() (Given)
The name of the parameter to alter. See the above list. Can be abbreviated so long as it remains unambiguous but this is not recommended because new parameters may be supported in the future. Case is not significant.
VALUE = INTEGER (Given)
The value that the parameter is to take.
OLDVALUE = INTEGER (Returned)
The old value of the parameter.
STATUS = INTEGER (Given and returned)
The global status. Possible return values are,
NBS__BADOPTIONIllegal parameter name

Prior Requirements

None.