1 ////////////////////////////////////////////////////////////////////
2 // Copyright (C) Alexander Telyatnikov, Ivan Keliukh, Yegor Anchishkin, SKIF Software, 1999-2013. Kiev, Ukraine
3 // All rights reserved
4 // This file was released under the GPLv2 on June 2015.
5 ////////////////////////////////////////////////////////////////////
6 
7 #ifndef __UDFERR_USR_H__
8 #define __UDFERR_USR_H__
9 
10 #ifndef WITHOUT_FORMATTER
11 
12 #define MKUDF_OK                       0x00000000
13 #include "udferr_usr_h.h"
14 //#define MKUDF_HW_READ_ONLY             0x80000001
15 //#define MKUDF_CANT_BLANK               0x80000002
16 #define MKUDF_INVALID_PARAM_MT         0x80000003
17 #define MKUDF_INVALID_PARAM_PT         0x80000004
18 #define MKUDF_INVALID_PARAM            0x80000005
19 #define MKUDF_HW_CANT_READ_LAYOUT      0x80000006
20 #define MKUDF_AUTO_BLOCKCOUNT_FAILED   0x80000007
21 #define MKUDF_CANT_RECORD_BEA01        0x80000008
22 #define MKUDF_CANT_RECORD_NSR02        0x80000009
23 #define MKUDF_CANT_RECORD_TEA01        0x8000000a
24 #define MKUDF_CANT_RECORD_ANCHOR       0x8000000b
25 #define MKUDF_CANT_RECORD_PVD          0x8000000c
26 #define MKUDF_CANT_RECORD_LVD          0x8000000d
27 #define MKUDF_CANT_RECORD_LVID         0x8000000e
28 #define MKUDF_CANT_RECORD_PARTD        0x8000000f
29 #define MKUDF_CANT_RECORD_USD          0x80000010
30 #define MKUDF_CANT_RECORD_IUVD         0x80000011
31 #define MKUDF_CANT_RECORD_TERMD        0x80000012
32 #define MKUDF_CANT_RECORD_FSD          0x80000013
33 #define MKUDF_CANT_RECORD_SPT          0x80000014
34 #define MKUDF_PARTITION_TOO_SHORT      0x80000015
35 #define MKUDF_CANT_RECORD_FSBM         0x80000016
36 #define MKUDF_CANT_RECORD_ROOT_FE      0x80000017
37 #define MKUDF_CANT_RECORD_VAT_FE       0x80000018
38 #define MKUDF_CANT_OPEN_FILE           0x80000019
39 #define MKUDF_CANT_RESERVE_TRACK       0x8000001a
40 #define MKUDF_VAT_MULTISESS_NOT_SUPP   0x8000001b
41 #define MKUDF_NOT_ENOUGH_PARAMS        0x8000001c
42 #define MKUDF_INVALID_PT_FOR_HDD       0x8000001d
43 #define MKUDF_INVALID_PT_FOR_WORM      0x8000001e
44 #define MKUDF_CANT_FORMAT              0x8000001f
45 #define MKUDF_MEDIA_TYPE_NOT_SUPP      0x80000020
46 #define MKUDF_INVALID_PARAM_BC_FOR_VAT 0x80000021
47 #define MKUDF_HW_PARTITION_TOO_SHORT   0x80000022
48 #define MKUDF_CANT_LOCK_VOL            0x80000023
49 #define MKUDF_CANT_SET_WPARAMS         0x80000024
50 #define MKUDF_HW_WRITE_ERROR           0x80000025
51 #define MKUDF_BLANK_MEDIA_REQUIRED     0x80000026
52 #define MKUDF_INVALID_PT_FOR_BLANK     0x80000027
53 #define MKUDF_FINALIZE_TOO_MANY_PARAMS 0x80000028
54 #define MKUDF_NO_ANCHOR_FOUND          0x80000029
55 #define MKUDF_HW_INVALID_NWA           0x8000002a
56 #define MKUDF_NO_MEDIA_IN_DEVICE       0x8000002b
57 #define MKUDF_INVALID_BC               0x8000002c
58 #define MKUDF_INVALID_MT_FOR_BLANK     0x8000002d
59 #define MKUDF_HW_CANT_SET_WRITE_PARAMS 0x8000002e
60 #define MKUDF_CANT_ALLOW_DASD_IO       0x8000002f
61 #define MKUDF_CANT_DISMOUNT_VOLUME     0x80000030
62 #define MKUDF_FORMAT_REQUIRED          0x80000031
63 #define MKUDF_FULL_BLANK_REQUIRED      0x80000032
64 #define MKUDF_NO_SUITABLE_MODE_FOR_FMT 0x80000033
65 #define MKUDF_CANT_BLANK_DVDRAM        0x80000034
66 #define MKUDF_CANT_RESERVE_ISO_SPACE   0x80000035
67 #define MKUDF_CANT_RECORD_NOTALLOC_FE  0x80000036
68 #define MKUDF_BAD_BLOCK_IN_SYSTEM_AREA 0x80000037
69 #define MKUDF_CANT_OPEN_ISO_IMAGE      0x80000038
70 #define MKUDF_BAD_ISO_IMAGE_ALIGN      0x80000039
71 #define MKUDF_CANT_READ_ISO_IMAGE      0x8000003a
72 #define MKUDF_CANT_WRITE_ISO_IMAGE     0x8000003b
73 #define MKUDF_INVALID_PARAM_SPEED      0x8000003c
74 #define MKUDF_CANT_MAKE_WINUDF         0x8000003d
75 #define MKUDF_FLUSH_ERROR              0x8000003e
76 #define MKUDF_FINAL_VERIFY_FAILED      0x8000003f
77 #define MKUDF_INSUFFICIENT_MEMORY      0x80000040
78 #define MKUDF_CANT_CREATE_THREAD       0x80000041
79 #define MKUDF_CANT_APPLY_R             0x80000042
80 #define MKUDF_USER_BREAK               0x80000043
81 #define MKUDF_INVALID_USER_BUFFER      0x80000044
82 #define MKUDF_INTERNAL_ERROR           0x80000045
83 #define MKUDF_INVALID_PARAM_VFIN       0x80000046
84 #define MKUDF_INVALID_PARAM_VFOUT      0x80000047
85 #define MKUDF_CANT_CREATE_BB_LOG       0x80000048
86 #define MKUDF_CANT_OPEN_BB_LOG         0x80000049
87 #define MKUDF_INSUFFICIENT_PRIVILIGES  0x8000004a
88 #define MKUDF_BLANK_FORMAT_REQUIRED    0x8000004b
89 #define MKUDF_NO_DEVICE_NAME           0x8000004c
90 #define MKUDF_CANT_FLUSH               0x8000004d
91 #define MKUDF_INVALID_PARAM_ISO_MODE   0x8000004e
92 #define MKUDF_INVALID_PARAM_ISO_SES    0x8000004f
93 #define MKUDF_SMART_BLANK_FORMAT_FAILED   0x80000050
94 #define MKUDF_SMART_FORMAT_FAILED      0x80000051
95 #define MKUDF_OTHER_PACKET_FS          0x80000052
96 #define MKUDF_RAW_PACKET_FS            0x80000053
97 #define MKUDF_CANT_ZERO                0x80000054
98 #define MKUDF_NO_UNERASE_FOR_THIS_MEDIA 0x80000055
99 #define MKUDF_UNERASE_FAILED           0x80000056
100 #define MKUDF_INVALID_PARAM_REVISION   0x80000057
101 #define MKUDF_FORMAT_IN_PROGRESS       0x80000058
102 #define MKUDF_CANT_CREATE_ISO_IMAGE    0x80000059
103 #define MKUDF_ABORTED                  0x80000100
104 //#define MKUDF_   0x800000
105 #define MKUDF_PENDING                  0x00000103
106 
107 #define CHKUDF_CANT_MOUNT              0x80010000
108 
109 struct err_msg_item
110 {
111     unsigned int err_code;
112     const char* err_msg;
113 };
114 
115 extern struct err_msg_item mkudf_err_msg[];
116 
117 #endif //WITHOUT_FORMATTER
118 
119 //NT-like status codes
120 
121 #ifndef STATUS_SUCCESS
122 
123 #define STATUS_SUCCESS                   1
124 #define STATUS_MORE_ENTRIES              ((NTSTATUS)0x00000105L)
125 #define STATUS_BUFFER_ALL_ZEROS          ((NTSTATUS)0x00000117L)
126 #define STATUS_FT_WRITE_RECOVERY         ((NTSTATUS)0x4000000BL)
127 #define STATUS_BUFFER_OVERFLOW           ((NTSTATUS)0x80000005L)
128 #define STATUS_NO_MORE_FILES             ((NTSTATUS)0x80000006L)
129 #define STATUS_DEVICE_BUSY               ((NTSTATUS)0x80000011L)
130 #define STATUS_VERIFY_REQUIRED           ((NTSTATUS)0x80000016L)
131 #define STATUS_NO_DATA_DETECTED          ((NTSTATUS)0x80000022L)
132 #define STATUS_UNSUCCESSFUL              ((NTSTATUS)0xC0000001L)
133 #define STATUS_INFO_LENGTH_MISMATCH      ((NTSTATUS)0xC0000004L)
134 //#define STATUS_INVALID_HANDLE            ((NTSTATUS)0xC0000008L)
135 #define STATUS_INVALID_PARAMETER         ((NTSTATUS)0xC000000DL)
136 #define STATUS_NO_SUCH_DEVICE            ((NTSTATUS)0xC000000EL)
137 #define STATUS_NO_SUCH_FILE              ((NTSTATUS)0xC000000FL)
138 #define STATUS_INVALID_DEVICE_REQUEST    ((NTSTATUS)0xC0000010L)
139 #define STATUS_END_OF_FILE               ((NTSTATUS)0xC0000011L)
140 #define STATUS_WRONG_VOLUME              ((NTSTATUS)0xC0000012L)
141 #define STATUS_NO_MEDIA_IN_DEVICE        ((NTSTATUS)0xC0000013L)
142 #define STATUS_UNRECOGNIZED_MEDIA        ((NTSTATUS)0xC0000014L)
143 #define STATUS_NONEXISTENT_SECTOR        ((NTSTATUS)0xC0000015L)
144 #define STATUS_MORE_PROCESSING_REQUIRED  ((NTSTATUS)0xC0000016L)
145 #define STATUS_ACCESS_DENIED             ((NTSTATUS)0xC0000022L)
146 #define STATUS_BUFFER_TOO_SMALL          ((NTSTATUS)0xC0000023L)
147 #define STATUS_DISK_CORRUPT_ERROR        ((NTSTATUS)0xC0000032L)
148 #define STATUS_OBJECT_NAME_INVALID       ((NTSTATUS)0xC0000033L)
149 #define STATUS_OBJECT_NAME_NOT_FOUND     ((NTSTATUS)0xC0000034L)
150 #define STATUS_OBJECT_NAME_COLLISION     ((NTSTATUS)0xC0000035L)
151 #define STATUS_OBJECT_PATH_NOT_FOUND     ((NTSTATUS)0xC000003AL)
152 #define STATUS_DATA_OVERRUN              ((NTSTATUS)0xC000003CL)
153 #define STATUS_CRC_ERROR                 ((NTSTATUS)0xC000003FL)
154 #define STATUS_SHARING_VIOLATION         ((NTSTATUS)0xC0000043L)
155 #define STATUS_DISK_FULL                 ((NTSTATUS)0xC000007FL)
156 #define STATUS_INVALID_VOLUME_LABEL      ((NTSTATUS)0xC0000086L)
157 #define STATUS_NOT_MAPPED_DATA           ((NTSTATUS)0xC0000088L)
158 #define STATUS_INSUFFICIENT_RESOURCES    ((NTSTATUS)0xC000009AL)
159 #define STATUS_DEVICE_DATA_ERROR         ((NTSTATUS)0xC000009CL)
160 #define STATUS_DEVICE_NOT_CONNECTED      ((NTSTATUS)0xC000009DL)
161 #define STATUS_MEDIA_WRITE_PROTECTED     ((NTSTATUS)0xC00000A2L)
162 #define STATUS_DEVICE_NOT_READY          ((NTSTATUS)0xC00000A3L)
163 #define STATUS_IO_TIMEOUT                ((NTSTATUS)0xC00000B5L)
164 #define STATUS_FILE_IS_A_DIRECTORY       ((NTSTATUS)0xC00000BAL)
165 #define STATUS_SHARING_PAUSED            ((NTSTATUS)0xC00000CFL)
166 #define STATUS_INVALID_USER_BUFFER       ((NTSTATUS)0xC00000E8L)
167 #define STATUS_DIRECTORY_NOT_EMPTY       ((NTSTATUS)0xC0000101L)
168 #define STATUS_FILE_CORRUPT_ERROR        ((NTSTATUS)0xC0000102L)
169 #define STATUS_NOT_A_DIRECTORY           ((NTSTATUS)0xC0000103L)
170 #define STATUS_CANCELLED                 ((NTSTATUS)0xC0000120L)
171 #define STATUS_CANNOT_DELETE             ((NTSTATUS)0xC0000121L)
172 #define STATUS_FILE_DELETED              ((NTSTATUS)0xC0000123L)
173 #define STATUS_UNRECOGNIZED_VOLUME       ((NTSTATUS)0xC000014FL)
174 #define STATUS_TOO_MANY_SECRETS          ((NTSTATUS)0xC0000156L)
175 #define STATUS_INVALID_BLOCK_LENGTH      ((NTSTATUS)0xC0000173L)
176 #define STATUS_UNABLE_TO_UNLOAD_MEDIA    ((NTSTATUS)0xC0000176L)
177 #define STATUS_DRIVER_INTERNAL_ERROR     ((NTSTATUS)0xC0000183L)
178 #define STATUS_INVALID_DEVICE_STATE      ((NTSTATUS)0xC0000184L)
179 #define STATUS_IO_DEVICE_ERROR           ((NTSTATUS)0xC0000185L)
180 #define STATUS_LOST_WRITEBEHIND_DATA     ((NTSTATUS)0xC0000222L)
181 #define STATUS_NOT_FOUND                 ((NTSTATUS)0xC0000225L)
182 #define STATUS_RETRY                     ((NTSTATUS)0xC000022DL)
183 #define STATUS_REQUEST_ABORTED           ((NTSTATUS)0xC0000240L)
184 #define STATUS_TOO_MANY_LINKS            ((NTSTATUS)0xC0000265L)
185 #define STATUS_LICENSE_VIOLATION         ((NTSTATUS)0xC000026AL)
186 
187 #endif // STATUS_SUCCESS
188 
189 #endif // __UDFERR_USR_H__
190