// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.6.0" ), 
    UMLPackagePath ( "CIM::Application::CheckAction" ), 
    Description ( 
       "FileSpecification identifies a file that is either to be on or "
       "off the system. The file is to be located in the directory "
       "identified in FileName, or by the CIM_Directory "
       "SpecificationFile association. When the Invoke methods are "
       "executed, it is expected that they will use a combination of "
       "information to check for file existence. Therefore, any of the "
       "properties with a NULL value are not checked. So, if only the "
       "FileName and MD5Checksum properties have values, they are the "
       "only ones considered by the Invoke methods." )]
class CIM_FileSpecification : CIM_Check {

      [Description ( 
          "Either the name of the file or the name of the file with "
          "a directory prefix." ), 
       MaxLen ( 1024 )]
   string FileName;

      [Description ( "The creation date and time of the file." )]
   datetime CreateTimeStamp;

      [Description ( "The size of the file in Kilobytes." ), 
       Units ( "KiloBytes" ), 
       PUnit ( "byte * 10^3" )]
   uint64 FileSize;

      [Description ( 
          "A checksum calculated as the 16-bit sum of the first 32 "
          "bytes of the file." ), 
       MappingStrings { "MIF.DMTF|Software Signature|002.4" }]
   uint32 CheckSum;

      [Description ( 
          "The CRC1 property is the CRC value calculated using the "
          "middle 512K bytes of the file." ), 
       MappingStrings { "MIF.DMTF|Software Signature|002.5" }]
   uint32 CRC1;

      [Description ( 
          "The CRC2 property is the CRC value for the middle 512K "
          "bytes of the file, modulo 3." ), 
       MappingStrings { "MIF.DMTF|Software Signature|002.6" }]
   uint32 CRC2;

      [Description ( 
          "The MD5 algorithm is a well-known algorithm for "
          "computing a 128-bit checksum for any file or object. For "
          "purposes of MOF specification of the MD5Checksum "
          "property, the MD5 algorithm always generates a 32 "
          "character string. For example: The string "
          "abcdefghijklmnopqrstuvwxyz generates the string "
          "c3fcd3d76192e4007dfb496cca67e13b. See http: "
          "//www.ietf.org - RFC1321 for details on the // "
          "implementation of the MD5 algorithm." ), 
       MaxLen ( 32 )]
   string MD5Checksum;


};
