1 a.dunfey 1.1 // ===================================================================
2 // Title: System_FileElements
3 // $State: Exp $
4 // $Date: 2004/11/29 18:31:43 $
5 // $RCSfile: System_FileElements.mof,v $
6 // $Revision: 1.12.2.3 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 a.dunfey 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The System Model defines system related management
47 // concepts. This file defines the specific concepts to
48 // manage file systems.
49 //
50 // The object classes below are listed in an order that
51 // avoids forward references. Required objects, defined
52 // by other working groups, are omitted.
53 // ==================================================================
54 // Change Log for v2.8 Final
55 // CR1204 - Removal of Experimental Qualifier for Preliminary to Final
56 // CR1177 - Share to use InstanceID as key vs. propagated keys.
57 //
58 // Change Log for v2.8 Preliminary
59 // CR1056 - Database Storage:
60 // -- modify ResidesOnExtent
61 // -- add PersistenceType and NumberOfFiles to FileSystem
62 // -- add FileSystemCapabilities and FileSystemSettingData
63 // CR883 - Add IsFixedSize and ResizeIncrement properties
64 a.dunfey 1.1 // to CIM_LogicalFile
65 // CR1128 - Addition of HostedDependency
66 //
67 // Change Log for v2.7 Final
68 // CR969 - Remove Share, NFSShare, CIFSShare, SharedElement,
69 // ImportedShare, and HostedShare so they can remain
70 // experimental in 2.8.
71 //
72 // Change Log for v2.7
73 // CR598 - Add Share, NFSShare, CIFSShare, SharedElement,
74 // ImportedShare, and HostedShare
75 // CR644 - Modify Share, NFSShare, CIFSShare, and ImportedShare
76 // - Add FileShare
77 // CR748 - Promote HostedFileSystem.GroupComponent from ComputerSystem
78 // to System. Fix the class description and the propagated
79 // key descriptions in FileSystem.
80 // CR757 - Change the subclassing of FileSystem from LogicalElement
81 // to EnabledLogicalElement
82 // CR767 - Add the Compostion qualifer to DirectoryContainsFile,
83 // FileStorage, and HostedFileSystem
84 // ==================================================================
85 a.dunfey 1.1
86 #pragma locale ("en_US")
87
88
89 // ===================================================================
90 // FileSystem
91 // ===================================================================
92 [Version ( "2.7.0" ), Description (
93 "A file or dataset store local to a System (such as a "
94 "ComputerSystem or an ApplicationSystem) or remotely mounted "
95 "from a file server.")]
96 class CIM_FileSystem : CIM_EnabledLogicalElement {
97
98 [Key, Propagated ( "CIM_System.CreationClassName" ),
99 Description (
100 "The scoping System's CreationClassName. Note that this "
101 "class was originally defined in the scope of a "
102 "ComputerSystem, and was later allowed to be scoped by any "
103 "System (for example, a computer or application system). "
104 "Unfortunately, the property name, CSCreationClassName, "
105 "could not be changed (for example, to SystemCreationClass "
106 a.dunfey 1.1 "Name) without deprecating the class. This change was not "
107 "deemed critical to the semantics and therefore did not "
108 "merit deprecation. So, the property name remains."),
109 MaxLen ( 256 )]
110 string CSCreationClassName;
111
112 [Key, Propagated ( "CIM_System.Name" ), Description (
113 "The scoping System's Name. Note that this class was "
114 "originally defined in the scope of a ComputerSystem, and "
115 "was later allowed to be scoped by any System (for example, "
116 "a computer or application system). Unfortunately, the "
117 "property name, CSName, could not be changed (for example, "
118 "to SystemName) without deprecating the class. This change "
119 "was not deemed critical to the semantics and therefore did "
120 "not merit deprecation. So, the property name remains."),
121 MaxLen ( 256 )]
122 string CSName;
123
124 [Key, Description (
125 "CreationClassName indicates the name of the class or the "
126 "subclass used in the creation of an instance. When used "
127 a.dunfey 1.1 "with the other key properties of this class, this property "
128 "allows all instances of this class and its subclasses to be "
129 "uniquely identified."),
130 MaxLen ( 256 )]
131 string CreationClassName;
132
133 [Key, Override ( "Name" ), Description (
134 "The inherited Name serves as key of a FileSystem instance "
135 "within a ComputerSystem."),
136 MaxLen ( 256 )]
137 string Name;
138
139 [Description (
140 "Path name or other information defining the root of the "
141 "FileSystem."),
142 MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrFSMountPoint",
143 "MIF.DMTF|Host File System|001.2" }]
144 string Root;
145
146 [Description (
147 "FileSystems can read/write data in blocks which are defined "
148 a.dunfey 1.1 "independently of the underlying StorageExtents. This "
149 "property captures the FileSystem's block size for data "
150 "storage and retrieval."),
151 Units ( "Bytes" )]
152 uint64 BlockSize;
153
154 [Description (
155 "The FileSystemSize property stores the total size of the "
156 "File System in bytes. If unknown, enter 0."),
157 Units ( "Bytes" ),
158 MappingStrings { "MIF.DMTF|Host File System|001.13" }]
159 uint64 FileSystemSize;
160
161 [Description (
162 "AvailableSpace indicates the total amount of free space for "
163 "the FileSystem, in bytes. If unknown, enter 0."),
164 Units ( "Bytes" ), Gauge,
165 MappingStrings { "MIF.DMTF|Host File System|001.14",
166 "MIF.DMTF|Partition|002.4" }]
167 uint64 AvailableSpace;
168
169 a.dunfey 1.1 [Description (
170 "Indicates that the FileSystem is designated as read only."),
171 MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrFSAccess",
172 "MIF.DMTF|Host File System|001.5" }]
173 boolean ReadOnly;
174
175 [Description (
176 "A free form string indicating the algorithm or tool used to "
177 "encrypt the FileSystem. If it is not possible or not "
178 "desired to describe the encryption scheme (perhaps for "
179 "security reasons), recommend using the following words: "
180 "\"Unknown\" to represent that it is not known whether the "
181 "FileSystem is encrypted or not, \"Encrypted\" to represent "
182 "that the File System is encrypted but either its encryption "
183 "scheme is not known or not disclosed, and \"Not Encrypted\" "
184 "to represent that the FileSystem is not encrypted."),
185 MappingStrings { "MIF.DMTF|Partition|002.8" }]
186 string EncryptionMethod;
187
188 [Description (
189 "A free form string indicating the algorithm or tool used to "
190 a.dunfey 1.1 "compress the FileSystem. If it is not possible or not "
191 "desired to describe the compression scheme (perhaps because "
192 "it is not known), recommend using the following words: "
193 "\"Unknown\" to represent that it is not known whether the "
194 "FileSystem is compressed or not, \"Compressed\" to "
195 "represent that the File System is compressed but either its "
196 "compression scheme is not known or not disclosed, and \"Not "
197 "Compressed\" to represent that the FileSystem is not "
198 "compressed."),
199 MappingStrings { "MIF.DMTF|Partition|002.7" }]
200 string CompressionMethod;
201
202 [Description (
203 "Indicates that case sensitive file names are supported.")]
204 boolean CaseSensitive;
205
206 [Description (
207 "Indicates that the case of file names are preserved.")]
208 boolean CasePreserved;
209
210 [Description (
211 a.dunfey 1.1 "Array defining the character sets or encoding supported by "
212 "the FileSystem. For example, the values, \"ASCII\" (2) or "
213 "\"ISO2022\" (4), may be specified."),
214 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" },
215 Values { "Unknown", "Other", "ASCII", "Unicode", "ISO2022",
216 "ISO8859", "Extended UNIX Code", "UTF-8", "UCS-2" }]
217 uint16 CodeSet[];
218
219 [Description (
220 "Integer indicating the maximum length of a file name within "
221 "the FileSystem. 0 indicates that there is no limit on file "
222 "name length.")]
223 uint32 MaxFileNameLength;
224
225 [Description (
226 "The minimum file allocation size (an integral number of "
227 "blocks), imposed by the FileSystem. (The size of a block is "
228 "specified in the BlockSize property for the FileSystem.) "
229 "Minimum allocation size is the smallest amount of storage "
230 "allocated to a LogicalFile by the FileSystem. This is not a "
231 "mandatory minimum allocation for all FileSystems. Under "
232 a.dunfey 1.1 "stress conditions, some FileSystems may allocate storage in "
233 "amounts smaller than the ClusterSize.")]
234 uint32 ClusterSize;
235
236 [Description (
237 "String describing the type of FileSystem and therefore, its "
238 "conventions. For example, \"NTFS\" or \"S5\" may be listed "
239 "as well as any additional information on the FileSystem's "
240 "implementation. Since various flavors of FileSystems (like "
241 "S5) exist, this property is defined as a string."),
242 MappingStrings { "MIF.DMTF|Partition|002.6",
243 "MIF.DMTF|Host File System|001.4" }]
244 string FileSystemType;
245
246 [Description (
247 "An enumerated value representing the FileSystem's "
248 "perception of its own persistence characteristics. This "
249 "property would typically be set at the time the FileSystem "
250 "is instantiated and would not be changed by external "
251 "actions. A value of \"Persistent\" indicates that the "
252 "FileSystem is persistent, will be preserved through an "
253 a.dunfey 1.1 "orderly shutdown and should be protected. A value of "
254 "\"Temporary\" indicates that the FileSystem is "
255 "non-persistent, should not be protected and may not survive "
256 "a shutdown. A value of \"External\" indicates that the "
257 "FileSystem is controlled outside of the scope of the "
258 "operating environment and may need to be protected by "
259 "specialized means. A value of \"Other\" is provided to "
260 "allow for additional persistence types, to be described in "
261 "the OtherPersistenceType attribute, and is expected to be "
262 "rarely, if ever, used. A value of \"Unknown\" indicates "
263 "that the persistence of the FileSystem can not be "
264 "determined."),
265 ValueMap { "0", "1", "2", "3", "4" },
266 Values { "Unknown", "Other", "Persistent", "Temporary",
267 "External" },
268 ModelCorrespondence { "CIM_FileSystem.OtherPersistenceType" }]
269 uint16 PersistenceType;
270
271 [Description (
272 "A string describing the persistence characteristics when "
273 "PersistenceType is \"Other\"."),
274 a.dunfey 1.1 ModelCorrespondence { "CIM_FileSystem.PersistenceType" }]
275 string OtherPersistenceType;
276
277 [Description (
278 "The number of files contained in the FileSystem.")]
279 uint64 NumberOfFiles;
280
281 };
282
283
284 // ===================================================================
285 // LocalFileSystem
286 // ===================================================================
287 [Version ( "2.6.0" ), Description (
288 "A class derived from FileSystem that represents the file store "
289 "controlled by a ComputerSystem through local means (e.g., "
290 "direct device driver access). In this case, the file store is "
291 "managed directly by the ComputerSystem without the need for "
292 "another computer to act as a file server. This definition does "
293 "not breakdown in the case of a Clustered File System. In this "
294 "scenario, the FileSystem is a LocalFileSystem, weak to the "
295 a.dunfey 1.1 "Cluster.")]
296 class CIM_LocalFileSystem : CIM_FileSystem {
297 };
298
299
300 // ===================================================================
301 // RemoteFileSystem
302 // ===================================================================
303 [Version ( "2.6.0" ), Description (
304 "A class derived from FileSystem that represents access of the "
305 "FileSystem via a network-related service. In this case, the "
306 "file store is hosted by a computer, acting as a file server. "
307 "For example, the file store for an NFS FileSystem is typically "
308 "NOT on a ComputerSystem's locally controlled media, nor is it "
309 "directly accessed through a device driver. Subclasses of "
310 "RemoteFileSystem contain client-side configuration information "
311 "related to the access of the FileSystem.")]
312 class CIM_RemoteFileSystem : CIM_FileSystem {
313 };
314
315
316 a.dunfey 1.1 // ===================================================================
317 // NFS (NetworkFileSystem)
318 // ===================================================================
319 [Version ( "2.6.0" ), Description (
320 "A class derived from RemoteFileSystem representing that the "
321 "FileSystem is mounted, using the NFS protocol, from a "
322 "ComputerSystem. The properties of the NFS object deal with the "
323 "operational aspects of the mount and represent the client-side "
324 "configuration for NFS access. The FileSystemType (inherited "
325 "from FileSystem) should be set to indicate the type of this "
326 "FileSystem as it appears to the client.")]
327 class CIM_NFS : CIM_RemoteFileSystem {
328
329 [Description (
330 "If set to true: Once the FileSystem is mounted, NFS "
331 "requests are retried until the hosting System responds. \n"
332 "If set to false: Once the FileSystem is mounted, an error "
333 "is returned if the hosting System does not respond.")]
334 boolean HardMount;
335
336 [Description (
337 a.dunfey 1.1 "If set to true: Retries are performed in the foreground. \n"
338 "If set to false: If the first mount attempt fails, retries "
339 "are performed in the background.")]
340 boolean ForegroundMount;
341
342 [Description (
343 "If set to true: Interrupts are permitted for hard mounts. \n"
344 "If set to false : Interrupts are ignored for hard mounts.")]
345 boolean Interrupt;
346
347 [Description (
348 "Maximum number of mount failure retries allowed.")]
349 uint16 MountFailureRetries;
350
351 [Description (
352 "Maximum number of NFS retransmissions allowed.")]
353 uint16 RetransmissionAttempts;
354
355 [Description (
356 "NFS timeout in tenths of a second."),
357 Units ( "Tenths of Seconds" )]
358 a.dunfey 1.1 uint32 RetransmissionTimeout;
359
360 [Description (
361 "Read buffer size in bytes."),
362 Units ( "Bytes" )]
363 uint64 ReadBufferSize;
364
365 [Description (
366 "Write buffer size in bytes."),
367 Units ( "Bytes" )]
368 uint64 WriteBufferSize;
369
370 [Description (
371 "The remote ComputerSystem's (ie, the NFS File 'Server's) "
372 "UDP port number.")]
373 uint32 ServerCommunicationPort;
374
375 [Description (
376 "If set to true: Control attribute caching is enabled. \n"
377 "If set to false: Control attribute caching is disabled.")]
378 boolean AttributeCaching;
379 a.dunfey 1.1
380 [Description (
381 "Minimum number of seconds that cached attributes are held "
382 "after file modification."),
383 Units ( "Seconds" )]
384 uint16 AttributeCachingForRegularFilesMin;
385
386 [Description (
387 "Maximum number of seconds that cached attributes are held "
388 "after file modification."),
389 Units ( "Seconds" )]
390 uint16 AttributeCachingForRegularFilesMax;
391
392 [Description (
393 "Minimum number of seconds that cached attributes are held "
394 "after directory update."),
395 Units ( "Seconds" )]
396 uint16 AttributeCachingForDirectoriesMin;
397
398 [Description (
399 "Maximum number of seconds that cached attributes are held "
400 a.dunfey 1.1 "after directory update."),
401 Units ( "Seconds" )]
402 uint16 AttributeCachingForDirectoriesMax;
403 };
404
405 // ===================================================================
406 // FileSystemCapabilities
407 // ===================================================================
408 [Version ( "2.8.0" ), Description (
409 "This class defines the abilities for persistence and "
410 "recoverability of a FileSystem. This information is tied to "
411 "the FileSystem using the ElementCapabilities association.")]
412 class CIM_FileSystemCapabilities : CIM_Capabilities {
413
414 [Description (
415 "An array of enumerated values representing the persistence "
416 "capabilities of the FileSystem. A value of \"Persistent\" "
417 "indicates that the FileSystem supports persistence, can be "
418 "preserved through an orderly shutdown and could be "
419 "protected. A value of \"Temporary\" indicates that the "
420 "FileSystem supports non-persistence, may not be protected "
421 a.dunfey 1.1 "and may not survive a shutdown. A value of \"External\" "
422 "indicates that the FileSystem could controlled outside of "
423 "the operating environment and may need to be protected by "
424 "specialized means. A value of \"Other\" is provided to "
425 "allow for additional persistence types, to be described in "
426 "the OtherPersistenceType attribute, and is expected to be "
427 "rarely, if ever, used."),
428 ValueMap { "1", "2", "3", "4" },
429 Values { "Other", "Persistent", "Temporary", "External" },
430 ArrayType ( "Indexed" ),
431 ModelCorrespondence {
432 "CIM_FileSystemCapabilities.SupportedPersistenceTypes",
433 "CIM_FileSystem.PersistenceType" }]
434 uint16 SupportedPersistenceTypes[];
435
436
437 [Description (
438 "An array of strings describing the persistence capabilities "
439 "where the corresponding entry in SupportedPersistenceTypes "
440 "has a value of \"Other\". This value is ignored in all "
441 "other cases."),
442 a.dunfey 1.1 ArrayType ( "Indexed" ),
443 ModelCorrespondence {
444 "CIM_FileSystemCapabilities.SupportedPersistenceTypes",
445 "CIM_FileSystem.OtherPersistenceType" }]
446 string SupportedOtherPersistenceTypes[];
447 };
448
449 // ===================================================================
450 // FileSystemSettingData
451 // ===================================================================
452 [Version ( "2.8.0" ), Description (
453 "This class allows a client to specify the desired persistence "
454 "of a FileSystem. This information is tied to the FileSystem "
455 "using the ElementSettingData association.")]
456 class CIM_FileSystemSettingData : CIM_ScopedSettingData {
457
458 [Write, Description (
459 "An enumerated value representing the intended persistence "
460 "characteristics of the FileSystem. A value of "
461 "\"Persistent\" indicates that the FileSystem should be "
462 "persistent, should be preserved through an orderly shutdown "
463 a.dunfey 1.1 "and should be protected. A value of \"Temporary\" indicates "
464 "that the FileSystem should be non-persistent, should not be "
465 "protected and may not survive a shutdown. A value of "
466 "\"External\" indicates that the FileSystem should be "
467 "controlled outside of the operating environment and may "
468 "need to be protected by specialized means. A value of "
469 "\"Other\" is provided to allow for additional persistence "
470 "types, to be described in the OtherPersistenceType "
471 "attribute, and is expected to be rarely, if ever, used."),
472 ValueMap { "1", "2", "3", "4" },
473 Values { "Other", "Persistent", "Temporary", "External" },
474 ModelCorrespondence {
475 "CIM_FileSystemSettingData.OtherPersistenceType",
476 "CIM_FileSystem.PersistenceType" }]
477 uint16 PersistenceType;
478
479 [Write, Description (
480 "A string describing the persistence characteristics when "
481 "PersistenceType is \"Other\"."),
482 ModelCorrespondence {
483 "CIM_FileSystemSettingData.PersistenceType",
484 a.dunfey 1.1 "CIM_FileSystem.OtherPersistenceType" }]
485 string OtherPersistenceType;
486 };
487
488 // ===================================================================
489 // LogicalFile
490 // ===================================================================
491 [Version ( "2.6.0" ), Description (
492 "A LogicalFile is a named collection of data or executable "
493 "code, or represents a LogicalDevice or Directory. It is "
494 "located within the context of a FileSystem, on a Storage "
495 "Extent.")]
496 class CIM_LogicalFile : CIM_LogicalElement {
497
498 [Key, Propagated ( "CIM_FileSystem.CSCreationClassName" ),
499 Description (
500 "The scoping ComputerSystem's CreationClassName."),
501 MaxLen ( 256 )]
502 string CSCreationClassName;
503
504 [Key, Propagated ( "CIM_FileSystem.CSName" ), Description (
505 a.dunfey 1.1 "The scoping ComputerSystem's Name."),
506 MaxLen ( 256 )]
507 string CSName;
508
509 [Key, Propagated ( "CIM_FileSystem.CreationClassName" ),
510 Description (
511 "The scoping FileSystem's CreationClassName."),
512 MaxLen ( 256 )]
513 string FSCreationClassName;
514
515 [Key, Propagated ( "CIM_FileSystem.Name" ), Description (
516 "The scoping FileSystem's Name."),
517 MaxLen ( 256 )]
518 string FSName;
519
520 [Key, Description (
521 "CreationClassName indicates the name of the class or the "
522 "subclass used in the creation of an instance. When used "
523 "with the other key properties of this class, this property "
524 "allows all instances of this class and its subclasses to be "
525 "uniquely identified."),
526 a.dunfey 1.1 MaxLen ( 256 )]
527 string CreationClassName;
528
529 [Key, Override ( "Name" ), Description (
530 "The inherited Name serves as part of the key of a "
531 "LogicalFile instance within a FileSystem. A unique "
532 "identifier (such as a full path name) is required as a Name "
533 "value. Since Files are weak to their FileSystem (and not to "
534 "a Directory which would provide a more granular naming "
535 "algorithm), care must be taken to make LogicalFile's Name "
536 "unique for a given Creation ClassName and FileSystem. A "
537 "full path name is one way to do this."),
538 MaxLen ( 1024 )]
539 string Name;
540
541 [Description (
542 "Size of the File in bytes."),
543 Units ( "Bytes" ), Gauge]
544 uint64 FileSize;
545
546 [Description (
547 a.dunfey 1.1 "File's creation date.")]
548 datetime CreationDate;
549
550 [Description (
551 "Time that the File was last modified.")]
552 datetime LastModified;
553
554 [Description (
555 "Time that the File was last accessed.")]
556 datetime LastAccessed;
557
558 [Description (
559 "Boolean indicating that the File can be read.")]
560 boolean Readable;
561
562 [Description (
563 "Boolean indicating that the File can be written.")]
564 boolean Writeable;
565
566 [Description (
567 "Indicates the file is executable.")]
568 a.dunfey 1.1 boolean Executable;
569
570 [Description (
571 "A free form string indicating the algorithm or tool used to "
572 "compress the LogicalFile. If it is not possible or not "
573 "desired to describe the compression scheme (perhaps because "
574 "it is not known), recommend using the following words: "
575 "\"Unknown\" to represent that it is not known whether the "
576 "LogicalFile is compressed or not, \"Compressed\" to "
577 "represent that the File is compressed but either its "
578 "compression scheme is not known or not disclosed, and \"Not "
579 "Compressed\" to represent that the LogicalFile is not "
580 "compressed.")]
581 string CompressionMethod;
582
583 [Description (
584 "A free form string indicating the algorithm or tool used to "
585 "encrypt the LogicalFile. If it is not possible or not "
586 "desired to describe the encryption scheme (perhaps for "
587 "security reasons), recommend using the following words: "
588 "\"Unknown\" to represent that it is not known whether the "
589 a.dunfey 1.1 "LogicalFile is encrypted or not, \"Encrypted\" to represent "
590 "that the File is encrypted but either its encryption scheme "
591 "is not known or not disclosed, and \"Not Encrypted\" to "
592 "represent that the LogicalFile is not encrypted.")]
593 string EncryptionMethod;
594
595 [Description (
596 "Integer indicating the number of 'file opens' that are "
597 "currently active against the File."),
598 Counter]
599 uint64 InUseCount;
600 };
601
602
603 // ===================================================================
604 // DataFile
605 // ===================================================================
606 [Version ( "2.6.0" ), Description (
607 "DataFile is a type of LogicalFile that is a named collection "
608 "of data or executable code.")]
609 class CIM_DataFile : CIM_LogicalFile {
610 a.dunfey 1.1 };
611
612
613 // ===================================================================
614 // Directory
615 // ===================================================================
616 [Version ( "2.6.0" ), Description (
617 "Directory is a type of File that logically groups Files "
618 "'contained' in it, and provides path information for the "
619 "grouped Files.")]
620 class CIM_Directory : CIM_LogicalFile {
621 };
622
623
624 // ===================================================================
625 // DeviceFile
626 // ===================================================================
627 [Version ( "2.6.0" ), Description (
628 "DeviceFile is a special type of LogicalFile that represents a "
629 "Device. This convention is useful for some operating systems "
630 "that manage devices using a byte stream I/O model. The Logical "
631 a.dunfey 1.1 "Device that is associated with this file is specified using "
632 "the DeviceAccessedByFile relationship.")]
633 class CIM_DeviceFile : CIM_LogicalFile {
634 };
635
636
637 // ===================================================================
638 // FIFOPipeFile
639 // ===================================================================
640 [Version ( "2.6.0" ), Description (
641 "FIFOPipeFile is a special type of LogicalFile that represents "
642 "an interprocess FIFO (sometimes referred to as a \"named "
643 "pipe\"). Operating systems use this convention to manage "
644 "interprocess communication through processes reading and "
645 "writing the FIFO. The FIFO can be accessed by unrelated "
646 "processes, in contrast to the more well-known command line "
647 "redirection mechanism (e.g. UNIX's 'ps -eaf | grep foo', also "
648 "known as an \"unnamed pipe\"). An exemplary operating system "
649 "implementation (using the FIFO concept) is the UNIX S_IFIFO "
650 "file type.")]
651 class CIM_FIFOPipeFile : CIM_LogicalFile {
652 a.dunfey 1.1 };
653
654
655 // ===================================================================
656 // SymbolicLink
657 // ===================================================================
658 [Version ( "2.6.0" ), Description (
659 "This class is a special type of LogicalFile that represents a "
660 "Symbolic Link. This convention is useful for some operating "
661 "systems that want to represent a single file in multiple "
662 "places or a single file that is represented via multiple "
663 "names.")]
664 class CIM_SymbolicLink : CIM_LogicalFile {
665
666 [Required, Description (
667 "The target file of the symbolic link.")]
668 string TargetFile;
669 };
670
671
672 // ===================================================================
673 a.dunfey 1.1 // DeviceAccessedByFile
674 // ===================================================================
675 [Association, Version ( "2.6.0" ), Description (
676 "Specifies the LogicalDevice that is associated with, and "
677 "accessed using the referenced DeviceFile.")]
678 class CIM_DeviceAccessedByFile : CIM_Dependency {
679
680 [Override ( "Antecedent" ), Description (
681 "The DeviceFile.")]
682 CIM_DeviceFile REF Antecedent;
683
684 [Override ( "Dependent" ), Max ( 1 ), Description (
685 "The Device that is accessed using the DeviceFile.")]
686 CIM_LogicalDevice REF Dependent;
687 };
688
689
690 // ===================================================================
691 // DirectoryContainsFile
692 // ===================================================================
693 [Association, Aggregation, Composition, Version ( "2.7.0" ),
694 a.dunfey 1.1 Description (
695 "Specifies the hierarchical arrangement of LogicalFiles in a "
696 "Directory.")]
697 class CIM_DirectoryContainsFile : CIM_Component {
698
699 [Aggregate, Override ( "GroupComponent" ), Max ( 1 ),
700 Description (
701 "The Directory.")]
702 CIM_Directory REF GroupComponent;
703
704 [Override ( "PartComponent" ), Description (
705 "The LogicalFile 'contained within' the Directory.")]
706 CIM_LogicalFile REF PartComponent;
707 };
708
709
710 // ===================================================================
711 // Mount
712 // ===================================================================
713 [Association, Version ( "2.6.0" ), Description (
714 "An association between a FileSystem and a Directory which "
715 a.dunfey 1.1 "indicates that the Directory is being attached to the "
716 "FileSystem. The semantics of this relationship require that "
717 "the mounted Directory be contained by a FileSystem (via the "
718 "FileStorage association) that is different from the FileSystem "
719 "referenced as the Dependent. The Directory's containing "
720 "FileSystem could be either local or remote. For example, a "
721 "LocalFileSystem on a Solaris ComputerSystem can mount a "
722 "Directory from the FileSystem accessed via the machine's CDROM "
723 "drive, i.e., another LocalFile System. On the other hand, in a "
724 "'remote' case, the Directory is first exported by its "
725 "FileSystem, which is hosted on another ComputerSystem acting "
726 "(for example) as a file server. In order to distinguish these "
727 "two types of Mount, it is recommended that a CIM_Export "
728 "association always be defined for the remotely "
729 "accessed/mounted Directories.")]
730 class CIM_Mount : CIM_Dependency {
731
732 [Override ( "Antecedent" ), Max ( 1 ), Description (
733 "The Directory mounted.")]
734 CIM_Directory REF Antecedent;
735
736 a.dunfey 1.1 [Override ( "Dependent" ), Description (
737 "The FileSystem the Directory is mounted on.")]
738 CIM_FileSystem REF Dependent;
739 };
740
741
742 // ===================================================================
743 // Export
744 // ===================================================================
745 [Association, Version ( "2.6.0" ), Description (
746 "An association between a LocalFileSystem and its Directories "
747 "indicating that the specified Directories are available for "
748 "mount. When exporting an entire FileSystem, the Directory "
749 "should reference the topmost directory of the FileSystem.")]
750 class CIM_Export {
751
752 [Key, Max ( 1 ), Description (
753 "The LocalFileSystem.")]
754 CIM_LocalFileSystem REF LocalFS;
755
756 [Key, Description (
757 a.dunfey 1.1 "The Directory exported for mount.")]
758 CIM_Directory REF Directory;
759
760 [Description (
761 "Name under which the Directory is exported.")]
762 string ExportedDirectoryName;
763 };
764
765
766 // ===================================================================
767 // HostedFileSystem
768 // ===================================================================
769 [Association, Aggregation, Composition, Version ( "2.7.0" ),
770 Description (
771 "A link between the System (such as a Computer or Application "
772 "System) and the FileSystem that is a part of it.")]
773 class CIM_HostedFileSystem : CIM_SystemComponent {
774
775 [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ),
776 Description (
777 "The System that hosts the FileSystem.")]
778 a.dunfey 1.1 CIM_System REF GroupComponent;
779
780 [Override ( "PartComponent" ), Weak, Description (
781 "The FileSystem that is part of the System and hosted on it.")]
782 CIM_FileSystem REF PartComponent;
783 };
784
785
786 // ===================================================================
787 // FileStorage
788 // ===================================================================
789 [Association, Aggregation, Composition, Version ( "2.7.0" ),
790 Description (
791 "A link between the FileSystem and the LogicalFile(s) addressed "
792 "through this FileSystem.")]
793 class CIM_FileStorage : CIM_Component {
794
795 [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ),
796 Description (
797 "The FileSystem.")]
798 CIM_FileSystem REF GroupComponent;
799 a.dunfey 1.1
800 [Override ( "PartComponent" ), Weak, Description (
801 "The LogicalFile stored in the context of the FileSystem.")]
802 CIM_LogicalFile REF PartComponent;
803 };
804
805 // ===================================================================
806 // ResidesOnExtent
807 // ===================================================================
808 [Association, Version ( "2.8.0" ), Description (
809 "An association between a LogicalElement and the StorageExtent "
810 "where it is located. Typically, a FileSystem ResidesOn a "
811 "LogicalDisk. However, it is possible for a logical file or "
812 "other internal data store to reside directly on a "
813 "StorageExtent or appropriate subclass.")]
814 class CIM_ResidesOnExtent : CIM_Dependency {
815
816 [Override ( "Antecedent" ), Description (
817 "The StorageExtent.")]
818 CIM_StorageExtent REF Antecedent;
819
820 a.dunfey 1.1 [Override ( "Dependent" ), Description (
821 "The LogicalElement that is located on the StorageExtent.")]
822 CIM_LogicalElement REF Dependent;
823 };
824
825
826 // ===================================================================
827 // end of file
828 // ===================================================================
|