Attribute definition table (ADT)
An attribute definition table defines for each attribute
a token to reference the attribute by, sets of valid operations
and filters that may be performed on the attribute, and the
attribute's value structure.
Attribute definition table
enabled
|
ATTR_ENABLED
|
get
|
eq
|
single string
|
gid
|
1
|
get add remove
|
eq present
|
set integer
|
level
|
100
|
get replace replaceWithDefault
|
eq le ge
|
single integer
|
priority
|
ATTR_PRIORITY
|
get replace
|
eq
|
single double
|
1st column: name-
made up of characters [a-z_]* and used by
the Server API to identify the attribute.
2nd column: token-
an integer used by the Server API and OSAs
to reference the attribute. Identifiers can be
in any order and in any positive range (negative
integers are reserved for error conditions; zero
is reserved for the NULL token).
In languages (such as Tcl) which have only the string
data type, the token is identical to the name.
3rd column: valid operations-
all operations that may be performed on the attribute.
Can include: get, replace,
replaceWithDefault, add,
remove, create.
(create is always allowed to include any
attribute, so it is implied to be listed for every attribute.)
4th column: valid filters-
all filters that may process the attribute.
Can include: eq, le, ge, subset, superset, present, intersect.
5th column: value structure-
(set|single) (string|integer|double)
Identifies for OSAs and Server API how the value(s)
paired with attribute should be interpreted.
In Tcl every data type is a string, so the CDT does not
specify the data type for this pair of values. In C/C++, strings are
represented as char *, integers as long, and
floating point numbers as doubles.
In the example, the attribute gid (token: 1) may be operated upon
by get, add,
or remove and evaluated by the filters
eq and present;
paired values are structured as integer sets.
For more information, see
``Example Attribute Definition Tables (ADT)''.
Next topic:
Operation definition table (ODT)
Previous topic:
Creating class definition tables
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003