(file) Return to System27_Unix.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim271

  1 karl  1.1 // ===================================================================
  2           // Title:       System Unix 2.7
  3           // Filename:    System27_Unix.mof
  4           // Version:     2.7.0
  5           // Release:     Preliminary 
  6           // Date:        07/08/02
  7           // ===================================================================
  8           // Copyright 2002 Distributed Management Task Force, Inc. (DMTF).
  9           // All rights reserved.  
 10           // DMTF is a not-for-profit association of industry members dedicated 
 11           // to promoting enterprise and systems management and interoperability. 
 12           // DMTF specifications and documents may be reproduced for uses
 13           // consistent with this purpose by members and non-members, 
 14           // provided that correct attribution is given. 
 15           // As DMTF specifications may be revised from time to time, 
 16           // the particular version and release date should always be noted.
 17           //
 18           // Implementation of certain elements of this standard or proposed 
 19           // standard may be subject to third party patent rights, including 
 20           // provisional patent rights (herein "patent rights"). DMTF makes 
 21           // no representations to users of the standard as to the existence 
 22 karl  1.1 // of such rights, and is not responsible to recognize, disclose, or
 23           // identify any or all such third party patent right, owners or 
 24           // claimants, nor for any incomplete or inaccurate identification or 
 25           // disclosure of such rights, owners or claimants. DMTF shall have no 
 26           // liability to any party, in any manner or circumstance, under any 
 27           // legal theory whatsoever, for failure to recognize, disclose, or 
 28           // identify any such third party patent rights, or for such party's
 29           // reliance on the standard or incorporation thereof in its product, 
 30           // protocols or testing procedures. DMTF shall have no liability to 
 31           // any party implementing such standard, whether such implementation 
 32           // is foreseeable or not, nor to any patent owner or claimant, and shall 
 33           // have no liability or responsibility for costs or losses incurred if 
 34           // a standard is withdrawn or modified after publication, and shall be
 35           // indemnified and held harmless by any party implementing the 
 36           // standard from any and all claims of infringement by a patent owner 
 37           // for such implementations.
 38           //
 39           // For information about patents held by third-parties which have 
 40           // notified the DMTF that, in their opinion, such patent may relate to 
 41           // or impact implementations of DMTF standards, visit 
 42           // http://www.dmtf.org/about/policies/disclosures.php.
 43 karl  1.1 // ===================================================================
 44           // Description: The System Model defines system related management 
 45           //              concepts. This file defines the specific subclasses 
 46           //              needed to manage Unix Systems.
 47           //
 48           //              The object classes below are listed in an order that
 49           //              avoids forward references. Required objects, defined 
 50           //              by other working groups, are omitted.
 51           // ==================================================================
 52           // Change Log for v2.7 - None
 53           // ===================================================================
 54           
 55           #pragma locale ("en_US")
 56           
 57           
 58           // ===================================================================
 59           // UnixLocalFileSystem
 60           // ===================================================================
 61           [Version ("2.6.0"), Description (
 62               "A class derived from LocalFileSystem that represents the Unix "
 63               "environment view of a file store controlled by a ComputerSystem "
 64 karl  1.1     "through local means (e.g., direct device driver access). In "
 65               "this case, the file store is managed directly by the "
 66               "ComputerSystem without the need for another computer to act "
 67               "as a file server. This definition does not breakdown in the " 
 68               "case of a Clustered File System. In this scenario, the " 
 69               "FileSystem is a LocalFileSystem, weak to the Cluster.") ]
 70           class CIM_UnixLocalFileSystem : CIM_LocalFileSystem {
 71           
 72               [Description (
 73                   "The number of free inodes present in the file system.  "
 74                   "This value is only valid if TotalSlots is non-zero."),
 75                   MappingStrings{"MIF.DMTF|Host File System|001.12"},
 76                   ModelCorrespondence {"CIM_UnixLocalFileSystem.TotalSlots"} ]
 77               uint64 FreeInodes;
 78               
 79               [Description (
 80                   "The total number of inodes available in the file system.  "
 81                   "A value of zero for TotalInodes indicates that this file "
 82                   "system does not have a preset limit."),
 83                   MappingStrings{"MIF.DMTF|Host File System|001.11"} ]
 84               uint64 TotalInodes;
 85 karl  1.1     
 86               [Description (
 87                   "The reserve data capacity of the file system in bytes."),
 88                   MappingStrings{"MIF.DMTF|Host File System|001.15"},
 89                   Units("Bytes") ]
 90               uint64 FSReservedCapacity;
 91           };
 92           
 93           
 94           // ===================================================================
 95           // UnixProcess
 96           // ===================================================================
 97           [Version ("2.6.0"), Description (
 98               "Each instance of the CIM_UnixProcess class represents a single "
 99               "instance of a running program. A user of the Operating System "
100               "will typically see a Process as an application or task. Within "
101               "an OperatingSystem, a Process is defined by a workspace of "
102               "memory resources and environmental settings that are allocated "
103               "to it. On a multitasking System, this workspace prevents "
104               "intrusion of resources by other Processes. Additionally, a "
105               "Process can execute as multiple Threads, all which run within "
106 karl  1.1     "the same workspace.") ]
107           class CIM_UnixProcess : CIM_Process {
108               
109               [Required, Description (
110                   "The parent process ID of this executing process."),
111                   MappingStrings{"MIF.DMTF|Process Information|001.2"} ]
112               string ParentProcessID;
113               
114               [Required, Description (
115                   "The Real User ID of this currently executing process."),
116                   MappingStrings{"MIF.DMTF|Process Information|001.4"} ]
117               uint64 RealUserID;
118               
119               [Required, Description (
120                   "The Group ID of this currently executing process."),
121                   MappingStrings{"MIF.DMTF|Process Information|001.2"} ]
122               uint64 ProcessGroupID;
123               
124               [Description (
125                   "If part of a group of processes are under the control "
126                   "of a session leader, this property holds the session "
127 karl  1.1         "ID for the group.") ]
128               uint64 ProcessSessionID;
129               
130               [Description (
131                   "The TTY currently associated with this process."),
132                   MappingStrings{"MIF.DMTF|Process Information|001.5"} ]
133               string ProcessTTY;
134               
135               [Description (
136                   "The executing process's command path."),
137                   MappingStrings{"MIF.DMTF|Process Information|001.7"} ]
138               string ModulePath;
139               
140               [Description (
141                   "The operating system parameters provided to the executing "
142                   "process. These are the argv[] values."),
143                   MappingStrings{"MIF.DMTF|Process Information|001.8"} ]
144               string Parameters[];
145               
146               [Description (
147                   "The process's 'nice' value.  Used to compute its priority."),
148 karl  1.1         MappingStrings{"MIF.DMTF|Process Information|001.11"} ]
149               uint32 ProcessNiceValue;
150               
151               [Description (
152                   "A description of the event this process is currently "
153                   "sleeping for.  The precise nature of this string is "
154                   "implementation defined, but is typically the address of a "
155                   "system data structure that will be modified when the event "
156                   "occurs. This string only has meaning when the ExecutionState "
157                   "is \"Blocked\" or  \"SuspendedBlocked\"."),
158                   ModelCorrespondence {"CIM_Process.ExecutionState"} ]
159               string ProcessWaitingForEvent;
160           };
161           
162           
163           // ===================================================================
164           // UnixProcessStatisticalInformation
165           // ===================================================================
166           [Version ("2.6.0"), Description (
167               "The statistics associated with a Unix process.") ]
168           class CIM_UnixProcessStatisticalInformation : 
169 karl  1.1 CIM_StatisticalInformation {
170               
171               [Propagated("CIM_Process.CSCreationClassName"),
172                   Key, MaxLen (256), Description (
173                       "The scoping Process's ComputerSystem CreationClassName.") ]
174               string CSCreationClassName;
175               
176               [Propagated("CIM_Process.CSName"),
177                   Key, MaxLen (256),
178                   Description ("The scoping Process's ComputerSystem Name.") ]
179               string CSName;
180               
181               [Propagated("CIM_Process.OSCreationClassName"),
182                   Key, MaxLen (256),
183                   Description (
184                       "The scoping Process's OperatingSystem "
185                       "CreationClassName.") ]
186               string OSCreationClassName;
187               
188               [Propagated("CIM_Process.OSName"),
189                   Key, MaxLen (256),
190 karl  1.1         Description ("The scoping Process's OperatingSystem Name.") ]
191               string OSName;
192               
193               [Propagated("CIM_Process.Handle"),
194                   Key, MaxLen (256),
195                   Description ("The scoping Process's Handle.") ]
196               string Handle;
197               
198               [Propagated("CIM_Process.CreationClassName"),
199                   Key, MaxLen (256), Description (
200                       "The scoping Process's CreationClassName.") ]
201               string ProcessCreationClassName;
202               
203               [Key, MaxLen (256), Override ("Name"), Description (
204                    "A string used to identify the related statistics "
205                    "of a Process.") ]
206               string Name;
207               
208               [Description (
209                   "A string used to identify the related statistics of a "
210                   "Process. This key allows multiple instances of statistics to "
211 karl  1.1         "correspond to a single process.  The multiple "
212                   "instances could be used in applications such as "
213                   "time-sliced statistics."),
214                   MappingStrings{"MIF.DMTF|Process Information|001.12"},
215                   Units("Percent") ]
216               uint32 CPUTime;
217               
218               [Description ("The number of KiloBytes of real text space "
219                   "used by the process."),
220                   MappingStrings{"MIF.DMTF|Process Information|001.15"},
221                   Units("KiloBytes") ]
222               uint64 RealText;
223               
224               [Description ("The number of KiloBytes of real data "
225                   "space used by the process."),
226                   MappingStrings{"MIF.DMTF|Process Information|001.16"},
227                   Units("KiloBytes") ]
228               uint64 RealData;
229               
230               [Description ("The number of KiloBytes of real stack space "
231                   "used by the process."),
232 karl  1.1         MappingStrings{"MIF.DMTF|Process Information|001.17"},
233                   Units("KiloBytes") ]
234               uint64 RealStack;
235               
236               [Description (
237                   "The number of KiloBytes of virtual text space used by the "
238                   "process."),
239                   MappingStrings{"MIF.DMTF|Process Information|001.18"},
240                   Units("KiloBytes") ]
241               uint64 VirtualText;
242               
243               [Description (
244                   "The number of KiloBytes of virtual data space used by the "
245                   "process."),
246                   MappingStrings{"MIF.DMTF|Process Information|001.19"},
247                   Units("KiloBytes") ]
248               uint64 VirtualData;
249               
250               [Description (
251                   "The number of KiloBytes of virtual stack space used by the "
252                   "process."),
253 karl  1.1         MappingStrings{"MIF.DMTF|Process Information|001.20"},
254                   Units("KiloBytes") ]
255               uint64 VirtualStack;
256               
257               [Description (
258                   "The number of KiloBytes of virtual space used for memory "
259                   "mapped files by the process."),
260                   MappingStrings{"MIF.DMTF|Process Information|001.22"},
261                   Units("KiloBytes") ]
262               uint64 VirtualMemoryMappedFileSize;
263               
264               [Description (
265                   "The number of KiloBytes of shared memory used by the"
266                   "process."),
267                   MappingStrings{"MIF.DMTF|Process Information|001.21"},
268                   Units("KiloBytes") ]
269               uint64 VirtualSharedMemory;
270               
271               [Description (
272                   "CPU time of terminated child processes in clock ticks"),
273                   Units ("Clock Ticks"), Counter]
274 karl  1.1     uint64 CpuTimeDeadChildren;
275               
276               [Description (
277                   "System time of terminated child processes in clock ticks"),
278                   Units ("Clock Ticks"), Counter]
279               uint64 SystemTimeDeadChildren;
280           };
281           
282           
283           // ==================================================================
284           // UnixProcessStatistics
285           // ================================================================== 
286           [Association, Version ("2.6.0"), Description ( 
287               "CIM_UnixProcessStatistics is an association that relates a " 
288               "CIM_UnixProcess to its StatisticalInformation.") ]
289           class CIM_UnixProcessStatistics : CIM_Statistics { 
290            
291               [Override ("Element"), Min (1), Max (1), Description ( 
292                   "The Process for which statistical or metric " 
293                   "data is defined.") ] 
294               CIM_UnixProcess REF Element;
295 karl  1.1  
296               [Override ("Stats"), Weak, Description (
297                   "The UNIX Process statistical information/object.") ] 
298               CIM_UnixProcessStatisticalInformation REF Stats; 
299           };
300           
301           
302           // ===================================================================
303           // UnixThread
304           // ===================================================================
305           [Version ("2.6.0"), Description (
306               "Threads represent the ability to execute units of a Process "
307               "or task in parallel. A UnixThread inherits from the "
308               "superclass, CIM_Thread, which is weak to the Process. The "
309               "values used are defined in sched.h and psched.h.") ]
310           class CIM_UnixThread : CIM_Thread {
311               
312               [Description (
313                   "Indicates the thread's scheduling policy. Set to \"Other\" "
314                   "when using OtherSchedPolicy to specifiy additional values. "
315                   "\"Other\" represents SCHED_OTHER as defined in sched.h" ),
316 karl  1.1         ValueMap {"0", "1", "2", "3"},
317                   Values {"Unknown", "Other", "SCHED_FIFO", "SCHED_RR"},
318                   ModelCorrespondence {"CIM_UnixThread.OtherSchedPolicy"} ] 
319               uint16 SchedPolicy;
320               
321               [Description (
322                   "Indicates the thread's scheduling policy when SchedPolicy "
323                   "is set to \"Other\"."),
324                   ModelCorrespondence {"CIM_UnixThread.SchedPolicy"} ] 
325               string OtherSchedPolicy;
326               
327               [Description (
328                   "Indicates the size of the guard area for a created thread's "
329                   "stack.") ]
330               string GuardSize;
331               
332               [Description (
333                   "Indicates the creation state of the thread."),
334                   ValueMap {"0", "2", "3"},
335                   Values {"Unknown", "PTHREAD_CREATE_DETACHED", 
336                       "PTHREAD_CREATE_JOINABLE"} ]
337 karl  1.1     uint16 DetachState;
338               
339               [Description (
340                   "Indicates how the scheduling attributes are to be set."),
341                   ValueMap {"0", "2", "3"},
342                   Values {"Unknown", "PTHREAD_INHERIT_SCHED", 
343                       "PTHREAD_EXPLICIT_SCHED"} ]
344               uint16 InheritSched;
345               
346               [Description (
347                   "Indicates the contention scope of the thread."),
348                   ValueMap {"0", "2", "3"},
349                   Values {"Unknown", "PTHREAD_SCOPE_SYSTEM", 
350                       "PTHREAD_SCOPE_PROCESS"} ]
351               uint16 ContentionScope;
352               
353               [Description (
354                   "Indicates the size of storage to be used for the thread's "
355                   "stack.") ]
356               string StackSize;
357                
358 karl  1.1     [Description (
359                   "Indicates the thread's concurrency level.") ]
360               uint64 ConcurrencyLevel;
361               
362               [Description (
363                   "Indicates the thread's cancelability state."),
364                   ValueMap {"0", "2", "3"},
365                   Values {"Unknown", "PTHREAD_CANCEL_ENABLE", 
366                       "PTHREAD_CANCEL_DISABLE"} ]
367               uint16 CancelState;
368               
369               [Description (
370                   "Indicates the thread's cancelability type."),
371                   ValueMap {"0", "2", "3"},
372                   Values {"Unknown", "PTHREAD_CANCEL_DEFERRED", 
373                       "PTHREAD_CANCEL_ASYNCHRONOUS"} ]
374               uint16 CancelType;
375           };
376           
377           
378           // ===================================================================
379 karl  1.1 // UnixFile
380           // ===================================================================
381           [Version ("2.6.0"), Description (
382               "The UnixFile class holds properties that are valid for various "
383               "subclasses of LogicalFile, in a Unix environment. This is "
384               "defined as a separate and unique class since it is applicable "
385               "to Unix files, directories, etc. It is associated via a "
386               "FileIdentity relationship to these subclasses of LogicalFile. "
387               "Unless this approach of creating and associating a separate "
388               "class is used, it is necessary to subclass each of the "
389               "inheritance hierarchies under LogicalFile, duplicating the "
390               "properties in this class. The referenced _PC* and _POSIX* "
391               "constants are defined in unistd.h. Some properties indicate "
392               "whether the UNIX implementation support a feature such as "
393               "asynchronous I/O or priority I/O. If supported, sysconf "
394               "returns the value as defined in the appropriate header file "
395               "such as unistd.h. If a feature is not supported, then pathconf "
396               "returns a -1. In this case, the corresponding property should "
397               "be returned without any value.") ]
398           class CIM_UnixFile : CIM_LogicalElement {
399                 
400 karl  1.1     [Propagated ("CIM_LogicalFile.CSCreationClassName"),
401                   Key, MaxLen (256),
402                   Description ("The scoping ComputerSystem's CreationClassName.") ]
403               string CSCreationClassName;
404               
405               [Propagated ("CIM_LogicalFile.CSName"),
406                   Key, MaxLen (256),
407                   Description ("The scoping ComputerSystem's Name.") ]
408               string CSName;
409               
410               [Propagated ("CIM_LogicalFile.FSCreationClassName"), 
411                   Key, MaxLen (256),
412                   Description ("The scoping FileSystem's CreationClassName.") ]
413               string FSCreationClassName;
414               
415               [Propagated ("CIM_LogicalFile.FSName"),
416                   Key, MaxLen (256),
417                   Description ("The scoping FileSystem's Name.") ]
418               string FSName;
419               
420               [Propagated ("CIM_LogicalFile.CreationClassName"),
421 karl  1.1         Key, MaxLen (256), Description (
422                       "The scoping LogicalFile's CreationClassName. ") ]
423               string LFCreationClassName;    
424               
425               [Propagated ("CIM_LogicalFile.Name"), 
426                   Key, MaxLen (1024), Description (
427                       "The scoping LogicalFile's Name. ") ]
428               string LFName;
429               
430               [Required, 
431                   Description ("An Identifer that uniquely describes the owner "
432                       "of this file.") ] 
433               string UserID;
434               
435               [Required, 
436                   Description ("An identifier that describes the group that "
437                       "owns this file.") ] 
438               string GroupID;
439               
440               [Description ("Indicates restricted deletion for directories, "
441                   "or possible implementation defined properties for executable "
442 karl  1.1         "files.  For directories this is known as the sticky bit.") ] 
443               boolean SaveText;
444               
445               [Description ("Count of the number of names for this file." ),
446                   Counter ] 
447               uint64 LinkCount;
448               
449               [Description ("File Inode number, as printed by \"ls -i\"."),
450                   MappingStrings {"UNIX.TOG|ls -i"} ] 
451               string FileInodeNumber;
452               
453               [Description ("Indicates whether the associated file has setuid "
454                   "permissions.") ]
455               boolean SetUid;
456               
457               [Description ("Indicates whether the associated file has setgid "
458                   "permissions.") ]
459               boolean SetGid;
460               
461               [Description ("The time that the Inode was last modified. "
462                   "This includes the Inode creation time, state modification, "
463 karl  1.1         "and etc.") ]
464               datetime  LastModifiedInode;
465               
466               [Description ("Maximum number of links to a single file. "),
467                   MinValue(8),
468                   MappingStrings {"POSIX.TOG|pathconf|_PC_LINK_MAX"} ]
469               uint64 LinkMax;  
470               
471               [Description ("Maximum number of bytes in a filename, not "
472                   "including terminating null."),
473                   MinValue(14), Units ("Bytes"),
474                   MappingStrings {"POSIX.TOG|pathconf|_POSIX_NAME_MAX"} ]
475               uint64 NameMax; 
476               
477               [Description ("Maximum number of bytes in a pathname, including "
478                   "the terminating null character."),
479                   MinValue(255), Units ("Bytes"),
480                   MappingStrings {"POSIX.TOG|pathconf|_POSIX_PATH_MAX"} ]
481               uint64 PathMax;  
482               
483               [Description ("The use of chown() is restricted to a process "
484 karl  1.1         "with appropriate privileges. chown() is used to change the "
485                   "group ID of a file. The group ID can be changed to the "
486                   "effective group ID or one of its supplementary group IDs."),
487                   MappingStrings {"POSIX.TOG|pathconf|_PC_CHOWN_RESTRICTED"} ]
488               uint64 PosixChownRestricted; 
489               
490               [Description ("Indicates whether pathname components longer "
491                   "than NameMax generate an error."),
492                   ModelCorrespondence {"CIM_UnixFile.NameMax"},
493                   MappingStrings {"POSIX.TOG|pathconf|_PC_NO_TRUNC"} ]
494               uint64 PosixNoTrunc;  
495               
496               [Description ("Indicates whether asynchronous input or output "
497                   "operations may be performed for the associated file."),
498                   MappingStrings {"POSIX.TOG|pathconf|_PC_ASYNC_IO"} ]
499               uint64 PosixAsyncIo; 
500               
501               [Description ("Indicates whether prioritized input or output "
502                   "operations may be performed for the associated file."),
503                   MappingStrings {"POSIX.TOG|pathconf|_PC_PRIO_IO"} ]
504               uint64 PosixPrioIo; 
505 karl  1.1     
506               [Description ("Indicates whether synchronised input or output "
507                   "operations may be performed for the associated file."),
508                   MappingStrings {"POSIX.TOG|pathconf|_PC_SYNC_IO"} ]
509               uint64 PosixSyncIo; 
510           };
511           
512           
513           // ===================================================================
514           // FileIdentity
515           // ===================================================================
516           [Association, Version ("2.6.0"), Description (
517               "CIM_FileIdentity indicates that a UnixFile describes Unix-"
518               "specific aspects of the various subclasses of LogicalFile. "
519               "The association exists since it forces UnixFile to be "
520               "weak to (scoped by) the LogicalFile. This is not true in "
521               "the association's superclass, LogicalIdentity.") ]
522           class CIM_FileIdentity : CIM_LogicalIdentity {
523               
524               [Override ("SystemElement"), Min (1), Max (1), 
525                   Description ("The Logical File.") ]
526 karl  1.1     CIM_LogicalFile ref SystemElement;
527               
528               [Override ("SameElement"), Weak, Max (1), Description (
529                   "SameElement represents the additional aspects of the "
530                   "Unix/Linux Logical file.") ]
531               CIM_UnixFile ref SameElement;
532           };
533           
534            
535           // ===================================================================
536           // UnixDirectory
537           // ===================================================================
538           [Version ("2.6.0"), Description (
539               "UnixDirectory is a type of File that logically groups UnixFiles "
540               "'contained' in it.") ]
541           class CIM_UnixDirectory : CIM_Directory {
542               
543               [Description ("Minimum number of bits needed to represent "
544                   "the maximum size of a Unix file allowed in the specified "
545                   "directory, as a signed integer value. Thus, a value of 32 "
546                   "indicates a maximum size of 2**31 bytes."),
547 karl  1.1         MinValue(32), Units ("Bits"),
548                   MappingStrings {"POSIX.TOG|pathconf|_PC_FILESIZEBITS"} ]
549               uint64 FileSizeBits; 
550           };
551           
552           
553           // ===================================================================
554           // UnixDeviceFile
555           // ===================================================================
556           [Version ("2.6.0"), Description (
557               "DeviceFile is a special type of LogicalFile that represents a "
558               "Device. This class is a specialization of DeviceFile for a Unix "
559               "environment.") ]
560           class CIM_UnixDeviceFile : CIM_DeviceFile {
561                 
562               [Description ("The type of device file"),
563                  ValueMap {"0", "1", "2", "3"},
564                  Values {"Unknown", "Other", "Block", "Character"},
565                  ModelCorrespondence {"CIM_UnixDeviceFile.OtherTypeDescription"} ] 
566               uint16 DeviceFileType;
567               
568 karl  1.1     [Description ("Additional information when the Type property is "
569                   "set to \"Other\"."),
570                   ModelCorrespondence {"CIM_UnixDeviceFile.Type"} ] 
571               string OtherTypeDescription;
572               
573               [Required, Description (
574                    "The device Identifier: this is the st_rdev field "
575                    "in the stat structure.") ] 
576               string DeviceId;
577               
578               [Description ("Additional information provided by the driver. "
579                   "This property may be null if no information is available, or "
580                   "a general description of the device when available, e.g. "
581                   "\"Non-rewind tape streamer\".") ] 
582               string DeviceDescription;
583               
584               [Required, Description (
585                   "The Device's Major Id.") ]
586               string DeviceMajor;
587               
588               [Required, Description (
589 karl  1.1         "The Device's Minor Id.") ]
590               string DeviceMinor;
591           };
592           
593           
594           // ===================================================================
595           // end of file
596           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2