PreviousNext

CDS Entries

NSI uses a subset of the many possible kinds of CDS entry in order to accomplish its tasks. CDS entries are characterized by the CDS attributes they have; each entry can have one or more such attributes. Each separate attribute defines that entry's ability to contain one or more items of a particular kind of simple or complex information.

The name service creates and uses CDS entries that use only the following four attributes:

binding
The entry has a field that can contain one or more sets of binding information. When the field is read, a binding handle that contains the necessary information from one of these sets is returned, in no particular order.

object
The entry has a field that can contain one or more object UUIDs. When the field is read, one of the UUIDs is returned, in no particular order.

group
The entry has a field that can contain a pool of one or more references to other (independently existing) NSI entries; each time the field is read, one of these entries is returned. Different entries are returned on successive reads, but the order of return is undefined.
Note that the other NSI entries referred to in the group can themselves be server or group entries. As a result, the act of reading from a group attribute can, depending on the actual API routine called, lead to a series of nested operations. Any nesting is transparent to the client application, however, which seems to perform a simple read and to receive the contents of a single entry in return.

profile
The entry has a field that can contain one or more prioritized elements, each of which consists of a reference to another (independently existing) NSI entry. When the field is read, the elements are read in a specified order. The entry referred to in the element may itself be a server or a group or a profile. As a result, any element may in fact, depending on the actual API routine called, resolve on access to a nested path of referred-to entries. As with group entries, this is transparent to the client application.

Although a single entry could contain both group and profile attributes (and for that matter, binding and object attributes as well), it is not a good idea to mix attributes in this way because the results of importing (reading) from such an entry are too indeterminate.

The typical name service entries are as follows:

server entry
Contains a binding and an object attribute, making it suitable for containing the necessary binding information for a single server.

group entry
Contains a group attribute.

profile entry
Contains a profile attribute.

There are no official names for hybrid entries that contain other combinations of attributes, which is perhaps another reason for not creating such entries.

The general name for entries that contain any of these attributes is NSI entries, since they are a by-product and tool of the NSI DCE RPC library routines.