unrarsrc  6.1.7
About: unrar extracts, views and tests the contents of archives created with the RAR archiver.
  Fossies Dox: unrarsrc-6.1.7.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

uiconsole.cpp
Go to the documentation of this file.
1static bool AnyMessageDisplayed=false; // For console -idn switch.
2
3// Purely user interface function. Gets and returns user input.
4UIASKREP_RESULT uiAskReplace(wchar *Name,size_t MaxNameSize,int64 FileSize,RarTime *FileTime,uint Flags)
5{
6 wchar SizeText1[20],DateStr1[50],SizeText2[20],DateStr2[50];
7
8 FindData ExistingFD;
9 memset(&ExistingFD,0,sizeof(ExistingFD)); // In case find fails.
10 FindFile::FastFind(Name,&ExistingFD);
11 itoa(ExistingFD.Size,SizeText1,ASIZE(SizeText1));
12 ExistingFD.mtime.GetText(DateStr1,ASIZE(DateStr1),false);
13
14 if (FileSize==INT64NDF || FileTime==NULL)
15 {
16 eprintf(L"\n");
18 }
19 else
20 {
21 itoa(FileSize,SizeText2,ASIZE(SizeText2));
22 FileTime->GetText(DateStr2,ASIZE(DateStr2),false);
23 if ((Flags & UIASKREP_F_EXCHSRCDEST)==0)
24 eprintf(St(MAskReplace),Name,SizeText1,DateStr1,SizeText2,DateStr2);
25 else
26 eprintf(St(MAskReplace),Name,SizeText2,DateStr2,SizeText1,DateStr1);
27 }
28
29 bool AllowRename=(Flags & UIASKREP_F_NORENAME)==0;
30 int Choice=0;
31 do
32 {
33 Choice=Ask(St(AllowRename ? MYesNoAllRenQ : MYesNoAllQ));
34 } while (Choice==0); // 0 means invalid input.
35 switch(Choice)
36 {
37 case 1:
38 return UIASKREP_R_REPLACE;
39 case 2:
40 return UIASKREP_R_SKIP;
41 case 3:
43 case 4:
44 return UIASKREP_R_SKIPALL;
45 }
46 if (AllowRename && Choice==5)
47 {
49 if (getwstr(Name,MaxNameSize))
50 return UIASKREP_R_RENAME;
51 else
52 return UIASKREP_R_SKIP; // Process fwgets failure as if user answered 'No'.
53 }
54 return UIASKREP_R_CANCEL;
55}
56
57
58
59
60void uiStartArchiveExtract(bool Extract,const wchar *ArcName)
61{
62 mprintf(St(Extract ? MExtracting : MExtrTest), ArcName);
63}
64
65
66bool uiStartFileExtract(const wchar *FileName,bool Extract,bool Test,bool Skip)
67{
68 return true;
69}
70
71
72void uiExtractProgress(int64 CurFileSize,int64 TotalFileSize,int64 CurSize,int64 TotalSize)
73{
74 // We set the total size to 0 to update only the current progress and keep
75 // the total progress intact in WinRAR. Unlike WinRAR, console RAR has only
76 // the total progress and updates it with current values in such case.
77 int CurPercent=TotalSize!=0 ? ToPercent(CurSize,TotalSize) : ToPercent(CurFileSize,TotalFileSize);
78 mprintf(L"\b\b\b\b%3d%%",CurPercent);
79}
80
81
82void uiProcessProgress(const char *Command,int64 CurSize,int64 TotalSize)
83{
84 int CurPercent=ToPercent(CurSize,TotalSize);
85 mprintf(L"\b\b\b\b%3d%%",CurPercent);
86}
87
88
90{
91 // When creating volumes, AnyMessageDisplayed must be reset for UIEVENT_NEWARCHIVE,
92 // so it ignores this and all earlier messages like UIEVENT_PROTECTEND
93 // and UIEVENT_PROTECTEND, because they precede "Creating archive" message
94 // and do not interfere with -idn and file names. If we do not ignore them,
95 // uiEolAfterMsg() in uiStartFileAddit() can cause unneeded carriage return
96 // in archiving percent after creating a new volume with -v -idn (and -rr
97 // for UIEVENT_PROTECT*) switches. AnyMessageDisplayed is set for messages
98 // after UIEVENT_NEWARCHIVE, so archiving percent with -idn is moved to
99 // next line and does not delete their last characters.
100 // Similarly we ignore UIEVENT_RRTESTINGEND for volumes, because it is issued
101 // before "Testing archive" and would add an excessive \n otherwise.
103
104 switch(Code)
105 {
108 Log(NULL,L"\n%ls",Str[0]);
109 break;
110 case UIERROR_CHECKSUM:
111 Log(Str[0],St(MCRCFailed),Str[1]);
112 break;
114 Log(Str[0],St(MEncrBadCRC),Str[1]);
115 break;
117 Log(Str[0],St(MDataBadCRC),Str[1],Str[0]);
118 break;
119 case UIERROR_BADPSW:
121 break;
122 case UIWAIT_BADPSW:
124 break;
125 case UIERROR_MEMORY:
126 mprintf(L"\n");
127 Log(NULL,St(MErrOutMem));
128 break;
129 case UIERROR_FILEOPEN:
130 Log(Str[0],St(MCannotOpen),Str[1]);
131 break;
133 Log(Str[0],St(MCannotCreate),Str[1]);
134 break;
136 Log(NULL,St(MErrFClose),Str[0]);
137 break;
138 case UIERROR_FILESEEK:
139 Log(NULL,St(MErrSeek),Str[0]);
140 break;
141 case UIERROR_FILEREAD:
142 mprintf(L"\n");
143 Log(Str[0],St(MErrRead),Str[1]);
144 break;
146 Log(Str[0],St(MErrWrite),Str[1]);
147 break;
148#ifndef SFX_MODULE
150 Log(Str[0],St(MCannotDelete),Str[1]);
151 break;
154 break;
156 Log(Str[0],St(MErrRename),Str[1],Str[2]);
157 break;
158#endif
159 case UIERROR_FILEATTR:
160 Log(Str[0],St(MErrChangeAttr),Str[1]);
161 break;
162 case UIERROR_FILECOPY:
163 Log(Str[0],St(MCopyError),Str[1],Str[2]);
164 break;
167 mprintf(L" "); // For progress percent.
168 break;
170 Log(Str[0],St(MExtrErrMkDir),Str[1]);
171 break;
173 Log(Str[0],St(MErrCreateLnkS),Str[1]);
174 break;
176 Log(NULL,St(MErrCreateLnkH),Str[0]);
177 break;
179 Log(NULL,St(MErrLnkTarget));
180 mprintf(L" "); // For progress percent.
181 break;
183 Log(NULL,St(MNeedAdmin));
184 break;
186 Log(Str[0],St(MErrBrokenArc));
187 break;
189 Log(Str[0],St(MHeaderBroken));
190 break;
193 break;
195 Log(Str[0],St(MLogFileHead),Str[1]);
196 break;
199 break;
202 break;
204 Log(Str[0],St(MSubHeadDataCRC),Str[1]);
205 break;
207 Log(Str[0],St(MRRDamaged));
208 break;
210 Log(Str[0],St(MUnknownMeth),Str[1]);
211 break;
213 {
214 wchar Msg[256];
215 swprintf(Msg,ASIZE(Msg),St(MUnkEncMethod),Str[1]);
216 Log(Str[0],L"%s: %s",Msg,Str[2]);
217 }
218 break;
219#ifndef SFX_MODULE
220 case UIERROR_RENAMING:
221 Log(Str[0],St(MRenaming),Str[1],Str[2]);
222 break;
223 case UIERROR_NEWERRAR:
224 Log(Str[0],St(MNewerRAR));
225 break;
226#endif
228 Log(NULL,St(MRecVolDiffSets),Str[0],Str[1]);
229 break;
232 break;
235 break;
238 break;
239 case UIERROR_UNEXPEOF:
240 Log(Str[0],St(MLogUnexpEOF));
241 break;
243 Log(Str[0],St(MBadArc),Str[0]);
244 break;
246 Log(Str[0],St(MLogCommBrk));
247 break;
249 Log(Str[0],St(MInvalidName),Str[1]);
250 mprintf(L"\n"); // Needed when called from CmdExtract::ExtractCurrentFile.
251 break;
252#ifndef SFX_MODULE
253 case UIERROR_OPFAILED:
254 Log(NULL,St(MOpFailed));
255 break;
257 Log(Str[0],St(MNewRarFormat));
258 break;
259#endif
262 break;
264 Log(Str[0],St(MAbsNextVol),Str[0]);
265 break;
266#ifndef SFX_MODULE
268 Log(Str[0],St(MUnpCannotMerge),Str[1]);
269 break;
271 Log(Str[0],St(MUnknownExtra),Str[1]);
272 break;
274 Log(Str[0],St(MCorruptExtra),Str[1],Str[2]);
275 break;
276#endif
277#if !defined(SFX_MODULE) && defined(_WIN_ALL)
279 Log(NULL,St(MNTFSRequired),Str[0]);
280 break;
281#endif
282#if !defined(SFX_MODULE) && defined(_WIN_ALL)
284 Log(Str[0],St(MACLBroken),Str[1]);
285 break;
287 Log(Str[0],St(MACLUnknown),Str[1]);
288 break;
289 case UIERROR_ACLSET:
290 Log(Str[0],St(MACLSetError),Str[1]);
291 break;
293 Log(Str[0],St(MStreamBroken),Str[1]);
294 break;
296 Log(Str[0],St(MStreamUnknown),Str[1]);
297 break;
298#endif
301 break;
303 Log(NULL,L"\n%ls%ls%ls",Str[0],Str[1],Str[2]);
304 Log(NULL,St(MPathTooLong));
305 break;
306#ifndef SFX_MODULE
307 case UIERROR_DIRSCAN:
308 Log(NULL,St(MScanError),Str[0]);
309 break;
310#endif
312 Log(Str[0],St(MOwnersBroken),Str[1]);
313 break;
315 Log(Str[0],St(MErrGetOwnerID),Str[1]);
316 break;
318 Log(Str[0],St(MErrGetGroupID),Str[1]);
319 break;
321 Log(Str[0],St(MSetOwnersError),Str[1]);
322 break;
324 Log(NULL,St(MErrLnkRead),Str[0]);
325 break;
327 Log(NULL,St(MSymLinkExists),Str[0]);
328 break;
330 Log(NULL,St(MErrReadTrunc),Str[0]);
331 break;
333 Log(NULL,St(MErrReadCount),Num[0]);
334 break;
336 Log(NULL,St(MDirNameExists));
337 break;
338 case UIERROR_TRUNCPSW:
339 eprintf(St(MTruncPsw),Num[0]);
340 eprintf(L"\n");
341 break;
343 Log(NULL,St(MAdjustValue),Str[0],Str[1]);
344 break;
345
346#ifndef SFX_MODULE
347 case UIMSG_STRING:
348 mprintf(L"\n%s",Str[0]);
349 break;
350#endif
353 break;
354 case UIMSG_BADARCHIVE:
355 mprintf(St(MBadArc),Str[0]);
356 break;
357 case UIMSG_CREATING:
358 mprintf(St(MCreating),Str[0]);
359 break;
360 case UIMSG_RENAMING:
361 mprintf(St(MRenaming),Str[0],Str[1]);
362 break;
365 break;
368 break;
371 break;
372 case UIMSG_MISSINGVOL:
374 break;
377 break;
378 case UIMSG_CHECKSUM:
380 break;
381 case UIMSG_FAT32SIZE:
383 mprintf(L" "); // For progress percent.
384 break;
385 case UIMSG_SKIPENCARC:
386 Log(NULL,St(MSkipEncArc),Str[0]);
387 break;
388
389
390
392 mprintf(L"%s ",St(MTestingRR));
393 break;
394 }
395}
396
397
398bool uiGetPassword(UIPASSWORD_TYPE Type,const wchar *FileName,SecPassword *Password)
399{
400 // Unlike GUI we cannot provide Cancel button here, so we use the empty
401 // password to abort. Otherwise user not knowing a password would need to
402 // press Ctrl+C multiple times to quit from infinite password request loop.
403 return GetConsolePassword(Type,FileName,Password) && Password->IsSet();
404}
405
406
408{
409 return false;
410}
411
412
414{
416 {
417 static clock_t LastTime=-10; // Negative to always beep first time.
418 if ((MonoClock()-LastTime)/CLOCKS_PER_SEC>5)
419 {
420#ifdef _WIN_ALL
421 MessageBeep(-1);
422#else
423 putwchar('\007');
424#endif
425 LastTime=MonoClock();
426 }
427 }
428}
429
430
431
432
433bool uiAskNextVolume(wchar *VolName,size_t MaxSize)
434{
435 eprintf(St(MAskNextVol),VolName);
436 return Ask(St(MContinueQuit))!=2;
437}
438
439
440void uiAskRepeatRead(const wchar *FileName,bool &Ignore,bool &All,bool &Retry,bool &Quit)
441{
443 int Code=Ask(St(MIgnoreAllRetryQuit));
444
445 Ignore=(Code==1);
446 All=(Code==2);
447 Quit=(Code==4);
448 Retry=!Ignore && !All && !Quit; // Default also for invalid input, not just for 'Retry'.
449}
450
451
452bool uiAskRepeatWrite(const wchar *FileName,bool DiskFull)
453{
454 mprintf(L"\n");
455 Log(NULL,St(DiskFull ? MNotEnoughDisk:MErrWrite),FileName);
456 return Ask(St(MRetryAbort))==1;
457}
458
459
460#ifndef SFX_MODULE
461const wchar *uiGetMonthName(int Month)
462{
463 static MSGID MonthID[12]={
466 };
467 return St(MonthID[Month]);
468}
469#endif
470
471
473{
475 {
476 // Avoid deleting several last characters of any previous error message
477 // with percentage indicator in -idn mode.
479 mprintf(L"\n");
480 }
481}
static bool FastFind(const wchar *FindMask, FindData *fd, bool GetSymLink=false)
Definition: find.cpp:108
void GetText(wchar *DateStr, size_t MaxSize, bool FullMS)
Definition: timefn.cpp:225
bool IsSet()
Definition: secpassword.hpp:22
void Msg()
Definition: uiconsole.cpp:89
uint Num[MAX_MSG]
Definition: ui.hpp:114
UIMESSAGE_CODE Code
Definition: ui.hpp:116
const wchar * Str[MAX_MSG]
Definition: ui.hpp:113
void eprintf(const wchar *fmt,...)
Definition: consio.cpp:135
bool GetConsolePassword(UIPASSWORD_TYPE Type, const wchar *FileName, SecPassword *Password)
Definition: consio.cpp:221
int Ask(const wchar *AskStr)
Definition: consio.cpp:325
bool getwstr(wchar *str, size_t n)
Definition: consio.cpp:267
void mprintf(const wchar *fmt,...)
Definition: consio.cpp:118
#define MAbsNextVol
Definition: loclang.hpp:164
#define MRRDamaged
Definition: loclang.hpp:370
#define MStreamUnknown
Definition: loclang.hpp:325
#define MExtrNoFiles
Definition: loclang.hpp:222
#define MSetOwnersError
Definition: loclang.hpp:314
#define MMonthJul
Definition: loclang.hpp:22
#define MReconstructing
Definition: loclang.hpp:342
#define MRecVolFound
Definition: loclang.hpp:339
#define MIncompatSwitch
Definition: loclang.hpp:373
#define MPathTooLong
Definition: loclang.hpp:247
#define MLogFileHead
Definition: loclang.hpp:230
#define MAskNextVol
Definition: loclang.hpp:169
#define MAskReplace
Definition: loclang.hpp:225
#define MUnknownMeth
Definition: loclang.hpp:181
#define MInvalidName
Definition: loclang.hpp:326
#define MRecVolDiffSets
Definition: loclang.hpp:337
#define MWrongFilePassword
Definition: loclang.hpp:367
#define MWrongPassword
Definition: loclang.hpp:366
#define MMonthJun
Definition: loclang.hpp:21
#define MCreating
Definition: loclang.hpp:343
#define MRecVolCannotFix
Definition: loclang.hpp:341
#define MDataBadCRC
Definition: loclang.hpp:318
#define MEncrBadCRC
Definition: loclang.hpp:221
#define MMonthMar
Definition: loclang.hpp:18
#define MCannotCreate
Definition: loclang.hpp:179
#define MErrWrite
Definition: loclang.hpp:156
#define MNewerRAR
Definition: loclang.hpp:364
#define MErrSeek
Definition: loclang.hpp:158
#define MRenaming
Definition: loclang.hpp:344
#define MSubHeadUnknown
Definition: loclang.hpp:332
#define MErrReadTrunc
Definition: loclang.hpp:389
#define MOwnersBroken
Definition: loclang.hpp:313
#define MErrLnkTarget
Definition: loclang.hpp:383
#define MCannotDelete
Definition: loclang.hpp:358
#define MCalcCRCAllVol
Definition: loclang.hpp:362
#define MStreamBroken
Definition: loclang.hpp:324
#define MYesNoAllQ
Definition: loclang.hpp:3
#define MErrLnkRead
Definition: loclang.hpp:315
#define MUnknownExtra
Definition: loclang.hpp:376
#define MMonthDec
Definition: loclang.hpp:27
#define MErrFClose
Definition: loclang.hpp:159
#define MBadArc
Definition: loclang.hpp:151
#define MAskNewName
Definition: loclang.hpp:227
#define MTestingRR
Definition: loclang.hpp:371
#define MLogUnexpEOF
Definition: loclang.hpp:299
#define MContinueQuit
Definition: loclang.hpp:5
#define MErrReadInfo
Definition: loclang.hpp:388
#define MErrRead
Definition: loclang.hpp:157
#define MNTFSRequired
Definition: loclang.hpp:345
#define MErrBrokenArc
Definition: loclang.hpp:161
#define MSubHeadCorrupt
Definition: loclang.hpp:331
#define MACLUnknown
Definition: loclang.hpp:323
#define MSymLinkExists
Definition: loclang.hpp:316
#define MUnpCannotMerge
Definition: loclang.hpp:329
#define MErrReadCount
Definition: loclang.hpp:390
#define MDirNameExists
Definition: loclang.hpp:391
#define MMonthAug
Definition: loclang.hpp:23
#define MACLSetError
Definition: loclang.hpp:321
#define MExtrTest
Definition: loclang.hpp:211
#define MCannotOpen
Definition: loclang.hpp:180
#define MErrRename
Definition: loclang.hpp:163
#define MErrChangeAttr
Definition: loclang.hpp:347
#define MErrCreateLnkH
Definition: loclang.hpp:382
#define MACLBroken
Definition: loclang.hpp:322
#define MErrGetGroupID
Definition: loclang.hpp:312
#define MRecycleFailed
Definition: loclang.hpp:359
#define MErrCreateLnkS
Definition: loclang.hpp:381
#define MCorrectingName
Definition: loclang.hpp:328
#define MFAT32Size
Definition: loclang.hpp:346
#define MMonthNov
Definition: loclang.hpp:26
#define MMonthJan
Definition: loclang.hpp:16
#define MMonthFeb
Definition: loclang.hpp:17
#define MRetryAbort
Definition: loclang.hpp:6
#define MCopyError
Definition: loclang.hpp:378
#define MHeaderBroken
Definition: loclang.hpp:228
#define MNotEnoughDisk
Definition: loclang.hpp:363
#define MSubHeadDataCRC
Definition: loclang.hpp:333
#define MLogCommBrk
Definition: loclang.hpp:238
#define MExtracting
Definition: loclang.hpp:212
#define MCorruptExtra
Definition: loclang.hpp:377
#define MMonthApr
Definition: loclang.hpp:19
#define MAskOverwrite
Definition: loclang.hpp:226
#define MMonthMay
Definition: loclang.hpp:20
#define MSkipEncArc
Definition: loclang.hpp:396
#define MOpFailed
Definition: loclang.hpp:395
#define MTruncPsw
Definition: loclang.hpp:393
#define MRecVolAllExist
Definition: loclang.hpp:340
#define MCopyErrorHint
Definition: loclang.hpp:379
#define MNeedAdmin
Definition: loclang.hpp:384
#define MMonthSep
Definition: loclang.hpp:24
#define MMainHeaderBroken
Definition: loclang.hpp:229
#define MYesNoAllRenQ
Definition: loclang.hpp:4
#define MAdjustValue
Definition: loclang.hpp:394
#define MCRCFailed
Definition: loclang.hpp:210
#define MNewRarFormat
Definition: loclang.hpp:182
#define MRecVolMissing
Definition: loclang.hpp:338
#define MIgnoreAllRetryQuit
Definition: loclang.hpp:7
#define MExtrErrMkDir
Definition: loclang.hpp:219
#define MMonthOct
Definition: loclang.hpp:25
#define MScanError
Definition: loclang.hpp:335
#define MErrOutMem
Definition: loclang.hpp:160
#define MUnkEncMethod
Definition: loclang.hpp:365
#define MErrGetOwnerID
Definition: loclang.hpp:311
void Log(const wchar *ArcName, const wchar *fmt,...)
Definition: log.cpp:15
@ SOUND_NOTIFY_ON
Definition: options.hpp:75
const wchar * MSGID
Definition: os.hpp:228
#define ASIZE(x)
Definition: rardefs.hpp:10
#define INT64NDF
Definition: rartypes.hpp:30
wchar_t wchar
Definition: rartypes.hpp:13
int64_t int64
Definition: rartypes.hpp:12
unsigned int uint
Definition: rartypes.hpp:8
const wchar * St(MSGID StringId)
Definition: resource.cpp:8
int ToPercent(int64 N1, int64 N2)
Definition: smallfn.cpp:3
void itoa(int64 n, char *Str, size_t MaxSize)
Definition: strfn.cpp:308
Definition: find.hpp:9
RarTime mtime
Definition: find.hpp:15
uint64 Size
Definition: find.hpp:11
clock_t MonoClock()
Definition: system.cpp:73
UIPASSWORD_TYPE
Definition: ui.hpp:90
@ UIASKREP_F_EXCHSRCDEST
Definition: ui.hpp:69
@ UIASKREP_F_NORENAME
Definition: ui.hpp:69
UIASKREP_RESULT
Definition: ui.hpp:74
@ UIASKREP_R_RENAME
Definition: ui.hpp:76
@ UIASKREP_R_CANCEL
Definition: ui.hpp:76
@ UIASKREP_R_SKIP
Definition: ui.hpp:75
@ UIASKREP_R_SKIPALL
Definition: ui.hpp:75
@ UIASKREP_R_REPLACEALL
Definition: ui.hpp:75
@ UIASKREP_R_REPLACE
Definition: ui.hpp:75
UIALARM_TYPE
Definition: ui.hpp:94
@ UIERROR_STREAMUNKNOWN
Definition: ui.hpp:37
@ UIERROR_ADJUSTVALUE
Definition: ui.hpp:42
@ UIERROR_SUBHEADERUNKNOWN
Definition: ui.hpp:19
@ UIERROR_NEWERRAR
Definition: ui.hpp:21
@ UIERROR_HLINKCREATE
Definition: ui.hpp:16
@ UIERROR_ULINKEXIST
Definition: ui.hpp:40
@ UIERROR_TRUNCPSW
Definition: ui.hpp:42
@ UIEVENT_RRTESTINGSTART
Definition: ui.hpp:63
@ UIERROR_DIRSCAN
Definition: ui.hpp:38
@ UIERROR_MEMORY
Definition: ui.hpp:12
@ UIEVENT_NEWARCHIVE
Definition: ui.hpp:64
@ UIERROR_SYSERRMSG
Definition: ui.hpp:10
@ UIERROR_CMTBROKEN
Definition: ui.hpp:29
@ UIERROR_FILEWRITE
Definition: ui.hpp:13
@ UIEVENT_RRTESTINGEND
Definition: ui.hpp:64
@ UIERROR_ACLUNKNOWN
Definition: ui.hpp:36
@ UIERROR_NEWRARFORMAT
Definition: ui.hpp:30
@ UIERROR_FILECOPY
Definition: ui.hpp:15
@ UIERROR_FILECOPYHINT
Definition: ui.hpp:15
@ UIMSG_BADARCHIVE
Definition: ui.hpp:49
@ UIERROR_DIRCREATE
Definition: ui.hpp:16
@ UIMSG_CHECKSUM
Definition: ui.hpp:51
@ UIERROR_RRDAMAGED
Definition: ui.hpp:20
@ UIERROR_MISSINGVOL
Definition: ui.hpp:33
@ UIERROR_OPFAILED
Definition: ui.hpp:28
@ UIERROR_NEEDADMIN
Definition: ui.hpp:17
@ UIERROR_FILEATTR
Definition: ui.hpp:15
@ UIERROR_UNKNOWNEXTRA
Definition: ui.hpp:33
@ UIERROR_HEADERBROKEN
Definition: ui.hpp:18
@ UIERROR_MHEADERBROKEN
Definition: ui.hpp:18
@ UIMSG_RECVOLFOUND
Definition: ui.hpp:50
@ UIERROR_CHECKSUM
Definition: ui.hpp:11
@ UIERROR_FILESEEK
Definition: ui.hpp:13
@ UIMSG_RECVOLCALCCHECKSUM
Definition: ui.hpp:50
@ UIERROR_BADPSW
Definition: ui.hpp:12
@ UIERROR_UNKNOWNENCMETHOD
Definition: ui.hpp:21
@ UIERROR_INCOMPATSWITCH
Definition: ui.hpp:37
@ UIMSG_CORRECTINGNAME
Definition: ui.hpp:49
@ UIERROR_UOWNERGETOWNERID
Definition: ui.hpp:39
@ UIERROR_UOWNERGETGROUPID
Definition: ui.hpp:39
@ UIMSG_SKIPENCARC
Definition: ui.hpp:52
@ UIMSG_FAT32SIZE
Definition: ui.hpp:51
@ UIERROR_BADARCHIVE
Definition: ui.hpp:29
@ UIWAIT_BADPSW
Definition: ui.hpp:55
@ UIERROR_UNEXPEOF
Definition: ui.hpp:28
@ UIERROR_FILEREAD
Definition: ui.hpp:13
@ UIERROR_RECONSTRUCTING
Definition: ui.hpp:27
@ UIERROR_FILECLOSE
Definition: ui.hpp:13
@ UIERROR_SUBHEADERDATABROKEN
Definition: ui.hpp:20
@ UIERROR_CHECKSUMENC
Definition: ui.hpp:11
@ UIERROR_READERRCOUNT
Definition: ui.hpp:41
@ UIMSG_MISSINGVOL
Definition: ui.hpp:51
@ UIERROR_STREAMBROKEN
Definition: ui.hpp:37
@ UIERROR_FILERENAME
Definition: ui.hpp:14
@ UIERROR_ARCBROKEN
Definition: ui.hpp:17
@ UIERROR_RECVOLCANNOTFIX
Definition: ui.hpp:28
@ UIERROR_PATHTOOLONG
Definition: ui.hpp:38
@ UIERROR_FHEADERBROKEN
Definition: ui.hpp:18
@ UIERROR_NEEDPREVVOL
Definition: ui.hpp:33
@ UIMSG_STRING
Definition: ui.hpp:45
@ UIERROR_ACLBROKEN
Definition: ui.hpp:36
@ UIERROR_RECVOLDIFFSETS
Definition: ui.hpp:26
@ UIERROR_GENERALERRMSG
Definition: ui.hpp:10
@ UIERROR_NOFILESTOEXTRACT
Definition: ui.hpp:32
@ UIERROR_ACLSET
Definition: ui.hpp:36
@ UIERROR_READERRTRUNCATED
Definition: ui.hpp:41
@ UIERROR_INVALIDNAME
Definition: ui.hpp:29
@ UIMSG_RECONSTRUCTING
Definition: ui.hpp:51
@ UIMSG_RECVOLMISSING
Definition: ui.hpp:50
@ UIERROR_UNKNOWNMETHOD
Definition: ui.hpp:20
@ UIERROR_NTFSREQUIRED
Definition: ui.hpp:34
@ UIERROR_RECYCLEFAILED
Definition: ui.hpp:14
@ UIERROR_UOWNERBROKEN
Definition: ui.hpp:39
@ UIERROR_RENAMING
Definition: ui.hpp:21
@ UIERROR_FILEDELETE
Definition: ui.hpp:14
@ UIERROR_RECVOLALLEXIST
Definition: ui.hpp:27
@ UIERROR_NOLINKTARGET
Definition: ui.hpp:17
@ UIERROR_SUBHEADERBROKEN
Definition: ui.hpp:19
@ UIERROR_DIRNAMEEXISTS
Definition: ui.hpp:42
@ UIERROR_SLINKCREATE
Definition: ui.hpp:16
@ UIMSG_CREATING
Definition: ui.hpp:49
@ UIERROR_ULINKREAD
Definition: ui.hpp:40
@ UIERROR_CORRUPTEXTRA
Definition: ui.hpp:34
@ UIERROR_CHECKSUMPACKED
Definition: ui.hpp:11
@ UIERROR_FILECREATE
Definition: ui.hpp:12
@ UIERROR_FILEOPEN
Definition: ui.hpp:12
@ UIMSG_RENAMING
Definition: ui.hpp:49
@ UIERROR_UOWNERSET
Definition: ui.hpp:40
static SOUND_NOTIFY_MODE uiSoundNotify
Definition: uicommon.cpp:1
bool uiAskNextVolume(wchar *VolName, size_t MaxSize)
Definition: uiconsole.cpp:433
bool uiIsGlobalPasswordSet()
Definition: uiconsole.cpp:407
void uiProcessProgress(const char *Command, int64 CurSize, int64 TotalSize)
Definition: uiconsole.cpp:82
void uiAlarm(UIALARM_TYPE Type)
Definition: uiconsole.cpp:413
bool uiGetPassword(UIPASSWORD_TYPE Type, const wchar *FileName, SecPassword *Password)
Definition: uiconsole.cpp:398
void uiAskRepeatRead(const wchar *FileName, bool &Ignore, bool &All, bool &Retry, bool &Quit)
Definition: uiconsole.cpp:440
bool uiAskRepeatWrite(const wchar *FileName, bool DiskFull)
Definition: uiconsole.cpp:452
UIASKREP_RESULT uiAskReplace(wchar *Name, size_t MaxNameSize, int64 FileSize, RarTime *FileTime, uint Flags)
Definition: uiconsole.cpp:4
void uiEolAfterMsg()
Definition: uiconsole.cpp:472
const wchar * uiGetMonthName(int Month)
Definition: uiconsole.cpp:461
bool uiStartFileExtract(const wchar *FileName, bool Extract, bool Test, bool Skip)
Definition: uiconsole.cpp:66
static bool AnyMessageDisplayed
Definition: uiconsole.cpp:1
void uiStartArchiveExtract(bool Extract, const wchar *ArcName)
Definition: uiconsole.cpp:60
void uiExtractProgress(int64 CurFileSize, int64 TotalFileSize, int64 CurSize, int64 TotalSize)
Definition: uiconsole.cpp:72