import Common.LongFilePathOs as os\r
import re\r
import string\r
-from . import CodeFragmentCollector\r
-from . import FileProfile\r
+from Ecc import CodeFragmentCollector\r
+from Ecc import FileProfile\r
from CommonDataClass import DataClass\r
-from . import Database\r
+from Ecc import Database\r
from Common import EdkLogger\r
-from .EccToolError import *\r
-from . import EccGlobalData\r
-from . import MetaDataParser\r
+from Ecc.EccToolError import *\r
+from Ecc import EccGlobalData\r
+from Ecc import MetaDataParser\r
\r
IncludeFileListDict = {}\r
AllIncludeFileListDict = {}\r
PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_BOOLEAN_VALUE, 'Predicate Expression: %s' % Exp, FileTable, Str[2])\r
\r
\r
-def CheckHeaderFileData(FullFileName):\r
+def CheckHeaderFileData(FullFileName, AllTypedefFun=[]):\r
ErrorMsgList = []\r
\r
FileID = GetTableID(FullFileName, ErrorMsgList)\r
ResultSet = Db.TblFile.Exec(SqlStatement)\r
for Result in ResultSet:\r
if not Result[1].startswith('extern'):\r
- PrintErrorMsg(ERROR_INCLUDE_FILE_CHECK_DATA, 'Variable definition appears in header file', FileTable, Result[0])\r
+ for Item in AllTypedefFun:\r
+ if '(%s)' % Result[1] in Item:\r
+ break\r
+ else:\r
+ PrintErrorMsg(ERROR_INCLUDE_FILE_CHECK_DATA, 'Variable definition appears in header file', FileTable, Result[0])\r
\r
SqlStatement = """ select ID\r
from Function\r