1. Adjust the structure of TableFile
[people/mcb30/basetools.git] / Source / Python / Ecc / config.ini
index bcc8fc7..3c85080 100644 (file)
@@ -38,21 +38,36 @@ CheckAll = 0
 #\r
 AutoCorrect = 1\r
 \r
+#\r
+# List customized Modifer here, split with ','\r
+#\r
+ModifierList = IN, OUT, OPTIONAL, UNALIGNED, EFI_RUNTIMESERVICE, EFI_BOOTSERVICE, EFIAPI\r
+\r
 #\r
 # General Checking\r
 #\r
 GeneralCheckAll = 0\r
 \r
-GeneralCheckTab = 1\r
+# Check whether NO Tab is used, replaced with spaces\r
+GeneralCheckNoTab = 1\r
+# The width of Tab\r
 GeneralCheckTabWidth = 2\r
+# Check whether the indentation is followed coding style\r
 GeneralCheckIndentation = 1\r
+# The width of indentation\r
 GeneralCheckIndentationWidth = 2\r
+# Check whether no line is exceeding defined widty\r
 GeneralCheckLine = 1\r
+# The width of a line\r
 GeneralCheckLineWidth = 120\r
+# Check whether no use of _asm in the source file\r
 GeneralCheckNo_Asm = 1\r
+# Check whether no use of "#progma" in source file except "#pragma pack(#)".\r
 GeneralCheckNoProgma = 1\r
+# Check whether there is a carriage return at the end of the file\r
 GeneralCheckCarriageReturn = 1\r
-GeneralCheckPathName = 1\r
+# Check whether the file exists\r
+GeneralCheckFileExistence = 1\r
 \r
 #\r
 # Space Checking\r
@@ -64,16 +79,21 @@ SpaceCheckAll = 1
 #\r
 PredicateExpressionCheckAll = 0\r
 \r
+# Check whether Boolean values, variable type BOOLEAN not use explicit comparisons to TRUE or FALSE\r
 PredicateExpressionCheckBooleanValue = 1\r
-PredicateExpressionCheckBooleanOperator = 1\r
-PredicateExpressionCheckNullType = 1\r
+# Check whether Non-Boolean comparisons use a compare operator (==, !=, >, < >=, <=). \r
+PredicateExpressionCheckNonBooleanOperator = 1\r
+# Check whether a comparison of any pointer to zero must be done via the NULL type\r
+PredicateExpressionCheckComparisonNullType = 1\r
 \r
 #\r
 # Headers Checking\r
 #\r
 HeaderCheckAll = 0\r
 \r
+# Check whether File header exists\r
 HeaderCheckFile = 1\r
+# Check whether Function header exists\r
 HeaderCheckFunction = 1\r
 \r
 #\r
@@ -81,12 +101,22 @@ HeaderCheckFunction = 1
 #\r
 CFunctionLayoutCheckAll = 0\r
 \r
+# Check whether return type exists and in the first line\r
 CFunctionLayoutCheckReturnType = 1\r
+# Check whether any optional functional modifiers exist and next to the return type\r
 CFunctionLayoutCheckOptionalFunctionalModifier = 1\r
+# Check whether the next line contains the function name, left justified, followed by the beginning of the parameter list\r
+# Check whether the closing parenthesis is on its own line and also indented two spaces\r
 CFunctionLayoutCheckFunctionName = 1\r
+# Check whether the function prototypes in include files have the same form as function definitions\r
 CFunctionLayoutCheckFunctionPrototype = 1\r
+# Check whether the body of a function is contained by open and close braces that must be in the first column\r
 CFunctionLayoutCheckFunctionBody = 1\r
+# Check whether the data declarations is the first code in a module.\r
 CFunctionLayoutCheckDataDeclaration = 1\r
+# Check whether no initialization of a variable as part of its declaration\r
+CFunctionLayoutCheckNoInitOfVariable = 1\r
+# Check whether no use of STATIC for functions\r
 CFunctionLayoutCheckNoStatic = 1\r
 \r
 #\r
@@ -94,7 +124,12 @@ CFunctionLayoutCheckNoStatic = 1
 #\r
 IncludeFileCheckAll = 0\r
 \r
+# Check whether all include file contents is guarded by a #ifndef statement.\r
+# the #ifndef must be the first line of code following the file header comment\r
+# the #endif must appear on the last line in the file\r
 IncludeFileCheckIfndefStatement = 1\r
+# Check whether include files contain only public or only private data\r
+# Check whether include files NOT contain code or define data variables\r
 IncludeFileCheckData = 1\r
 \r
 #\r
@@ -102,23 +137,42 @@ IncludeFileCheckData = 1
 #\r
 DeclarationDataTypeCheckAll = 0\r
 \r
+# Check whether no use of int, unsigned, char, void, static, long in any .c, .h or .asl files.\r
 DeclarationDataTypeCheckNoUseCType = 1\r
