summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2008-05-23 19:05:20 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2008-05-23 19:05:20 +0000
commit9c3bbc3bf9685db4887dc5fa1ffc558811ce78b9 (patch)
tree7313272f283c2703bbfa659d2a1c9d826afe069f
parent3de96af1252c5ec6e4765cf583460b334d516210 (diff)
downloadrockbox-9c3bbc3bf9685db4887dc5fa1ffc558811ce78b9.tar.gz
rockbox-9c3bbc3bf9685db4887dc5fa1ffc558811ce78b9.zip
Move error message generation out of irivertools.cpp to make it independent from the GUI. First step to improve code reuse later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17614 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/installbootloader.cpp73
-rw-r--r--rbutil/rbutilqt/irivertools/irivertools.cpp101
-rw-r--r--rbutil/rbutilqt/irivertools/irivertools.h13
3 files changed, 109 insertions, 78 deletions
diff --git a/rbutil/rbutilqt/installbootloader.cpp b/rbutil/rbutilqt/installbootloader.cpp
index 3f28323c8c..10f6a9f678 100644
--- a/rbutil/rbutilqt/installbootloader.cpp
+++ b/rbutil/rbutilqt/installbootloader.cpp
@@ -312,7 +312,7 @@ void BootloaderInstaller::gigabeatPrepare()
312 QString url = m_bootloaderUrlBase + "/gigabeat/" + m_bootloadername; 312 QString url = m_bootloaderUrlBase + "/gigabeat/" + m_bootloadername;
313 313
314 m_dp->addItem(tr("Downloading file %1.%2") 314 m_dp->addItem(tr("Downloading file %1.%2")
315 .arg(QFileInfo(url).baseName(), QFileInfo(url).completeSuffix()),LOGINFO); 315 .arg(QFileInfo(url).baseName(), QFileInfo(url).completeSuffix()),LOGINFO);
316 316
317 // temporary file needs to be opened to get the filename 317 // temporary file needs to be opened to get the filename
318 downloadFile.open(); 318 downloadFile.open();
@@ -325,11 +325,11 @@ void BootloaderInstaller::gigabeatPrepare()
325 connect(getter, SIGNAL(done(bool)), this, SLOT(downloadDone(bool))); 325 connect(getter, SIGNAL(done(bool)), this, SLOT(downloadDone(bool)));
326 connect(getter, SIGNAL(dataReadProgress(int, int)), this, SLOT(updateDataReadProgress(int, int))); 326 connect(getter, SIGNAL(dataReadProgress(int, int)), this, SLOT(updateDataReadProgress(int, int)));
327 connect(m_dp, SIGNAL(aborted()), getter, SLOT(abort())); 327 connect(m_dp, SIGNAL(aborted()), getter, SLOT(abort()));
328 328
329 getter->getFile(QUrl(url)); 329 getter->getFile(QUrl(url));
330 } 330 }
331 else //UnInstallation 331 else //UnInstallation
332 { 332 {
333 QString firmware; 333 QString firmware;
334 firmware = resolvePathCase(m_mountpoint + "/GBSYSTEM/FWIMG/FWIMG01.DAT"); 334 firmware = resolvePathCase(m_mountpoint + "/GBSYSTEM/FWIMG/FWIMG01.DAT");
335 QString firmwareOrig = resolvePathCase(firmware.append(".ORIG")); 335 QString firmwareOrig = resolvePathCase(firmware.append(".ORIG"));
@@ -339,7 +339,7 @@ void BootloaderInstaller::gigabeatPrepare()
339 // check if original firmware exists 339 // check if original firmware exists
340 if(!firmwareOrigFI.exists()) 340 if(!firmwareOrigFI.exists())
341 { 341 {
342 m_dp->addItem(tr("Could not find the Original Firmware at: %1") 342 m_dp->addItem(tr("Could not find the Original Firmware at: %1")
343 .arg(firmwareOrig),LOGERROR); 343 .arg(firmwareOrig),LOGERROR);
344 emit done(true); 344 emit done(true);
345 return; 345 return;
@@ -351,7 +351,7 @@ void BootloaderInstaller::gigabeatPrepare()
351 //remove modified firmware 351 //remove modified firmware
352 if(!firmwareFile.remove()) 352 if(!firmwareFile.remove())
353 { 353 {
354 m_dp->addItem(tr("Could not remove the Firmware at: %1") 354 m_dp->addItem(tr("Could not remove the Firmware at: %1")
355 .arg(firmware),LOGERROR); 355 .arg(firmware),LOGERROR);
356 emit done(true); 356 emit done(true);
357 return; 357 return;
@@ -360,7 +360,7 @@ void BootloaderInstaller::gigabeatPrepare()
360 // rename original firmware back 360 // rename original firmware back
361 if(!firmwareOrigFile.rename(firmware)) 361 if(!firmwareOrigFile.rename(firmware))
362 { 362 {
363 m_dp->addItem(tr("Could not copy the Firmware from: %1 to %2") 363 m_dp->addItem(tr("Could not copy the Firmware from: %1 to %2")
364 .arg(firmwareOrig,firmware),LOGERROR); 364 .arg(firmwareOrig,firmware),LOGERROR);
365 emit done(true); 365 emit done(true);
366 return; 366 return;
@@ -369,7 +369,7 @@ void BootloaderInstaller::gigabeatPrepare()
369 removeInstallLog(); 369 removeInstallLog();
370 370
371 emit done(false); //success 371 emit done(false); //success
372 } 372 }
373 373
374} 374}
375 375
@@ -1330,9 +1330,22 @@ void BootloaderInstaller::iriverFinish()
1330 newHex.close(); 1330 newHex.close();
1331 1331
1332 // iriver decode 1332 // iriver decode
1333 if (iriver_decode(m_origfirmware, firmwareBinName, FALSE, STRIP_NONE,m_dp) == -1) 1333 int result;
1334 { 1334 if ((result = iriver_decode(m_origfirmware, firmwareBinName, FALSE, STRIP_NONE)) < 0)
1335 m_dp->addItem(tr("Error in descramble"),LOGERROR); 1335 {
1336 QString error;
1337 switch(result) {
1338 case -1: error = tr("Can't open input file"); break;
1339 case -2: error = tr("Can't open output file"); break;
1340 case -3: error = tr("invalid file: header length wrong"); break;
1341 case -4: error = tr("invalid file: unrecognized header"); break;
1342 case -5: error = tr("invalid file: \"length\" field wrong"); break;
1343 case -6: error = tr("invalid file: \"length2\" field wrong"); break;
1344 case -7: error = tr("invalid file: internal checksum error"); break;
1345 case -8: error = tr("invalid file: \"length3\" field wrong"); break;
1346 default: error = tr("unknown"); break;
1347 }
1348 m_dp->addItem(tr("Error in descramble: %1").arg(error), LOGERROR);
1336 firmwareBin.remove(); 1349 firmwareBin.remove();
1337 newBin.remove(); 1350 newBin.remove();
1338 newHex.remove(); 1351 newHex.remove();
@@ -1340,9 +1353,20 @@ void BootloaderInstaller::iriverFinish()
1340 return; 1353 return;
1341 } 1354 }
1342 // mkboot 1355 // mkboot
1343 if (!mkboot(firmwareBinName, newBinName, m_tempfilename, origin,m_dp)) 1356 if((result = mkboot(firmwareBinName, newBinName, m_tempfilename, origin)) < 0)
1344 { 1357 {
1345 m_dp->addItem(tr("Error in patching"),LOGERROR); 1358 QString error;
1359 switch(result) {
1360 case -1: error = tr("could not open input file"); break;
1361 case -2: error = tr("reading header failed"); break;
1362 case -3: error = tr("reading firmware failed"); break;
1363 case -4: error = tr("can't open bootloader file"); break;
1364 case -5: error = tr("reading bootloader file failed"); break;
1365 case -6: error = tr("can't open output file"); break;
1366 case -7: error = tr("writing output file failed"); break;
1367 }
1368 m_dp->addItem(tr("Error in patching: %1").arg(error), LOGERROR);
1369
1346 firmwareBin.remove(); 1370 firmwareBin.remove();
1347 newBin.remove(); 1371 newBin.remove();
1348 newHex.remove(); 1372 newHex.remove();
@@ -1350,9 +1374,22 @@ void BootloaderInstaller::iriverFinish()
1350 return; 1374 return;
1351 } 1375 }
1352 // iriver_encode 1376 // iriver_encode
1353 if (iriver_encode(newBinName, newHexName, FALSE,m_dp) == -1) 1377 if((result = iriver_encode(newBinName, newHexName, FALSE)) < 0)
1354 { 1378 {
1355 m_dp->addItem(tr("Error in scramble"),LOGERROR); 1379 QString error;
1380 switch(result) {
1381 case -1: error = tr("Can't open input file"); break;
1382 case -2: error = tr("Can't open output file"); break;
1383 case -3: error = tr("invalid file: header length wrong"); break;
1384 case -4: error = tr("invalid file: unrecognized header"); break;
1385 case -5: error = tr("invalid file: \"length\" field wrong"); break;
1386 case -6: error = tr("invalid file: \"length2\" field wrong"); break;
1387 case -7: error = tr("invalid file: internal checksum error"); break;
1388 case -8: error = tr("invalid file: \"length3\" field wrong"); break;
1389 default: error = tr("unknown"); break;
1390 }
1391 m_dp->addItem(tr("Error in scramble: %1").arg(error), LOGERROR);
1392
1356 firmwareBin.remove(); 1393 firmwareBin.remove();
1357 newBin.remove(); 1394 newBin.remove();
1358 newHex.remove(); 1395 newHex.remove();
diff --git a/rbutil/rbutilqt/irivertools/irivertools.cpp b/rbutil/rbutilqt/irivertools/irivertools.cpp
index af06e86e06..2bcd9ffb80 100644
--- a/rbutil/rbutilqt/irivertools/irivertools.cpp
+++ b/rbutil/rbutilqt/irivertools/irivertools.cpp
@@ -18,9 +18,9 @@
18 * 18 *
19 ****************************************************************************/ 19 ****************************************************************************/
20 20
21#include <QtCore>
21#include "irivertools.h" 22#include "irivertools.h"
22 23
23
24const unsigned char munge[] = { 24const unsigned char munge[] = {
25 0x7a, 0x36, 0xc4, 0x43, 0x49, 0x6b, 0x35, 0x4e, 0xa3, 0x46, 0x25, 0x84, 25 0x7a, 0x36, 0xc4, 0x43, 0x49, 0x6b, 0x35, 0x4e, 0xa3, 0x46, 0x25, 0x84,
26 0x4d, 0x73, 0x74, 0x61 26 0x4d, 0x73, 0x74, 0x61
@@ -47,7 +47,7 @@ const unsigned char header[][16] = {
47/* begin mkboot.c excerpt */ 47/* begin mkboot.c excerpt */
48unsigned char image[0x400000 + 0x220 + 0x400000/0x200]; 48unsigned char image[0x400000 + 0x220 + 0x400000/0x200];
49 49
50bool mkboot(QString infile, QString outfile,QString bootloader,int origin,ProgressloggerInterface* dp) 50int mkboot(QString infile, QString outfile, QString bootloader, int origin)
51{ 51{
52 int i; 52 int i;
53 int len,bllen; 53 int len,bllen;
@@ -59,13 +59,13 @@ bool mkboot(QString infile, QString outfile,QString bootloader,int origin,Progre
59 QFile f(infile); 59 QFile f(infile);
60 if(!f.open(QIODevice::ReadOnly)) 60 if(!f.open(QIODevice::ReadOnly))
61 { 61 {
62 dp->addItem("Could not open: %1" + infile,LOGERROR); 62 // can't open input file
63 return false; 63 return -1;
64 } 64 }
65 i = f.read((char*)image,16); 65 i = f.read((char*)image,16);
66 if(i < 16) { 66 if(i < 16) {
67 dp->addItem("reading header failed",LOGERROR); 67 // reading header failed
68 return false; 68 return -2;
69 } 69 }
70 70
71 /* This is the length of the binary image without the scrambling 71 /* This is the length of the binary image without the scrambling
@@ -77,8 +77,8 @@ bool mkboot(QString infile, QString outfile,QString bootloader,int origin,Progre
77 len = binary_length+0x200-16; 77 len = binary_length+0x200-16;
78 i = f.read((char*)image+16, len); 78 i = f.read((char*)image+16, len);
79 if(i < len) { 79 if(i < len) {
80 dp->addItem("reading firmware failed",LOGERROR); 80 // reading firmware failed
81 return false; 81 return -3;
82 } 82 }
83 83
84 f.close(); 84 f.close();
@@ -86,24 +86,24 @@ bool mkboot(QString infile, QString outfile,QString bootloader,int origin,Progre
86 f.setFileName(bootloader); 86 f.setFileName(bootloader);
87 if(!f.open(QIODevice::ReadOnly)) 87 if(!f.open(QIODevice::ReadOnly))
88 { 88 {
89 dp->addItem("Could not open: %1" + bootloader,LOGERROR); 89 // can't open bootloader file
90 return false; 90 return -4;
91 } 91 }
92 92
93 bllen = f.size(); 93 bllen = f.size();
94 94
95 i = f.read((char*)image+0x220 + origin, bllen); 95 i = f.read((char*)image+0x220 + origin, bllen);
96 if(i < bllen) { 96 if(i < bllen) {
97 dp->addItem("reading bootloader failed",LOGERROR); 97 // reading bootloader file failed
98 return false; 98 return -5;
99 } 99 }
100 100
101 f.close(); 101 f.close();
102 f.setFileName(outfile); 102 f.setFileName(outfile);
103 if(!f.open(QIODevice::WriteOnly)) 103 if(!f.open(QIODevice::WriteOnly))
104 { 104 {
105 dp->addItem("Could not open: %1" + outfile,LOGERROR); 105 // can't open output file
106 return false; 106 return -6;
107 } 107 }
108 108
109 /* Patch the reset vector to start the boot loader */ 109 /* Patch the reset vector to start the boot loader */
@@ -154,13 +154,13 @@ bool mkboot(QString infile, QString outfile,QString bootloader,int origin,Progre
154 154
155 i = f.write((char*)image,total_length); 155 i = f.write((char*)image,total_length);
156 if(i < total_length) { 156 if(i < total_length) {
157 dp->addItem("writing bootloader failed",LOGERROR); 157 // writing bootloader file failed
158 return false; 158 return -7;
159 } 159 }
160 160
161 f.close(); 161 f.close();
162 162
163 return true; 163 return 0;
164} 164}
165 165
166/* end mkboot.c excerpt */ 166/* end mkboot.c excerpt */
@@ -208,7 +208,7 @@ static void modifyheader( unsigned char * data )
208}; 208};
209 209
210int iriver_decode(QString infile_name, QString outfile_name, unsigned int modify, 210int iriver_decode(QString infile_name, QString outfile_name, unsigned int modify,
211 enum striptype stripmode,ProgressloggerInterface* dp ) 211 enum striptype stripmode)
212{ 212{
213 QFile infile(infile_name); 213 QFile infile(infile_name);
214 QFile outfile(outfile_name); 214 QFile outfile(outfile_name);
@@ -226,32 +226,30 @@ int iriver_decode(QString infile_name, QString outfile_name, unsigned int modify
226 226
227 if(!infile.open(QIODevice::ReadOnly)) 227 if(!infile.open(QIODevice::ReadOnly))
228 { 228 {
229 dp->addItem("Could not open: %1" + infile_name,LOGERROR); 229 // can't open input file
230 return -1; 230 return -1;
231 } 231 }
232 if(!outfile.open(QIODevice::WriteOnly)) 232 if(!outfile.open(QIODevice::WriteOnly))
233 { 233 {
234 dp->addItem("Could not open: %1" + outfile_name,LOGERROR); 234 // can't open output file
235 return -1; 235 return -2;
236 } 236 }
237 lenread = infile.read( (char*)headerdata, 512); 237 lenread = infile.read( (char*)headerdata, 512);
238 if( lenread != 512 ) 238 if( lenread != 512 )
239 { 239 {
240 dp->addItem("This doesn't look like a valid encrypted iHP" 240 // header length doesn't match
241 "firmware - reason: header length.",LOGERROR);
242 infile.close(); 241 infile.close();
243 outfile.close(); 242 outfile.close();
244 return -1; 243 return -3;
245 }; 244 };
246 245
247 i = testheader( headerdata ); 246 i = testheader( headerdata );
248 if( i == -1 ) 247 if( i == -1 )
249 { 248 {
250 dp->addItem("This firmware is for an unknown model, or is not" 249 // header unknown
251 " a valid encrypted iHP firmware.",LOGERROR);
252 infile.close(); 250 infile.close();
253 outfile.close(); 251 outfile.close();
254 return -1; 252 return -4;
255 }; 253 };
256 fprintf( stderr, "Model %s\n", models[ i ] ); 254 fprintf( stderr, "Model %s\n", models[ i ] );
257 255
@@ -270,11 +268,10 @@ int iriver_decode(QString infile_name, QString outfile_name, unsigned int modify
270 dwLength2>>9 != dwLength3 || 268 dwLength2>>9 != dwLength3 ||
271 dwLength2+dwLength3+512 != dwLength1 ) 269 dwLength2+dwLength3+512 != dwLength1 )
272 { 270 {
273 dp->addItem("This doesn't look like a valid encrypted " 271 // file 'length' data is wrong
274 "iHP firmware - reason: file 'length' data.",LOGERROR);
275 infile.close(); 272 infile.close();
276 outfile.close(); 273 outfile.close();
277 return -1; 274 return -5;
278 }; 275 };
279 276
280 pChecksums = ppChecksums = (unsigned char *)( malloc( dwLength3 ) ); 277 pChecksums = ppChecksums = (unsigned char *)( malloc( dwLength3 ) );
@@ -332,11 +329,10 @@ int iriver_decode(QString infile_name, QString outfile_name, unsigned int modify
332 329
333 if( fp != dwLength2 ) 330 if( fp != dwLength2 )
334 { 331 {
335 dp->addItem("This doesn't look like a valid encrypted " 332 // 'length2' field mismatch
336 "iHP firmware - reason: 'length2' mismatch.",LOGERROR);
337 infile.close(); 333 infile.close();
338 outfile.close(); 334 outfile.close();
339 return -1; 335 return -6;
340 }; 336 };
341 337
342 fp = 0; 338 fp = 0;
@@ -349,22 +345,20 @@ int iriver_decode(QString infile_name, QString outfile_name, unsigned int modify
349 outfile.write((char*) blockdata, lenread ); 345 outfile.write((char*) blockdata, lenread );
350 if( memcmp( ppChecksums, blockdata, lenread ) != 0 ) 346 if( memcmp( ppChecksums, blockdata, lenread ) != 0 )
351 { 347 {
352 dp->addItem("This doesn't look like a valid encrypted " 348 // file checksum wrong
353 "iHP firmware - reason: Checksum mismatch!",LOGERROR);
354 infile.close(); 349 infile.close();
355 outfile.close(); 350 outfile.close();
356 return -1; 351 return -7;
357 }; 352 };
358 ppChecksums += lenread; 353 ppChecksums += lenread;
359 }; 354 };
360 355
361 if( fp != dwLength3 ) 356 if( fp != dwLength3 )
362 { 357 {
363 dp->addItem("This doesn't look like a valid encrypted " 358 // 'length3' field mismatch
364 "iHP firmware - reason: 'length3' mismatch.",LOGERROR);
365 infile.close(); 359 infile.close();
366 outfile.close(); 360 outfile.close();
367 return -1; 361 return -8;
368 }; 362 };
369 363
370 364
@@ -392,7 +386,7 @@ int iriver_decode(QString infile_name, QString outfile_name, unsigned int modify
392 386
393}; 387};
394 388
395int iriver_encode(QString infile_name, QString outfile_name, unsigned int modify,ProgressloggerInterface* dp ) 389int iriver_encode(QString infile_name, QString outfile_name, unsigned int modify)
396{ 390{
397 QFile infile(infile_name); 391 QFile infile(infile_name);
398 QFile outfile(outfile_name); 392 QFile outfile(outfile_name);
@@ -409,22 +403,23 @@ int iriver_encode(QString infile_name, QString outfile_name, unsigned int modify
409 403
410 if(!infile.open(QIODevice::ReadOnly)) 404 if(!infile.open(QIODevice::ReadOnly))
411 { 405 {
412 dp->addItem("Could not open: %1" + infile_name,LOGERROR); 406 // can't open input file
413 return -1; 407 return -1;
414 } 408 }
415 if(!outfile.open(QIODevice::WriteOnly)) 409 if(!outfile.open(QIODevice::WriteOnly))
416 { 410 {
417 dp->addItem("Could not open: %1" + outfile_name,LOGERROR); 411 // can't open output file
418 return -1; 412 infile.close();
413 return -2;
419 } 414 }
420 415
421 lenread = infile.read((char*) headerdata, 512 ); 416 lenread = infile.read((char*) headerdata, 512 );
422 if( lenread != 512 ) 417 if( lenread != 512 )
423 { 418 {
424 dp->addItem("This doesn't look like a valid decoded " 419 // header length error
425 "iHP firmware - reason: header length.",LOGERROR);
426 infile.close(); 420 infile.close();
427 outfile.close(); 421 outfile.close();
422 return -3;
428 }; 423 };
429 424
430 if( modify ) 425 if( modify )
@@ -435,10 +430,10 @@ int iriver_encode(QString infile_name, QString outfile_name, unsigned int modify
435 i = testheader( headerdata ); 430 i = testheader( headerdata );
436 if( i == -1 ) 431 if( i == -1 )
437 { 432 {
438 dp->addItem("This firmware is for an unknown model, or is not" 433 // header verification error
439 " a valid decoded iHP firmware.",LOGERROR);
440 infile.close(); 434 infile.close();
441 outfile.close(); 435 outfile.close();
436 return -4;
442 }; 437 };
443 fprintf( stderr, "Model %s\n", models[ i ] ); 438 fprintf( stderr, "Model %s\n", models[ i ] );
444 439
@@ -456,10 +451,10 @@ int iriver_encode(QString infile_name, QString outfile_name, unsigned int modify
456 dwLength3 > dwLength1 || 451 dwLength3 > dwLength1 ||
457 dwLength2+dwLength3+512 != dwLength1 ) 452 dwLength2+dwLength3+512 != dwLength1 )
458 { 453 {
459 dp->addItem("This doesn't look like a valid decoded " 454 // file 'length' error
460 "iHP firmware - reason:file 'length' data.",LOGERROR);
461 infile.close(); 455 infile.close();
462 outfile.close(); 456 outfile.close();
457 return -5;
463 }; 458 };
464 459
465 pChecksums = ppChecksums = (unsigned char *)( malloc( dwLength3 ) ); 460 pChecksums = ppChecksums = (unsigned char *)( malloc( dwLength3 ) );
@@ -494,10 +489,10 @@ int iriver_encode(QString infile_name, QString outfile_name, unsigned int modify
494 489
495 if( fp != dwLength2 ) 490 if( fp != dwLength2 )
496 { 491 {
497 dp->addItem("This doesn't look like a valid decoded " 492 // file 'length1' mismatch
498 "iHP firmware - reason: 'length1' mismatch.",LOGERROR);
499 infile.close(); 493 infile.close();
500 outfile.close(); 494 outfile.close();
495 return -6;
501 }; 496 };
502 497
503 /* write out remainder w/out applying descrambler */ 498 /* write out remainder w/out applying descrambler */
@@ -514,10 +509,10 @@ int iriver_encode(QString infile_name, QString outfile_name, unsigned int modify
514 509
515 if( fp != dwLength3 ) 510 if( fp != dwLength3 )
516 { 511 {
517 dp->addItem("This doesn't look like a valid decoded " 512 // 'length2' field mismatch
518 "iHP firmware - 'length2' mismatch.",LOGERROR);
519 infile.close(); 513 infile.close();
520 outfile.close(); 514 outfile.close();
515 return -8;
521 }; 516 };
522 517
523 fprintf( stderr, "File encoded successfully and checksum table built!\n" ); 518 fprintf( stderr, "File encoded successfully and checksum table built!\n" );
diff --git a/rbutil/rbutilqt/irivertools/irivertools.h b/rbutil/rbutilqt/irivertools/irivertools.h
index d0d1de6730..4fae06e6d7 100644
--- a/rbutil/rbutilqt/irivertools/irivertools.h
+++ b/rbutil/rbutilqt/irivertools/irivertools.h
@@ -25,7 +25,6 @@
25#include <QtCore> 25#include <QtCore>
26 26
27#include "md5sum.h" 27#include "md5sum.h"
28#include "progressloggerinterface.h"
29 28
30#define ESTF_SIZE 32 29#define ESTF_SIZE 32
31 30
@@ -37,18 +36,18 @@ struct sumpairs {
37 36
38enum striptype 37enum striptype
39{ 38{
40 STRIP_NONE, 39 STRIP_NONE,
41 STRIP_HEADER_CHECKSUM, 40 STRIP_HEADER_CHECKSUM,
42 STRIP_HEADER_CHECKSUM_ESTF 41 STRIP_HEADER_CHECKSUM_ESTF
43}; 42};
44 43
45/* protos for iriver.c */ 44/* protos for iriver.c */
46 45
47int intable(char *md5, struct sumpairs *table, int len); 46int intable(char *md5, struct sumpairs *table, int len);
48 47
49bool mkboot(QString infile, QString outfile,QString bootloader,int origin,ProgressloggerInterface* dp); 48int mkboot(QString infile, QString outfile,QString bootloader,int origin);
50int iriver_decode(QString infile_name, QString outfile_name, unsigned int modify, 49int iriver_decode(QString infile_name, QString outfile_name, unsigned int modify,
51 enum striptype stripmode,ProgressloggerInterface* dp ); 50 enum striptype stripmode);
52int iriver_encode(QString infile_name, QString outfile_name, unsigned int modify,ProgressloggerInterface* dp); 51int iriver_encode(QString infile_name, QString outfile_name, unsigned int modify);
53 52
54#endif // IRIVERTOOLS_H_INCLUDED 53#endif // IRIVERTOOLS_H_INCLUDED