Go to main content

man pages section 7: Standards, Environments, Macros, Character Sets, and Miscellany

Exit Print View

Updated: Wednesday, August 8, 2018
 
 

sysobj (7)

Name

sysobj - system object database

Description

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.

Naming

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.

Object Classes

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:

device

sysobj-device(7)

device-minor

sysobj-device(7)

Client Recommendations

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.

See Also

libsysobj(3LIB), sysobj_add_alias(3SYSOBJ), sysobj_add_property(3SYSOBJ), sysobj_create(3SYSOBJ), sysobj_event_register(3SYSOBJ), sysobjadm(8), sysobjd(8)