A System Management Interface Tool (SMIT) object class created with the Object Data Manager (ODM) defines a common format or record data type for all individual objects that are instances of that object class. Therefore a SMIT object class is basically a record data type and a SMIT object is a particular record of that type.
SMIT menu, selector, and dialog screens are described by objects that are instances of one of four object classes:
The following table shows the objects used to create each screen type:
Screen Type | Object Class | Object's Use (typical case) |
---|---|---|
Menu | sm_menu_opt | 1 for title of screen |
|
sm_menu_opt | 1 for first item |
|
sm_menu_opt | 1 for second item |
|
... | ... |
|
sm_menu_opt | 1 for last item |
Selector | sm_name_hdr | 1 for title of screen and other attributes |
|
sm_cmd_opt | 1 for entry field or pop-up list |
Dialog | sm_cmd_hdr | 1 for title of screen and command string |
|
sm_cmd_opt | 1 for first entry field |
|
sm_cmd_opt | 1 for second entry field |
|
... | ... |
|
sm_cmd_opt | 1 for last entry field |
Each object consists of a sequence of named fields and associated values. These are represented in stanza format in ASCII files that can be used by the odmadd command to initialize or extend SMIT databases. Stanzas in a file should be separated with one or more blank lines.
Note: Comments in an ODM input file (ASCII stanza file) used by the odmadd command must be alone on a line beginning with a # (pound sign) or an * (asterisk) in column one. Only an * (asterisk) comment can be on the same line as a line of the stanza, and must be after the descriptor value.
The following is an example of a stanza for an sm_menu_opt object:
sm_menu_opt: *name of object class id = "top_menu" *object's (menu screen) name id_seq_num = "050" next_id = "commo" *id of objects for next menu screen text = "Communications Applications & Services" text_msg_file = "" text_msg_set = 0 text_msg_id = 0 next_type = "m" *next_id specified another menu alias = "" help_msg_id = "" help_msg_loc = "" help_msg_base = "" help_msg_book = ""
The notation ObjectClass.Descriptor is commonly used to describe the value of the fields of an object. For instance, in the preceding sm_menu_opt object, the value of sm_menu_opt.id is top_menu.
See sm_menu_opt (SMIT Menu) Object Class for a detailed explanation of each field in the sm_menu_opt object class.
The following is an example of a stanza for an sm_name_hdr object:
sm_name_hdr: *---- used for selector screens id = "" *the name of this selector screen next_id = "" *next sm_name_hdr or sm_cmd_hdr option_id = "" *specifies one associated sm_cmd_opt has_name_select = "" name = "" *title for this screen name_msg_file = "" name_msg_id = 0 type = "" ghost = "" cmd_to_classify = "" cmd_to_classify_postfix = "" raw_field_name = "" cooked_field_name = "" next_type = "" help_msg_id = "" help_msg_loc = "" help_msg_base = "" help_msg_book = ""
See the sm_name_hdr (SMIT Selector Header) Object Class for a detailed explanation of each field in the sm_name_hdr object class.
The following is an example of a stanza for an sm_cmd_hdr object:
sm_cmd_hdr: *---- used for dialog screens id = "" *the name of this dialog screen option_id = "" *defines associated set of sm_cmd_opt objects has_name_select = "" name = "" *title for this screen name_msg_file = "" name_msg_set = 0 name_msg_id = 0 cmd_to_exec = "" ask = "" exec_mode = "" ghost = "" cmd_to_discover = "" cmd_to_discover_postfix = "" name_size = 0 value_size = 0 help_msg_id = "" help_msg_loc = "" help_msg_base = "" help_msg_book = ""
See the sm_cmd_hdr (SMIT Dialog Header) Object Class for a detailed explanation of each field in the sm_cmd_hdr object class.
The following is an example of a stanza for an sm_cmd_opt object:
sm_cmd_opt: *---- used for selector and dialog screens id = "" *name of this object id_seq_num = "" *"0" if associated with selector screen disc_field_name = "" name = "" *text describing this entry name_msg_file = "" name_msg_set = 0 name_msg_id = 0 op_type = "" entry_type = "" entry_size = 0 required = "" prefix = "" cmd_to_list_mode = "" cmd_to_list = "" cmd_to_list_postfix = "" multi_select = "" value_index = 0 disp_values = "" values_msg_file = "" values_msg_set = 0 values_msg_id = 0 aix_values = "" help_msg_id = "" help_msg_loc = "" help_msg_base = "" help_msg_book = ""
See sm_cmd_opt (SMIT Dialog/Selector Command Option) Object Class for a detailed explanation of each field in the sm_cmd_opt object class.
All SMIT objects have an id field that provides a name used for looking up that object. The sm_menu_opt objects used for menu titles are also looked up using their next_id field. The sm_menu_opt and sm_name_hdr objects also have next_id fields that point to the id fields of other objects. These are how the links between screens are represented in the SMIT database. Likewise, there is an option_id field in sm_name_hdr and sm_cmd_hdr objects that points to the id fields of their associated sm_cmd_opt object(s).
Two or more dialogs can share common sm_cmd_opt objects since SMIT uses the ODM LIKE operator to look up objects with the same sm_cmd_opt.id field values. SMIT allows up to five IDs (separated by commas) to be specified in a sm_cmd_hdr.option_id field, so that sm_cmd_opt objects with any of five different sm_cmd_opt.id field values can be associated with the sm_cmd_hdr object.
The following table shows how the value of an sm_cmd_hdr.option_id field relates to the values of the sm_cmd_opt.id and sm_cmd_opt.id_seq_num fields.
Note: The values in the sm_cmd_opt.id_seq_num fields are used to sort the retrieved objects for screen display.
IDs of Objects to Retrieve (sm_cmd_hdr.option_id) | Objects Retrieved (sm_cmd_opt.id) | Display Sequence of Retrieved Objects (sm_cmd_opt.id_seq_num) |
---|---|---|
"demo.[AB]" | "demo.A" | "10" |
|
"demo.B" | "20" |
|
"demo.A" | "30" |
|
"demo.A | "40" |
"demo.[ACD]" | "demo.A" | "10" |
|
"demo.C" | "20" |
|
"demo.A" | "30" |
|
"demo.A" | "40" |
|
"demo.D" | "50" |
"demo.X,demo.Y,demo.Z" | "demo.Y" | "20" |
|
"demo.Z" | "40" |
|
"demo.X" | "60" |
|
"demo.X" | "80" |
SMIT objects are generated with ODM creation facilities and stored in files in a designated database. The default SMIT database consists of eight files:
The files are stored by default in the /usr/lib/objrepos directory. They should always be saved and restored together.