next up previous 372
Next: NBS_FIND_ITEM - Find an item with a specified name contained in a structure associated with a specified identifier and return
Up: Description of Individual NBS Routines
Previous: NBS_SAVE_NOTICEBOARD - Save a noticeboard to its noticeboard definition file


NBS_FIND_NOTICEBOARD - Find a named noticeboard and return an identifier to it

Description:
Map the noticeboard of the given name.
Allocate an item descriptor and relocate it so that the version number can be checked and the definition size determined.
Free that item descriptor and allocate a block of memory big enough for the entire definition.
Copy the definition part to this memory and relocate it so that all pointers are once again virtual memory addresses.
Get the process' id for future checking against the owner's process id.
If this is the owner process and it hasn't already been done, unmap the copy mapped earlier.

Note that it is somewhat wasteful to build a complete copy of the noticeboard definition in private memory when in fact only the pointers must have private versions. A later version of the software should take copies only of the pointers but this requires the pointer space to be allocated separately during the definition phase -- in the current implementation the pointer space is not contiguous; pointers are mixed up with fixed information, shape information and board information.


Invocation:
(Int) = NBS_FIND_NOTICEBOARD (NAME,ID,STATUS)

Arguments:

NAME = CHARACTER*(*) (Given)
The name of the noticeboard which is to be found.
ID = INTEGER (Returned)
Identifier of the top-level of the noticeboard.
STATUS = INTEGER (Given and returned)
The global status. Possible return values are,

NBS__SECTIONNOTFOUND 		 No section called NAME existed 

NBS__TIMEOUT Timeout awaiting valid noticeboard
NBS__NOMOREROOM Failed to allocate private memory area
NBS__BADVERSION Wrong version in noticeboard

SS$_* System service codes from SYS$CRMPSC or
SYS$DELTVA (VMS only).



next up previous 372
Next: NBS_FIND_ITEM - Find an item with a specified name contained in a structure associated with a specified identifier and return
Up: Description of Individual NBS Routines
Previous: NBS_SAVE_NOTICEBOARD - Save a noticeboard to its noticeboard definition file

NBS The Noticeboard System
Starlink User Note 77
D.J. Allan
11 September 1995
E-mail:ussc@star.rl.ac.uk