sysobj - system object database
The system objects database, sysobj enables the following tasks:
Storing objects describing a part of the system, such as devices
Looking objects up in a flexible way
Associating persistent data in the form of properties with the objects
Cross-referencing namespaces in which the objects appear
The following sections provide an overview of the sysobj database.
Namespaces and property classes used in the sysobj database should be named consistently and documented in the Section 7 manual page for the class of objects they are associated with. The Object Classes section below contains a list of all currently defined object classes.
Each object can appear in multiple namespaces. It is recommended to prefix the namespace with the class name of the objects the namespace represents. For example, for objects of the class, device, namespaces are of the format, device-XXXX.
Property class names must follow the same format.
Each object is a part of at least one class, its primary class, and can be part of multiple classes. The following list specifies all existing object classes, and the man pages that describe these classes:
Since sysobj is a centralized database used by multiple clients, you must take care to coordinate access. If you implement a new class of objects, you must implement a new plugin, to be delivered in the /usr/lib/sysobj/plugins path, to control access to that new class of objects. The default access model allows read access and denies write access.
Deleting objects or aliases or both should be the least common operation, with the possible exception of initialization on system boot. Developers must ensure that these operations do not create unexpected results for other clients.
libsysobj(3LIB), sysobj_add_alias(3SYSOBJ), sysobj_add_property(3SYSOBJ), sysobj_create(3SYSOBJ), sysobj_event_register(3SYSOBJ), sysobjadm(8), sysobjd(8)