1## @file
2# Standardized Error Hanlding infrastructures.
3#
4# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
5# This program and the accompanying materials
6# are licensed and made available under the terms and conditions of the BSD License
7# which accompanies this distribution.  The full text of the license may be found at
8# http://opensource.org/licenses/bsd-license.php
9#
10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12#
13
14FILE_OPEN_FAILURE = 1
15FILE_WRITE_FAILURE = 2
16FILE_PARSE_FAILURE = 3
17FILE_READ_FAILURE = 4
18FILE_CREATE_FAILURE = 5
19FILE_CHECKSUM_FAILURE = 6
20FILE_COMPRESS_FAILURE = 7
21FILE_DECOMPRESS_FAILURE = 8
22FILE_MOVE_FAILURE = 9
23FILE_DELETE_FAILURE = 10
24FILE_COPY_FAILURE = 11
25FILE_POSITIONING_FAILURE = 12
26FILE_ALREADY_EXIST = 13
27FILE_NOT_FOUND = 14
28FILE_TYPE_MISMATCH = 15
29FILE_CASE_MISMATCH = 16
30FILE_DUPLICATED = 17
31FILE_UNKNOWN_ERROR = 0x0FFF
32
33OPTION_UNKNOWN = 0x1000
34OPTION_MISSING = 0x1001
35OPTION_CONFLICT = 0x1002
36OPTION_VALUE_INVALID = 0x1003
37OPTION_DEPRECATED = 0x1004
38OPTION_NOT_SUPPORTED = 0x1005
39OPTION_UNKNOWN_ERROR = 0x1FFF
40
41PARAMETER_INVALID = 0x2000
42PARAMETER_MISSING = 0x2001
43PARAMETER_UNKNOWN_ERROR =0x2FFF
44
45FORMAT_INVALID = 0x3000
46FORMAT_NOT_SUPPORTED = 0x3001
47FORMAT_UNKNOWN = 0x3002
48FORMAT_UNKNOWN_ERROR = 0x3FFF
49
50RESOURCE_NOT_AVAILABLE = 0x4000
51RESOURCE_ALLOCATE_FAILURE = 0x4001
52RESOURCE_FULL = 0x4002
53RESOURCE_OVERFLOW = 0x4003
54RESOURCE_UNDERRUN = 0x4004
55RESOURCE_UNKNOWN_ERROR = 0x4FFF
56
57ATTRIBUTE_NOT_AVAILABLE = 0x5000
58ATTRIBUTE_GET_FAILURE = 0x5001
59ATTRIBUTE_SET_FAILURE = 0x5002
60ATTRIBUTE_UPDATE_FAILURE = 0x5003
61ATTRIBUTE_ACCESS_DENIED = 0x5004
62ATTRIBUTE_UNKNOWN_ERROR = 0x5FFF
63
64IO_NOT_READY = 0x6000
65IO_BUSY = 0x6001
66IO_TIMEOUT = 0x6002
67IO_UNKNOWN_ERROR = 0x6FFF
68
69COMMAND_FAILURE = 0x7000
70
71PERMISSION_FAILURE = 0x8000
72
73CODE_ERROR = 0xC0DE
74
75AUTOGEN_ERROR = 0xF000
76PARSER_ERROR = 0xF001
77BUILD_ERROR = 0xF002
78GENFDS_ERROR = 0xF003
79ECC_ERROR = 0xF004
80EOT_ERROR = 0xF005
81DDC_ERROR = 0xF009
82WARNING_AS_ERROR = 0xF006
83MIGRATION_ERROR = 0xF010
84PCD_VALIDATION_INFO_ERROR = 0xF011
85PCD_VARIABLE_ATTRIBUTES_ERROR = 0xF012
86PCD_VARIABLE_ATTRIBUTES_CONFLICT_ERROR = 0xF013
87ABORT_ERROR = 0xFFFE
88UNKNOWN_ERROR = 0xFFFF
89
90## Error message of each error code
91gErrorMessage = {
92    FILE_NOT_FOUND          :   "File/directory not found in workspace",
93    FILE_OPEN_FAILURE       :   "File open failure",
94    FILE_WRITE_FAILURE      :   "File write failure",
95    FILE_PARSE_FAILURE      :   "File parse failure",
96    FILE_READ_FAILURE       :   "File read failure",
97    FILE_CREATE_FAILURE     :   "File create failure",
98    FILE_CHECKSUM_FAILURE   :   "Invalid checksum of file",
99    FILE_COMPRESS_FAILURE   :   "File compress failure",
100    FILE_DECOMPRESS_FAILURE :   "File decompress failure",
101    FILE_MOVE_FAILURE       :   "File move failure",
102    FILE_DELETE_FAILURE     :   "File delete failure",
103    FILE_COPY_FAILURE       :   "File copy failure",
104    FILE_POSITIONING_FAILURE:   "Failed to seeking position",
105    FILE_ALREADY_EXIST      :   "File or directory already exists",
106    FILE_TYPE_MISMATCH      :   "Incorrect file type",
107    FILE_CASE_MISMATCH      :   "File name case mismatch",
108    FILE_DUPLICATED         :   "Duplicated file found",
109    FILE_UNKNOWN_ERROR      :   "Unknown error encountered on file",
110
111    OPTION_UNKNOWN          :   "Unknown option",
112    OPTION_MISSING          :   "Missing option",
113    OPTION_CONFLICT         :   "Conflict options",
114    OPTION_VALUE_INVALID    :   "Invalid value of option",
115    OPTION_DEPRECATED       :   "Deprecated option",
116    OPTION_NOT_SUPPORTED    :   "Unsupported option",
117    OPTION_UNKNOWN_ERROR    :   "Unknown error when processing options",
118
119    PARAMETER_INVALID       :   "Invalid parameter",
120    PARAMETER_MISSING       :   "Missing parameter",
121    PARAMETER_UNKNOWN_ERROR :   "Unknown error in parameters",
122
123    FORMAT_INVALID          :   "Invalid syntax/format",
124    FORMAT_NOT_SUPPORTED    :   "Not supported syntax/format",
125    FORMAT_UNKNOWN          :   "Unknown format",
126    FORMAT_UNKNOWN_ERROR    :   "Unknown error in syntax/format ",
127
128    RESOURCE_NOT_AVAILABLE  :   "Not available",
129    RESOURCE_ALLOCATE_FAILURE :   "Allocate failure",
130    RESOURCE_FULL           :   "Full",
131    RESOURCE_OVERFLOW       :   "Overflow",
132    RESOURCE_UNDERRUN       :   "Underrun",
133    RESOURCE_UNKNOWN_ERROR  :   "Unknown error",
134
135    ATTRIBUTE_NOT_AVAILABLE :   "Not available",
136    ATTRIBUTE_GET_FAILURE   :   "Failed to retrieve",
137    ATTRIBUTE_SET_FAILURE   :   "Failed to set",
138    ATTRIBUTE_UPDATE_FAILURE:   "Failed to update",
139    ATTRIBUTE_ACCESS_DENIED :   "Access denied",
140    ATTRIBUTE_UNKNOWN_ERROR :   "Unknown error when accessing",
141
142    COMMAND_FAILURE         :   "Failed to execute command",
143
144    IO_NOT_READY            :   "Not ready",
145    IO_BUSY                 :   "Busy",
146    IO_TIMEOUT              :   "Timeout",
147    IO_UNKNOWN_ERROR        :   "Unknown error in IO operation",
148
149    UNKNOWN_ERROR           :   "Unknown error",
150}
151
152## Exception indicating a fatal error
153class FatalError(Exception):
154    pass
155
156if __name__ == "__main__":
157    pass
158