1 mike 1.2 // ==================================================================
2 // Title: System MOF Specification Additions_2 for 2.6
3 // Filename: CIM_System26_Add2.MOF
4 // Version: 2.6
5 // Date: 06/12/2001
6 // Release: Preliminary
7 // Description: The object classes below are new to the version stated
8 // above and are being evaluated in premliminary release
9 // status. These additions are specific to the area of
10 // a UNIX environment.
11 // ===================================================================
12 // Copyright "2001" Distributed Management Task Force, Inc. (DMTF).
13 // All rights reserved.
14 // DMTF is a not-for-profit association of industry members dedicated
15 // to promoting enterprise and systems management and interoperability.
16 // DMTF specifications and documents may be reproduced for uses
17 // consistent with this purpose by members and non-members,
18 // provided that correct attribution is given.
19 // As DMTF specifications may be revised from time to time,
20 // the particular version and release cited should always be noted.
21 //
22 mike 1.2 // UNIX is a registered trademark of the Open Group.
23 // ===================================================================
24 // Author: DMTF System and Devices Working Group
25 // ===================================================================
26 // - CR608, Initial Unix Environment Model
27 // ===================================================================
28
29 // ===================================================================
30 // CIM_UnixLocalFileSystem
31 // ===================================================================
32 [Description (
33 "A class derived from LocalFileSystem that represents the Unix "
34 "environment view of a file store controlled by a ComputerSystem "
35 "through local means (e.g., direct device driver access). In "
36 "this case, the file store is managed directly by the "
37 "ComputerSystem without the need for another computer to act "
38 "as a file server. This definition does not breakdown in the "
39 "case of a Clustered File System. In this scenario, the "
40 "FileSystem is a LocalFileSystem, weak to the Cluster.") ]
41 class CIM_UnixLocalFileSystem : CIM_LocalFileSystem {
42 [Description (
43 mike 1.2 "The number of free inodes present in the file system. "
44 "This value is only valid if TotalSlots is non-zero."),
45 MappingStrings{"MIF.DMTF|Host File System|001.12"} ]
46 uint64 FreeSlots;
47 [Description (
48 "The total number of inodes available in the file system. "
49 "A value of zero for TotalSlots indicates that this file "
50 "system does not have a preset limit."),
51 MappingStrings{"MIF.DMTF|Host File System|001.11"} ]
52 uint64 TotalSlots;
53 [Description (
54 "The reserve data capacity of the file system in bytes."),
55 MappingStrings{"MIF.DMTF|Host File System|001.15"},
56 Units("Bytes") ]
57 uint64 ReservedCapacity;
58 };
59
60
61 // ===================================================================
62 // CIM_UnixProcess
63 // ===================================================================
64 mike 1.2 [Description (
65 "Each instance of the CIM_UnixProcess class represents a single "
66 "instance of a running program. A user of the Operating System "
67 "will typically see a Process as an application or task. Within "
68 "an OperatingSystem, a Process is defined by a workspace of "
69 "memory resources and environmental settings that are allocated "
70 "to it. On a multitasking System, this workspace prevents "
71 "intrusion of resources by other Processes. Additionally, a "
72 "Process can execute as multiple Threads, all which run within "
73 "the same workspace.") ]
74 class CIM_UnixProcess : CIM_Process {
75 [Description (
76 "The parent process ID of this executing process."),
77 MappingStrings{"MIF.DMTF|Process Information|001.2"} ]
78 string ParentProcessID;
79 [Description (
80 "The Real User ID of this currently executing process."),
81 MappingStrings{"MIF.DMTF|Process Information|001.4"} ]
82 uint64 RealUserID = 0;
83 [Description (
84 "The Group ID of this currently executing process."),
85 mike 1.2 MappingStrings{"MIF.DMTF|Process Information|001.2"} ]
86 uint64 ProcessGroupID = 0;
87 [Description (
88 "The ID of a group of processes under the control of a session "
89 "leader.") ]
90 uint64 ProcessSessionID = 0;
91 [Description (
92 "The TTY currently associated with this process."),
93 MappingStrings{"MIF.DMTF|Process Information|001.5"} ]
94 string ProcessTTY;
95 [Description (
96 "The executing process' command path."),
97 MappingStrings{"MIF.DMTF|Process Information|001.7"} ]
98 string ModulePath;
99 [Description (
100 "The operating system parameters provided to the executing "
101 "process."),
102 MappingStrings{"MIF.DMTF|Process Information|001.8"} ]
103 string Parameters[];
104 [Description (
105 "The process's 'nice' value. Used to compute its priority."),
106 mike 1.2 MappingStrings{"MIF.DMTF|Process Information|001.11"} ]
107 uint32 ProcessNiceValue = 0;
108 [Description (
109 "The percentage of a CPU's time this process is consuming."),
110 MappingStrings{"MIF.DMTF|Process Information|001.12"} ]
111 uint32 ProcessCPUTime = 0;
112 [Description (
113 "The number of Kbytes of real text space used by the process."),
114 MappingStrings{"MIF.DMTF|Process Information|001.15"},
115 Units("KBytes") ]
116 uint64 ProcessRealText = 0;
117 [Description (
118 "The number of Kbytes real data space used by the process."),
119 MappingStrings{"MIF.DMTF|Process Information|001.16"},
120 Units("KBytes") ]
121 uint64 ProcessRealData = 0;
122 [Description (
123 "The number of Kbytes real stack space used by the process."),
124 MappingStrings{"MIF.DMTF|Process Information|001.17"},
125 Units("KBytes") ]
126 uint64 ProcessRealStack = 0;
127 mike 1.2 [Description (
128 "The number of Kbytes of virtual text space used by the "
129 "process."),
130 MappingStrings{"MIF.DMTF|Process Information|001.18"},
131 Units("KBytes") ]
132 uint64 ProcessVirtualText = 0;
133 [Description (
134 "The number of Kbytes of virtual data space used by the "
135 "process."),
136 MappingStrings{"MIF.DMTF|Process Information|001.19"},
137 Units("KBytes") ]
138 uint64 ProcessVirtualData = 0;
139 [Description (
140 "The number of Kbytes of virtual stack space used by the "
141 "process."),
142 MappingStrings{"MIF.DMTF|Process Information|001.20"},
143 Units("KBytes") ]
144 uint64 ProcessVirtualStack = 0;
145 [Description (
146 "The number of Kbytes of virtual shared memory used by the "
147 "process."),
148 mike 1.2 MappingStrings{"MIF.DMTF|Process Information|001.22"},
149 Units("KBytes") ]
150 uint64 ProcessVirtualMemoryMappedFileSize = 0;
151 [Description (
152 "The number of Kbytes of virtual space used for memory mapped "
153 "files by the process."),
154 MappingStrings{"MIF.DMTF|Process Information|001.21"},
155 Units("KBytes") ]
156 uint64 ProcessVirtualSharedMemory = 0;
157 [Description (
158 "A description of the event this process is currently sleeping "
159 "for. The precise nature of this string is implementation defined, "
160 "but is typically the address of a system data structure that "
161 "will be modified when the event occurs. This string only has "
162 "meaning when the ExecutionState is \"Blocked\" or "
163 " \"SuspendedBlocked\".") ]
164 string ProcessWaitingForEvent;
165 [Description (
166 "CPU time of terminated child processes in clock ticks")]
167 uint64 CpuTimeDeadChildren;
168 [Description (
169 mike 1.2 "System time of terminated child processes in clock ticks")]
170 uint64 SystemTimeDeadChildren;
171 };
172
173
174 // ===================================================================
175 // CIM_UnixThread
176 // ===================================================================
177 class CIM_UnixThread : CIM_Thread {
178 [Description (
179 "Indicates the thread's scheduling policy."),
180 Values{"SCHED_FIFO", "SCHED_RR", "SCHED_OTHER"} ]
181 uint16 SchedPolicy;
182 [Description (
183 "Indicates the size of the guard area for a created thread's "
184 "stack.") ]
185 string GuardSize;
186 [Description (
187 "Indicates the creation state of the thread."),
188 Values{"PTHREAD_CREATE_DETACHED", "PTHREAD_CREATE_JOINABLE"} ]
189 uint16 DetachState;
190 mike 1.2 [Description (
191 "Indicates how the scheduling attributes are to be set"),
192 Values{"PTHREAD_INHERIT_SCHED", "PTHREAD_EXPLICIT_SCHED"} ]
193 uint16 InheritSched;
194 [Description (
195 "Indicates the contention scope of the thread"),
196 Values{"PTHREAD_SCOPE_SYSTEM", "PTHREAD_SCOPE_PROCESS"} ]
197 uint16 ContentionScope;
198 [Description (
199 "Indicates the size of storage to be used for the thread's "
200 "stack.") ]
201 string StackSize;
202 [Description (
203 "Indicates the thread's concurrency level.") ]
204 uint64 ConcurrencyLevel;
205 [Description (
206 "Indicates the thread's cancelability state"),
207 Values{"PTHREAD_CANCEL_ENABLE", "PTHREAD_CANCEL_DISABLE"} ]
208 uint16 CancelState;
209 [Description (
210 "Indicates the thread's cancelability type"),
211 mike 1.2 Values{"PTHREAD_CANCEL_DEFERRED", "PTHREAD_CANCEL_ASYNCHRONOUS"} ]
212 uint16 CancelType;
213 };
214
215
216 // ===================================================================
217 // CIM_UnixFile
218 // ===================================================================
219 [Association, Aggregation, Description (
220 "Properities that are associated with various sub-classes "
221 "of LogicalFile in a Unix environment. This "
222 "class should have a FileIdentity relationship to the "
223 "appropriate sub-class of Logical File.")]
224 class CIM_UnixFile : CIM_LogicalElement {
225 [Description ("An Identifer that uniquely describes the owner "
226 "of this file.")]
227 string Uid;
228 [Description ("An identifier that describes the group that "
229 "owns this file.") ]
230 string Gid;
231 [Description ("Indicates restricted deletion for directories, "
232 mike 1.2 "or possible implementation defined properties for executable "
233 "files") ]
234 boolean SaveText;
235 [Description ("Count of the number of names this file has." ) ]
236 string LinkCount;
237 [Description ("File Inode number, as printed by \"ls -i\"") ]
238 string FileInodeNumber;
239 [Description ("Tells if the associated file has setuid "
240 "permissions.") ]
241 boolean SetUid;
242 [Description ("Tells if the associated file has setgid "
243 "permissions.") ]
244 boolean SetGid;
245 [Description ("The time that the Inode was last modified.")]
246 datetime LastModifiedInode;
247 [Description ("Minimum number of bits needed to represent, as a "
248 "signed integer value, the maximum size of a regular file "
249 "allowed in the specified directory. Minimum Acceptable "
250 "Value: 32 pathconf returns this variable when "
251 "_PC_FILESIZEBITS is passed to it.") ]
252 uint64 FileSizeBits;
253 mike 1.2 [Description ("Maximum number of links to a single file. "
254 "Minimum Acceptable Value: _POSIX_LINK_MAX(8). "
255 "pathconf returns this variable when _PC_LINK_MAX is passed "
256 "to it.") ]
257 uint64 LinkMax;
258 [Description ("Maximum number of bytes in a filename (not "
259 "including terminating null). Minimum Acceptable Value: "
260 "_POSIX_NAME_MAX(14) pathconf returns this variable when "
261 "_PC_NAME_MAX is passed to it.") ]
262 uint64 NameMax;
263 [Description ("Maximum number of bytes in a pathname, including "
264 "the terminating null character. Minimum Acceptable Value: "
265 "_POSIX_PATH_MAX(255) pathconf returns this variable when "
266 "_PC_PATH_MAX is passed to it.") ]
267 uint64 PathMax;
268 [Description ("The use of chown() is restricted to a process "
269 "with appropriate privileges, and to changing the group ID of "
270 "a file only to the effective group ID of the process or to "
271 "one of its supplementary group IDs. It is defined if a value "
272 "other than -1 is returned. pathconf returns this variable when "
273 "_PC_CHOWN_RESTRICTED is passed to it.") ]
274 mike 1.2 uint64 PosixChownRestricted;
275 [Description ("Pathname components longer than {NAME_MAX} "
276 "generate an error. Defined if a value other than -1 is "
277 "returned. pathconf returns this variable when _PC_NO_TRUNC "
278 "is passed to it.") ]
279 uint64 PosixNoTrunc;
280 [Description ("If any of the following three constants are not "
281 "defined in the header <unistd.h>, the value varies depending "
282 "on the file to which it is applied. If any of the following "
283 "constants are defined to have value -1 in the header <unistd.h>, "
284 "the implementation will not provide the option on any file; "
285 "if any are defined to have a value other than -1 in the header "
286 "<unistd.h>, the implementation will provide the option on all "
287 "applicable files. All of the following three constants, "
288 "whether defined in <unistd.h> or not, may be queried with "
289 "respect to a specific file using the pathconf() or fpathconf() "
290 "functions. Asynchronous input or output operations may be "
291 "performed for the associated file. pathconf returns this "
292 "variable when _PC_ASYNC_IO is passed to it.") ]
293 uint64 PosixAsyncIo;
294 [Description ("Prioritized input or output operations may be "
295 mike 1.2 "performed for the associated file. Also see description for "
296 "_POSIX_ASYNC_IO. pathconf returns this variable when "
297 "_PC_PRIO_IO is passed to it.") ]
298 uint64 PosixPrioIo;
299 [Description ("Synchronised input or output operations may be "
300 "performed for the associated file. Also see description for "
301 "_POSIX_ASYNC_IO. pathconf returns this variable when "
302 "_PC_SYNC_IO is passed to it.") ]
303 uint64 PosixSyncIo;
304 };
305
306
307 // ===================================================================
308 // CIM_FileIdentity
309 // ===================================================================
310 [Association, Description (
311 "CIM_FileIdentity is an association indicating that a UnixFile "
312 "is describing additional aspects of a Logical File.")]
313 class CIM_FileIdentity : CIM_LogicalIdentity {
314 [Override ("SystemElement"), Description (
315 "The Logical File.")]
316 mike 1.2 CIM_LogicalFile ref SystemElement;
317 [Override ("SameElement"), Description (
318 "SameElement represents the additional aspects of the "
319 "Unix/Linux Logical file.") ]
320 CIM_UnixFile ref SameElement;
321 };
322
323
324 // ===================================================================
325 // CIM_UnixDeviceFile
326 // ===================================================================
327 [Description (
328 "DeviceFile is a special type of LogicalFile that represents "
329 "a Device. This convention is useful for some operating systems "
330 "that manage devices using a byte stream I/O model. The Logical"
331 "Device that is associated with this file is specified using "
332 "the DeviceAccessedByFile relationship.") ]
333 class CIM_UnixDeviceFile : CIM_DeviceFile {
334 [Description ("The type of device file"),
335 Values {"Block", "Character", "Other"} ]
336 uint16 Type = 0;
337 mike 1.2 [Description ("Additional information for type \"Other\"") ]
338 string OtherTypeDescription = "";
339 [Description ("The device Identifier: this is the st_rdev field "
340 "in the stat structure")]
341 string DeviceId = "";
342 [Description ("Additional information provided by the driver "
343 "this may be null if no info is available, or a "
344 "general description of the device is available, e.g. "
345 "\"Non-rewind tape streamer\"") ]
346 string DeviceDescription = "";
347 [Description ("The Device's Major Id.")]
348 string DeviceMajor;
349 [Description ("The Device's Minor Id.")]
350 string DeviceMinor;
351 };
352
353
354 // ===================================================================
355 // CIM_NamedPipe
356 // ===================================================================
357 [Description (
358 mike 1.2 "NamedPipe is a special type of LogicalFile that represents "
359 "a pipe. This convention is useful for some operating systems "
360 "that manage interprocess communication. ") ]
361 class CIM_NamedPipe : CIM_LogicalFile {
362 };
363
364
365 // ===================================================================
366 // CIM_UnixSymlink
367 // ===================================================================
368 [Description (
369 "UnixSymLink is a special type of LogicalFile that represents "
370 "a Symbolic Link. This convention is useful for some operating "
371 "systems that want to represent a single file in multiple "
372 "places or a single file that is represented via multiple "
373 "names.")]
374 class CIM_UnixSymlink : CIM_LogicalFile {
375 [Description ("The target of the symbolic link") ]
376 string SymLinkTarget;
377 };
378
379 mike 1.2
380 // ===================================================================
381 // CIM_UnixSysconf
382 // ===================================================================
383 // Expand on description to be UnixSettings and/or sub classes of...
384 [Description (
385 "UnixSysConf is used to collect a set of subclasses of Unix"
386 "Settings. Use the SettingContext aggregation to place the "
387 "individual settings into the Configuration.") ]
388 class CIM_UnixSysConf : CIM_Configuration {
389 };
390
391
392 // ===================================================================
393 // CIM_UnixSetting
394 // ===================================================================
395 [Abstract, Description (
396 "The UnixSetting class is the base class for the various types "
397 "of settings which are associated with a unix system configuration")]
398 class CIM_UnixSetting : CIM_Setting {
399 [Key, MaxLen (256), Description (
400 mike 1.2 "CreationClassName indicates the name of the class or the "
401 "subclass used in the creation of an instance. When used "
402 "with the other key properties of this class, this property "
403 "allows all instances of this class and its subclasses to "
404 "be uniquely identified.") ]
405 string CreationClassName;
406 [Key, Override ("SettingID"),
407 Description ("The inherited SettingID serves as part of the "
408 "key for a CIM_UnixSetting instance.") ]
409 string SettingID;
410 };
411
412
413 // ===================================================================
414 // CIM_UnixSettingContext
415 // ===================================================================
416 [Association, Aggregation, Description (
417 "This relationship associates a Unix settings with the Unix "
418 "configuration object.") ]
419 class CIM_UnixSettingContext : CIM_SettingContext {
420 [Override ("Context"), Aggregate, Description (
421 mike 1.2 "The Unix Configuration object that aggregates the Setting.") ]
422 CIM_UnixSysConf REF Context;
423 [Override ("Setting"), Description ("An aggregated Unix "
424 "Setting.") ]
425 CIM_UnixSetting REF Setting;
426 };
427
428
429 // ===================================================================
430 // CIM_UnixMiscSetting
431 // ===================================================================
432 [Description (
433 "Miscellaneous configuration settings")]
434 class CIM_UnixMiscSetting : CIM_UnixSetting {
435 [Description ("Maximum length of argument to the exec functions "
436 "including environment data. Minimum Acceptable Value: "
437 "_POSIX_ARG_MAX(4096). sysconf returns this variable when "
438 "_SC_ARG_MAX is passed to it.")]
439 uint64 ArgMax;
440 [Description ("Maximum number of simultaneous processes per "
441 "real user ID. Minimum Acceptable Value: 25. sysconf returns "
442 mike 1.2 "this variable when _SC_CHILD_MAX is passed to it.")]
443 uint64 ChildMax;
444 [Description ("Number of clock ticks per second returned by the "
445 "times() function. sysconf returns this variable when "
446 "_SC_CLK_TCK is passed to it.")]
447 uint64 ClkTck;
448 [Description ("Maximum number of weights that can be assigned "
449 "to an entry of the LC_COLLATE order keyword in the locale "
450 "definition file; see the XBD specification, Locale. Minimum "
451 "Acceptable Value: _POSIX2_COLL_WEIGHTS_MAX(2). sysconf "
452 "returns this variable when _SC_COLL_WEIGHTS_MAX is passed "
453 "to it.")]
454 uint64 CollWeightsMax;
455 [Description ("The maximum length, in bytes, of a utility's "
456 "input line (either standard input or another file), when the "
457 "utility is described as processing text files. The length "
458 "includes room for the trailing newline. Minimum Acceptable "
459 "Value: _POSIX2_LINE_MAX(2048) sysconf returns this variable "
460 "when _SC_LINE_MAX is passed to it.")]
461 uint64 LineMax;
462 [Description ("Maximum number of repeated occurrences of a "
463 mike 1.2 "regular expression permitted when using the interval "
464 "notation {m,n}; see the XBD specification, Regular Expressions. "
465 "Minimum Acceptable Value: POSIX2_RE_DUP_MAX(255) sysconf "
466 "returns this variable when _SC_RE_DUP_MAX is passed to it.")]
467 uint64 ReDupMax;
468 [Description ("Maximum number of bytes supported for the name "
469 "of a time zone (not of the TZ variable). Minimum Acceptable "
470 "Value: _POSIX_TZNAME_MAX(3) sysconf returns this variable "
471 "when _SC_TZNAME_MAX is passed to it.")]
472 uint64 TZNameMax;
473 [Description ("Maximum number of significant bytes in a password "
474 "(not including terminating null). (LEGACY) Minimum Acceptable "
475 "Value: 8 sysconf returns this variable when _SC_PASS_MAX is "
476 "passed to it.")]
477 uint64 PassMax;
478 [Description ("Maximum number of functions that may be registered "
479 "with atexit(). Minimum Acceptable Value: 32 sysconf returns this "
480 "variable when _SC_ATEXIT_MAX is passed to it.")]
481 uint64 AtexitMax;
482 [Description ("Size in bytes of a page. Minimum Acceptable Value: "
483 "1 sysconf returns this variable when _SC_PAGESIZE is passed "
484 mike 1.2 "to it.")]
485 uint64 PageSize;
486 [Description ("Same as PAGESIZE. If either PAGESIZE or PAGE_SIZE "
487 "is defined, the other will be defined with the same value. "
488 "sysconf returns this variable when _SC_PAGE_SIZE is passed "
489 "to it.")]
490 uint64 PAGE_SIZE;
491 [Description ("Maximum number of timer expiration overruns. "
492 "Minimum Acceptable Value: _POSIX_DELAYTIMER_MAX(32) sysconf "
493 "returns this variable when _SC_DELAYTIMER_MAX is passed to it.")]
494 uint64 DelayTimerMax;
495 [Description ("The maximum number of message priorities "
496 "supported by the implementation. Minimum Acceptable Value: "
497 "_POSIX_MQ_PRIO_MAX(32) sysconf returns this variable when "
498 "_SC_MQ_PRIO_MAX is passed to it.")]
499 uint64 MqPrioMax;
500 [Description ("Maximum number of realtime signals reserved for "
501 "application use in this implementation. Minimum Acceptable "
502 "Value: _POSIX_RTSIG_MAX(8) sysconf returns this variable "
503 "when _SC_RTSIG_MAX is passed to it.")]
504 uint64 RtsigMax;
505 mike 1.2 [Description ("The maximum value a semaphore may have. Minimum "
506 "Acceptable Value: _POSIX_SEM_VALUE_MAX(32767) sysconf returns "
507 "this variable when _SC_SEM_VALUE_MAX is passed to it.")]
508 uint64 SemValueMax;
509 [Description ("Maximum size of group entry buffer. sysconf "
510 "returns this variable when _SC_GETGR_R_SIZE_MAX is passed "
511 "to it.")]
512 uint64 NssBufLenGroup;
513 [Description ("Maximum size of password entry buffer. sysconf "
514 "returns this variable when _SC_GETPW_R_SIZE_MAX is passed "
515 "to it.")]
516 uint64 NssBufLenPassWd;
517 [Description ("Maximum length of a login name. Minimum "
518 "Acceptable Value: _POSIX_LOGIN_NAME_MAX(9) sysconf returns "
519 "this variable when _SC_LOGIN_NAME_MAX is passed to it.")]
520 uint64 LoginNameMax;
521 [Description ("Maximum length of terminal device name. Minimum "
522 "Acceptable Value: _POSIX_TTY_NAME_MAX(9) sysconf returns this "
523 "variable when _SC_TTY_NAME_MAX is passed to it.")]
524 uint64 TtyNameMax;
525 };
526 mike 1.2
527
528 // ===================================================================
529 // CIM_UnixProcessSetting
530 // ===================================================================
531 [Description (
532 "Per process configuration settings")]
533 class CIM_UnixProcessSetting : CIM_UnixSetting {
534 [Description ("Maximum number of simultaneous supplementary "
535 "group IDs per process. Minimum Acceptable Value: 8 "
536 "sysconf returns this variable when _SC_NGROUPS_MAX is "
537 "passed to it.") ]
538 uint64 NGroupsMax;
539 [Description ("The number of streams that one process can have "
540 "open at one time. If defined, it has the same value as "
541 "{FOPEN_MAX} (see <stdio.h>). Minimum Acceptable Value: "
542 "_POSIX_STREAM_MAX(8) sysconf returns this variable when "
543 "_SC_STREAM_MAX is passed to it.") ]
544 uint64 StreamMax;
545 [Description ("Maximum number of files that one process can "
546 "have open at any one time. Minimum Acceptable Value: 20 "
547 mike 1.2 "sysconf returns this variable when _SC_OPEN_MAX is passed "
548 "to it.") ]
549 uint64 OpenMax;
550 [Description ("Maximum number of iovec structures that one "
551 "process has available for use with readv() or writev(). "
552 "Minimum Acceptable Value: _XOPEN_IOV_MAX(16) sysconf returns "
553 "this variable when _SC_IOV_MAX is passed to it.") ]
554 uint64 IovMax;
555 [Description ("The maximum number of open message queue "
556 "descriptors a process may hold. Minimum Acceptable Value: "
557 "_POSIX_MQ_OPEN_MAX(8) sysconf returns this variable when "
558 "_SC_MQ_OPEN_MAX is passed to it.") ]
559 uint64 MqOpenMax;
560 [Description ("Maximum number of semaphores that a process may "
561 "have. Minimum Acceptable Value: _POSIX_SEM_NSEMS_MAX(256) "
562 "sysconf returns this variable when _SC_SEM_NSEMS_MAX is passed "
563 "to it.") ]
564 uint64 SemNsemsMax;
565 [Description ("Maximum number of queued signals that a process "
566 "may send and have pending at the receiver(s) at any time. "
567 "Minimum Acceptable Value: _POSIX_SIGQUEUE_MAX(32) sysconf "
568 mike 1.2 "returns this variable when _SC_SIGQUEUE_MAX is passed to it.") ]
569 uint64 SegqueueMax;
570 [Description ("Maximum number of timers per-process supported "
571 "by the implementation. Minimum Acceptable Value: "
572 "_POSIX_TIMER_MAX(32) sysconf returns this variable when "
573 "_SC_TIMER_MAX is passed to it.") ]
574 uint64 TimerMax;
575 [Description ("Maximum number of data keys that can be created "
576 "by a process. Minimum Acceptable Value: "
577 "_POSIX_THREAD_KEYS_MAX(128) sysconf returns this variable when "
578 "_SC_THREAD_KEYS_MAX is passed to it.") ]
579 uint64 PthreadKeysMax;
580 [Description ("Maximum number of threads that that can be "
581 "created per process. Minimum Acceptable Value: "
582 "_POSIX_THREAD_THREADS_MAX(64) sysconf returns this variable "
583 "when _SC_THREAD_THREADS_MAX is passed to it.") ]
584 uint64 PthreadThreadsMax;
585 };
586
587
588 // ===================================================================
589 mike 1.2 // CIM_UnixAppSetting
590 // ===================================================================
591 [Description (
592 "Application specific configuration settings.")]
593 class CIM_UnixAppSetting : CIM_UnixSetting {
594 [Description ("Maximum base values allowed by the bc utility. "
595 "Minimum Acceptable Value: _POSIX2_BC_BASE_MAX(99). sysconf "
596 "returns this variable when _SC_BASE_MAX is passed to it.") ]
597 uint64 BcBaseMax;
598 [Description ("Maximum number of elements permitted in an array "
599 "by the bc utility. Minimum Acceptable Value: "
600 "_POSIX2_BC_DIM_MAX(2048). sysconf returns this variable when "
601 "_SC_BC_DIM_MAX is passed to it.") ]
602 uint64 BcDimMax;
603 [Description ("Maximum scale value allowed by the bc utility. "
604 "Minimum Acceptable Value: _POSIX2_BC_SCALE_MAX(99). sysconf "
605 "returns this variable when _SC_BC_SCALE_MAX is passed to it.") ]
606 uint64 BcScaleMax;
607 [Description ("Maximum length of a string constant accepted by "
608 "the bc utility. Minimum Acceptable Value: "
609 "_POSIX2_BC_STRING_MAX(1000). sysconf returns this variable "
610 mike 1.2 "when _SC_BC_STRING_MAX is passed to it.") ]
611 uint64 BcStringMax;
612 [Description ("Maximum number of expressions that can be nested "
613 "within parentheses by the expr utility. Minimum Acceptable "
614 "Value: _POSIX2_EXPR_NEST_MAX(32) sysconf returns this variable "
615 "when _SC_EXPR_NEST_MAX is passed to it.") ]
616 uint64 ExprNestMax;
617 };
618
619
620 // ===================================================================
621 // CIM_UnixThreadSetting
622 // ===================================================================
623 [Description (
624 "Thread specific configuration settings")]
625 class CIM_UnixThreadSetting : CIM_UnixSetting {
626 [Description ("Maximum number of attempts made to destroy a "
627 "thread's thread-specific data values on thread exit. Minimum "
628 "Acceptable Value: _POSIX_THREAD_DESTRUCTOR_ITERATIONS(4) "
629 "sysconf returns this variable when _SC_THREAD_DESTRUCTOR_"
630 "ITERATION is passed to it.") ]
631 mike 1.2 uint64 PthreadDestructorIterations;
632 [Description ("Minimum size in bytes of thread stack storage. "
633 "Minimum Acceptable Value: 0 sysconf returns this variable "
634 "when _SC_THREAD_STACK_MIN is passed to it.") ]
635 uint64 PthreadStackMin;
636 };
637
638
639 // ===================================================================
640 // CIM_UnixIoIpcSetting
641 // ===================================================================
642 [Description (
643 "IO and IPC specific configuration settings.")]
644 class CIM_UnixIoIpcSetting : CIM_UnixSetting {
645 [Description ("Maximum number of I/O operations in a single "
646 "list I/O call supported by the implementation. Minimum "
647 "Acceptable Value: _POSIX_AIO_LISTIO_MAX(2) sysconf returns "
648 "this variable when _SC_AIO_LISTIO_MAX is passed to it.") ]
649 uint64 AioListioMax;
650 [Description ("Maximum number of outstanding asynchronous I/O "
651 "operations supported by the implementation. Minimum Acceptable "
652 mike 1.2 "Value: _POSIX_AIO_MAX(1) sysconf returns this variable when "
653 "_SC_AIO_MAX is passed to it.") ]
654 uint64 AioMax;
655 [Description ("Maximum amount by which a process can decrease "
656 "its asynchronous I/O priority level from its own scheduling "
657 "priority. sysconf returns this variable when _SC_AIO_PRIO_"
658 "DELTA_MAX is passed to it.") ]
659 uint64 AioPrioDeltaMax;
660 [Description ("Maximum number of bytes in a terminal canonical "
661 "input queue. Minimum Acceptable Value: _POSIX_MAX_CANON(255). "
662 "pathconf returns this variable when _PC_MAX_CANON is passed "
663 "to it.") ]
664 uint64 MaxCanon;
665 [Description ("Minimum number of bytes for which space will be "
666 "available in a terminal input queue; therefore, the maximum "
667 "number of bytes a portable application may require to be typed "
668 "as input before reading them. Minimum Acceptable Value: "
669 "_POSIX_MAX_INPUT(255). pathconf returns this variable when "
670 "_PC_MAX_INPUT is passed to it.") ]
671 uint64 MaxInput;
672 [Description ("Maximum number of bytes that is guaranteed to be "
673 mike 1.2 "atomic when writing to a pipe. Minimum Acceptable Value: "
674 "_POSIX_PIPE_BUF(512) pathconf returns this variable when "
675 "_PC_PIPE_BUF is passed to it.") ]
676 uint64 PipeBuf;
677 [Description ("Terminal special characters defined in <termios.h> "
678 "can be disabled using this character value. Defined if a "
679 "value other than -1 is returned. pathconf returns this "
680 "variable when _PC_VDISABLE is passed to it.") ]
681 uint64 PosixVdisable;
682 };
683
684
685 // ===================================================================
686 // CIM_UnixFeatureSetting
687 // ===================================================================
688 [Description (
689 "Configuration settings indicating extent of support for various "
690 "features.")]
691 class CIM_UnixFeatureSetting : CIM_UnixSetting {
692 [Description ("Implementation supports the C Language Development "
693 "Utilities option. A value of -1 indicates that the "
694 mike 1.2 "implementation will never provide the feature and any other "
695 "value indicates that the implementation will always provide "
696 "the feature. sysconf returns this variable when _SC_2_C_DEV "
697 "is passed to it.") ]
698 uint64 Posix2CDev;
699 [Description ("Integer value indicating version of the ISO "
700 "POSIX-2 standard (C language binding). sysconf returns this "
701 "variable when _SC_2_C_VERSION is passed to it.") ]
702 uint64 Posix2CVersion;
703 [Description ("Implementation supports at least one terminal "
704 "type. A value of -1 indicates that the implementation will "
705 "never provide the feature and any other value indicates that "
706 "the implementation will always provide the feature. "
707 "sysconf returns this variable when _SC_2_CHAR_TERM is passed "
708 "to it.") ]
709 uint64 Posix2CharTerm;
710 [Description ("Implementation supports the FORTRAN Development "
711 "Utilities option. A value of -1 indicates that the "
712 "implementation will never provide the feature and any other "
713 "value indicates that the implementation will always provide "
714 "the feature. sysconf returns this variable when _SC_2_FORT_DEV "
715 mike 1.2 "is passed to it.") ]
716 uint64 Posix2FortDev;
717 [Description ("Implementation supports the FORTRAN Run-time "
718 "Utilities option. A value of -1 indicates that the "
719 "implementation will never provide the feature and any other "
720 "value indicates that the implementation will always provide "
721 "the feature. sysconf returns this variable when _SC_2_FORT_RUN "
722 "is passed to it.") ]
723 uint64 Posix2FortRun;
724 [Description ("Implementation supports the creation of locales "
725 "by the localedef utility. A value of -1 indicates that the "
726 "implementation will never provide the feature and any other "
727 "value indicates that the implementation will always provide "
728 "the feature. sysconf returns this variable when _SC_2_LOCALDEF "
729 "is passed to it.") ]
730 uint64 Posix2LocalDef;
731 [Description ("Implementation supports the Software Development "
732 "Utilities option. A value of -1 indicates that the implementation "
733 "will never provide the feature and any other value indicates "
734 "that the implementation will always provide the feature. "
735 "sysconf returns this variable when _SC_2_SW_DEV is passed "
736 mike 1.2 "to it.") ]
737 uint64 Posix2SwDev;
738 [Description ("The implementation supports the User Portability "
739 "Utilities option. A value of -1 indicates that the implementation "
740 "will never provide the feature and any other value indicates "
741 "that the implementation will always provide the feature. "
742 "sysconf returns this variable when _SC_2_UPE is passed "
743 "to it.") ]
744 uint64 Posix2Upe;
745 [Description ("Integer value indicating version of the ISO "
746 "POSIX-2 standard (Commands). sysconf returns this variable "
747 "when _SC_2_VERSION is passed to it.") ]
748 uint64 Posix2Version;
749 [Description ("If defined with a value other than -1, the system "
750 "supports job control sysconf returns this variable when "
751 "_SC_JOB_CONTROL is passed to it.") ]
752 uint64 PosixJobControl;
753 [Description ("If defined with a value other than -1, each "
754 "process has a saved set-user-ID and a saved set-group-ID. "
755 "sysconf returns this variable when _SC_SAVED_IDS is passed "
756 "to it.") ]
757 mike 1.2 uint64 PosixSavedIds;
758 [Description ("Integer value indicating version of the ISO "
759 "POSIX-1 standard (C language binding). sysconf returns this "
760 "variable when _SC_VERSION is passed to it.") ]
761 uint64 PosixVersion;
762 [Description ("The implementation supports the X/Open Encryption "
763 "Feature Group. A value of -1 indicates that the implementation "
764 "will never provide the feature and any other value indicates "
765 "that the implementation will always provide the feature. "
766 "sysconf returns this variable when _SC_XOPEN_CRYPT is passed "
767 "to it.") ]
768 uint64 XopenCrypt;
769 [Description ("The implementation supports the Issue 4, Version 2 "
770 "Enhanced Internationalisation Feature Group. This is always "
771 "set to a value other than -1. A value of -1 indicates that "
772 "the implementation will never provide the feature and any "
773 "other value indicates that the implementation will always "
774 "provide the feature. sysconf returns this variable when "
775 "_SC_XOPEN_ENH_I18N is passed to it.") ]
776 uint64 XopenEnhI18n;
777 [Description ("The implementation supports the Issue 4, Version 2 "
778 mike 1.2 "Shared Memory Feature Group. This is always set to a value "
779 "other than -1. A value of -1 indicates that the implementation "
780 "will never provide the feature and any other value indicates "
781 "that the implementation will always provide the feature. "
782 "sysconf returns this variable when _SC_XOPEN_SHM is passed "
783 "to it.") ]
784 uint64 XopenShm;
785 [Description ("Integer value indicating version of the X/Open "
786 "Portability Guide to which the implementation conforms. "
787 "sysconf returns this variable when _SC_XOPEN_VERSION is passed "
788 "to it.") ]
789 uint64 XopenVersion;
790 [Description ("_XOPEN_XCU_VERSION is defined as an integer value "
791 "indicating the version of the XCU specification to which the "
792 "implementation conforms. If the value is -1, no commands and "
793 "utilities are provided on the implementation. If the value is "
794 "greater than or equal to 4, the functionality associated with the "
795 "following symbols is also supported Posix2C_BIND, "
796 "Posix2C_VERSION, Posix2CHAR_TERM, Posix2LOCALEDEF, "
797 "Posix2UPE, Posix2VERSION, sysconf returns this variable "
798 "when _SC_XOPEN_XCU_VERSION is passed to it.") ]
799 mike 1.2 uint64 XopenXcuVersion;
800 [Description ("The implementation supports the User Portability "
801 "Utilities option. A value of -1 indicates that the "
802 "implementation will never provide the feature and any other "
803 "value indicates that the implementation will always provide "
804 "the feature. sysconf returns this variable when "
805 "_SC_XOPEN_REALTIME is passed to it.") ]
806 uint64 XopenRealtime;
807 [Description ("The implementation supports the X/Open Realtime "
808 "Threads Feature Group. A value of -1 indicates that the "
809 "implementation will never provide the feature and any other "
810 "value indicates that the implementation will always provide "
811 "the feature. sysconf returns this variable when "
812 "_SC_XOPEN_REALTIME_THERADS is passed to it.") ]
813 uint64 XopenRealtimeThreads;
814 [Description ("The implementation supports the Legacy Feature "
815 "Group. A value of -1 indicates that the implementation will "
816 "never provide the feature and any other value indicates that "
817 "the implementation will always provide the feature. sysconf "
818 "returns this variable when _SC_XOPEN_LEGACY is passed to it.") ]
819 uint64 XopenLegacy;
820 mike 1.2 [Description ("The implementation supports X/Open CAE Specification, "
821 "January 1997, System Interfaces and Headers, Issue 5 (ISBN: "
822 "1-85912-181-0, C606). A value of -1 indicates that the "
823 "implementation will never provide the feature and any other "
824 "value indicates that the implementation will always provide "
825 "the feature.sysconf returns this variable when _SC_XOPEN_UNIX "
826 "is passed to it.") ]
827 uint64 XopenUnix;
828 [Description ("Implementation provides a C-language compilation "
829 "environment with 32-bit int, long, pointer and off_t types. "
830 "A value of -1 indicates that the implementation will never "
831 "provide the feature and any other value indicates that the "
832 "implementation will always provide the feature. sysconf "
833 "returns this variable when _SC_XBS5_ILP32_OFF32 is passed "
834 "to it.") ]
835 uint64 XopenXbs5Ilp32Off32;
836 [Description ("Implementation provides a C-language compilation "
837 "environment with 32-bit int, long and pointer types and an "
838 "off_t type using at least 64bits. A value of -1 indicates "
839 "that the implementation will never provide the feature and "
840 "any other value indicates that the implementation will always "
841 mike 1.2 "provide the feature.sysconf returns this variable when "
842 "_SC_XBS5_ILP32_OFFBIG is passed to it.") ]
843 uint64 XopenXbs5Ilp32OffBig;
844 [Description ("Implementation provides a C-language compilation "
845 "environment with 32-bit int and 64-bit long, pointer and off_t "
846 "types. A value of -1 indicates that the implementation will "
847 "never provide the feature and any other value indicates that "
848 "the implementation will always provide the feature. sysconf "
849 "returns this variable when _SC_XBS5_LP64_OFF64 is passed to it.") ]
850 uint64 XopenXbs5Lp64Off64;
851 [Description ("Implementation provides a C-language compilation "
852 "environment with an int type using at least 32 bits and long, "
853 "pointer and off_t types using at least 64 bits. A value of -1 "
854 "indicates that the implementation will never provide the feature "
855 "and any other value indicates that the implementation will "
856 "always provide the feature.sysconf returns this variable when "
857 "_SC_XBS5_LPBIG_OFF64 is passed to it.") ]
858 uint64 XopenXbs5IlbigOffbig;
859 [Description ("Implementation supports the Asynchronous Input "
860 "and Output option. This symbolic constant is defined (to an "
861 "unspecified value) only if _XOPEN_REALTIME is defined to have "
862 mike 1.2 "a value other than -1. sysconf returns this variable when "
863 "_SC_ASYNCHRONOUS_IO is passed to it.") ]
864 uint64 PosixAsynchronousIo;
865 [Description ("Implementation supports the File Synchronisation "
866 "option.This constant is always defined. sysconf returns this "
867 "variable when _SC_FSYNC is passed to it.") ]
868 uint64 PosixFsync;
869 [Description ("Implementation supports the Memory Mapped Files "
870 "option. This constant is always defined. sysconf returns this "
871 "variable when _SC_MAPPED_FILES is passed to it.") ]
872 uint64 PosixMappedFiles;
873 [Description ("Implementation supports the Process Memory "
874 "Locking option. This symbolic constant is defined (to an "
875 "unspecified value) only if _XOPEN_REALTIME is defined to "
876 "have a value other than -1. sysconf returns this variable "
877 "when _SC_MEMLOCK is passed to it.") ]
878 uint64 PosixMemlock;
879 [Description ("Implementation supports the Range Memory Locking "
880 "option. This symbolic constant is defined (to an unspecified "
881 "value) only if _XOPEN_REALTIME is defined to have a value "
882 "other than -1. sysconf returns this variable when _SC_MEMLOCK_"
883 mike 1.2 "RANGE is passed to it.") ]
884 uint64 PosixMemlockRange;
885 [Description ("Implementation supports the Memory Protection "
886 "option. This constant is always defined. sysconf returns this "
887 "variable when _SC_MEMORY_PROTECTION is passed to it.") ]
888 uint64 PosixMemoryProtection;
889 [Description ("Implementation supports the Message Passing "
890 "option. This symbolic constant is defined (to an unspecified "
891 "value) only if _XOPEN_REALTIME is defined to have a value other "
892 "than -1. sysconf returns this variable when _SC_MESSAGE_PASSING "
893 "is passed to it.") ]
894 uint64 PosixMessagePassing;
895 [Description ("Implementation supports the Prioritized "
896 "Input and Output option. It is defined if and only if the "
897 "option is supported sysconf returns this variable when "
898 "_SC_PRIORITIZED_IO is passed to it.") ]
899 uint64 PosixPrioritizedIo;
900 [Description ("Implementation supports the Prioritized Input "
901 "and Output option. This symbolic constant is defined (to "
902 "an unspecified value) only if _XOPEN_REALTIME_THREADS is "
903 "defined to have a value other than -1. sysconf returns this "
904 mike 1.2 "variable when _SC_PRIORITY_SCHEDULING is passed to it.") ]
905 uint64 PosixPriorityScheduling;
906 [Description ("Implementation supports the Realtime Signals "
907 "Extension option. This symbolic constant is defined to an "
908 "unspecified value only if _XOPEN_REALTIME is defined to have "
909 "a value other than -1. sysconf returns this variable when "
910 "_SC_REALTIME_SIGNALS is passed to it.") ]
911 uint64 PosixRealtimeSignals;
912 [Description ("Implementation supports the Semaphores option. "
913 "This symbolic constant is defined to an unspecified value "
914 "only if _XOPEN_REALTIME is defined to have a value other "
915 "than -1. sysconf returns this variable when _SC_SEMAPHORES "
916 "is passed to it.") ]
917 uint64 PosixSemaphores;
918 [Description ("Implementation supports the Shared Memory Objects "
919 "option. This symbolic constant is defined to an unspecified "
920 "value only if _XOPEN_REALTIME is defined to have a value "
921 "other than -1. sysconf returns this variable when _SC_SHARED_"
922 "MEMORY_OBJECTS is passed to it.") ]
923 uint64 PosixSharedMemoryObjects;
924 [Description ("Implementation supports the Synchronised Input "
925 mike 1.2 "and Output option. This symbolic constant is defined to an "
926 "unspecified value only if _XOPEN_REALTIME is defined to have "
927 "a value other than -1. sysconf returns this variable when "
928 "_SC_SYNCHRONIZED_IO is passed to it.") ]
929 uint64 PosixSynchronizedIo;
930 [Description ("Implementation supports the Timers option. This "
931 "symbolic constant is defined to an unspecified value only "
932 "if _XOPEN_REALTIME is defined to have a value other than -1. "
933 "sysconf returns this variable when _SC_TIMERS is passed to it.") ]
934 uint64 PosixTimers;
935 [Description ("The implementation supports the threads option. "
936 "This constant is always defined to an unspecified value to "
937 "indicate that this functionality from the POSIX Threads "
938 "Extension is always present on XSI-conformant systems "
939 "sysconf returns this variable when _SC_THREADS is passed "
940 "to it.") ]
941 uint64 PosixThreads;
942 [Description ("The implementation supports the thread stack "
943 "address attribute option. This constant is always defined to "
944 "an unspecified value to indicate that this functionality from "
945 "the POSIX Threads Extension is always present on XSI-"
946 mike 1.2 "conformant systems sysconf returns this variable when "
947 "_SC_THREAD_ATTR_STACKADDR is passed to it.") ]
948 uint64 PosixThreadAttrStackAddr;
949 [Description ("The implementation supports the thread stack size "
950 "attribute option. This constant is always defined to an "
951 "unspecified value to indicate that this functionality from the "
952 "POSIX Threads Extension is always present on XSI-conformant "
953 "systems sysconf returns this variable when _SC_THREAD_ATTR_"
954 "STACKSIZE is passed to it.") ]
955 uint64 PosixThreadAttrStackSize;
956 [Description ("The implementation supports the thread execution "
957 "scheduling option. This symbolic constant is defined (to an "
958 "unspecified value) only if _XOPEN_REALTIME_THREADS is defined "
959 "to have a value other than -1. sysconf returns this variable "
960 "when _SC_THREAD_PRIORITY_SCHEDULING is passed to it.") ]
961 uint64 PosixThreadPriorityScheduling;
962 [Description ("The implementation supports the priority "
963 "inheritance option. This symbolic constant is defined (to an "
964 "unspecified value) only if _XOPEN_REALTIME_THREADS is defined "
965 "to have a value other than -1. sysconf returns this variable "
966 "when _SC_THREAD_PRIO_INHERIT is passed to it.") ]
967 mike 1.2 uint64 PosixThreadPrioInherit;
968 [Description ("The implementation supports the priority protection "
969 "option. This symbolic constant is defined (to an unspecified "
970 "value) only if _XOPEN_REALTIME_THREADS is defined to have a "
971 "value other than -1. sysconf returns this variable when "
972 "_SC_THREAD_PRIO_PROTECT is passed to it.") ]
973 uint64 PosixThreadPrioProtect;
974 [Description ("The implementation supports the process-shared "
975 "synchronisation option. This constant is always defined to an "
976 "unspecified value to indicate that this functionality from the "
977 "POSIX Threads Extension is always present on XSI-conformant "
978 "systems sysconf returns this variable when _SC_THREAD_PROCESS_"
979 "SHARED is passed to it.") ]
980 uint64 PosixThreadProcessShared;
981 [Description ("The implementation supports the thread-safe "
982 "functions option. This constant is always defined to an "
983 "unspecified value to indicate that This functionality from "
984 "the POSIX Threads Extension is always present on XSI-"
985 "conformant systems sysconf returns this variable when "
986 "_SC_THREAD_SAFE_FUNCTIONS is passed to it.") ]
987 uint64 PosixThreadSaveFunctions;
988 mike 1.2 };
|