+# Check whether the modifiers IN, OUT, OPTIONAL, and UNALIGNED are used only to qualify arguments to a function and should not appear in a data type declaration\r
 DeclarationDataTypeCheckInOutModifier = 1\r
+# Check whether the EFIAPI modifier should be used at the entry of drivers, events, and member functions of protocols\r
 DeclarationDataTypeCheckEFIAPIModifier = 1\r
+# Check whether Enumerated Type has a 'typedef' and the name is capital\r
 DeclarationDataTypeCheckEnumeratedType = 1\r
+# Check whether Structure Type has a 'typedef' and the name is capital\r
 DeclarationDataTypeCheckStructureDeclaration = 1\r
+# Check whether Union Type has a 'typedef' and the name is capital\r
+DeclarationDataTypeCheckUnionType = 1\r
+\r
 \r
 #\r
 # Naming Conventions Checking\r
 #\r
 NamingConventionCheckAll = 0\r
 \r
+# Check whether only capital letters are used for #define declarations\r
 NamingConventionCheckDefineStatement = 1\r
+# Check whether only capital letters are used for typedef declarations\r
 NamingConventionCheckTypedefStatement = 1\r
+# Check whether the #ifndef at the start of an include file uses both prefix and postfix underscore characters, ¡®_¡¯.\r
 NamingConventionCheckIfndefStatement = 1\r
+# Rule for path name, variable name and function name\r
+# 1. First character should be upper case\r
+# 2. Existing lower case in a word\r
+# 3. No space existence\r
+# Check whether the path name followed the rule\r
 NamingConventionCheckPathName = 1\r
+# Check whether the variable name followed the rule\r
 NamingConventionCheckVariableName = 1\r
+# Check whether the function name followed the rule\r
 NamingConventionCheckFunctionName = 1\r
+# Check whether NO use short variable name with single character\r
 NamingConventionCheckSingleCharacterVariable = 1\r
 \r
 #\r
@@ -126,10 +180,16 @@ NamingConventionCheckSingleCharacterVariable = 1
 #\r
 DoxygenCheckAll = 0\r
 \r
+# Check whether the file headers are followed Doxygen special documentation blocks in section 2.3.5\r
 DoxygenCheckFileHeader = 1\r
+# Check whether the function headers are followed Doxygen special documentation blocks in section 2.3.5\r
 DoxygenCheckFunctionHeader = 1\r
+# Check whether the first line of text in a comment block is a brief description of the element being documented. \r
+# The brief description must end with a period.\r
 DoxygenCheckCommentDescription = 1\r
+# Check whether comment lines with ¡®///< ¡­ text ¡­¡¯ format, if it is used, it should be after the code section.\r
 DoxygenCheckCommentFormat = 1\r
+# Check whether only Doxygen commands allowed to mark the code are @bug and @todo.\r
 DoxygenCheckCommand = 1\r
 \r
 #\r
@@ -137,12 +197,31 @@ DoxygenCheckCommand = 1
 #\r
 MetaDataFileCheckAll = 0\r
 \r
+# Check whether each file defined in meta-data exists\r
 MetaDataFileCheckPathName = 1\r
+# Generate a list for all files defined in meta-data files\r
 MetaDataFileCheckGenerateFileList = 1\r
+# The path of log file\r
 MetaDataFileCheckPathOfGenerateFileList = C:\File.log\r
+# Check whether all Library Instances defined for a given module (or dependent library instance) match the module¡¯s type.  \r
+# Each Library Instance must specify the Supported Module Types in its INF file, \r
+# and any module specifying the library instance must be one of the supported types.\r
 MetaDataFileCheckLibraryInstance = 1\r
+# Check whether a Library Instance has been defined for all dependent library classes\r
+MetaDataFileCheckLibraryInstanceDependent = 1\r
+# Check whether the Library Instances specified by the LibraryClasses sections are listed in order of dependencies\r
+MetaDataFileCheckLibraryInstanceOrder = 1\r
+# Check whether the unnecessary inclusion of library classes in the INF file\r
+MetaDataFileCheckLibraryNoUse = 1\r
+# Check whether an INF file is specified in the FDF file, but not in the DSC file, then the INF file must be for a Binary module only\r
 MetaDataFileCheckBinaryInfInFdf = 1\r
-MetaDataFileCheckPcd = 1\r
+Not to report error and warning related OS include file such as ¡°windows.h¡± and ¡°stdio.h¡±.\r
+# Check whether a PCD is set in a DSC file or the FDF file, but not in both.\r
+MetaDataFileCheckPcdDuplicate = 1\r
+# Check whether PCD settings in the FDF file can only be related to flash.\r
+MetaDataFileCheckPcdFlash = 1\r
+# Check whether PCDs used in INF files but not specified in DSC or FDF files\r
+MetaDataFileCheckPcdNoUse = 1\r
 \r
 #\r
 # The check points in this section are reserved\r