diff --git a/lib/par2/AUTHORS b/lib/par2/AUTHORS index 39eec7b1..cdab0d51 100644 --- a/lib/par2/AUTHORS +++ b/lib/par2/AUTHORS @@ -1,3 +1,3 @@ -par2cmdline 0.4: Peter Brian Clements +par2cmdline 0.4: Peter Brian Clements library API: Francois Lesueur changes for NZBGet: Andrey Prygunkov \ No newline at end of file diff --git a/lib/par2/README b/lib/par2/README index 3d770981..f43869f4 100644 --- a/lib/par2/README +++ b/lib/par2/README @@ -1,326 +1,326 @@ -Based on libpar2 v 0.4 (http://launchpad.net/libpar2), which -is a Debian/Ubuntu fork of original libpar2 (http://parchive.sourceforge.net), -which is a library for par2 based on par2cmdline 0.4. - -Changes made to libpar2-0.4: - - removed files not required for NZBGet; - - eliminated dependency from libsigc++ by changing of library - API to use virtual functions instead of sigc++ signals. - -par2cmdline README follows : - -------------------------------------------------------------- - -par2cmdline is a PAR 2.0 compatible file verification and repair tool. - -See http://parchive.sourceforge.net for details of PAR 2.0 specification -and discussion of all things PAR. - -WHAT EXACTLY IS PAR2CMDLINE? - -par2cmdline is a program for creating and using PAR2 files to detect -damage in data files and repair them if necessary. It can be used with -any kind of file. - -WHY IS PAR 2.0 better than PAR 1.0? - - * It is not necessary to split a single large file into many equally - size small files (although you can still do so if you wish). - - * There is no loss of efficiency when operating on multiple files - of different sizes. - - * It is possible to repair damaged files (using exactly the amount of - recovery data that corresponds to the amount of damage), rather than - requiring the complete reconstruction of the damaged file. - - * Recovery files may be of different sizes making it possible to - obtain exactly the amount of recovery data required to carry out - a repair. - - * Because damaged data files are still useable during the recovery - process, less recovery data is required to achieve a successfull - repair. It is not therefore necessary to create as much recovery - data in the first place to achieve the same level of protection. - - * You can protect up to 32768 files rather than the 256 that PAR 1.0 - is limited to. - - * Damaged or incomplete recovery files can also be used during the - recovery process in the same way that damaged data files can. - - * You require less recovery data to provide the same level of protection - from damage compared with PAR 1.0. - -DOES PAR 2.0 HAVE ANY DISSADVANTAGES? - -Yes, there is one dissadvantage: - - * All PAR 2.0 program will take somewhat longer to create recovery - files than a PAR 1.0 program does. - -This dissadvantage is considerably mitigated by the fact that you don't -need to create as much recovery data in the first place to provide the -same level of protection against loss and damage. - -COMPILING PAR2CMDLINE - -You should have received par2cmdline in the form of source code which -you can compile on your computer. You may optionally have received a -pre-compiled version of the program for your operating system. - -If you have only downloaded a precompiled executable, then the source -code should be available from the same location that you downloaded the -executable from. - -If you have MS Visual Studio .NET, then just open the par2cmdline.sln -file and compile. You should then copy par2cmdline.exe to an appropriate -location that is on your path. - -To compile on Linux and other unix variants use the following commands: - - ./configure - make - make check - make install - -See INSTALL for full details of how to use the "configure" script. - -USING PAR2CMDLINE - -The command line parameters for par2cmdline are as follow: - - par2 c(reate) [options] [files] - par2 v(erify) [options] [files] - par2 r(epair) [options] [files] - - Also: - - par2create [options] [files] - par2verify [options] [files] - par2repair [options] [files] - - Options: - - -b : Set the Block-Count - -s : Set the Block-Size (Don't use both -b and -s) - -r : Level of Redundancy (%) - -c : Recovery block count (don't use both -r and -c) - -f : First Recovery-Block-Number - -u : Uniform recovery file sizes - -l : Limit size of recovery files (Don't use both -u and -l) - -n : Number of recovery files (Don't use both -n and -l) - -m : Memory (in MB) to use - -v [-v]: Be more verbose - -q [-q]: Be more quiet (-qq gives silence) - -- : Treat all remaining CommandLine as filenames - -If you wish to create par2 files for a single source file, you may leave -out the name of the par2 file from the command line. par2cmdline will then -assume that you wish to base the filenames for the par2 files on the name -of the source file. - -You may also leave off the .par2 file extension when verifying and repairing. - -CREATING PAR2 FILES - -With PAR 2.0 you can create PAR2 recovery files for as few as 1 or as many as -32768 files. If you wanted to create PAR1 recovery files for a single file -you are forced to split the file into muliple parts and RAR is frequently -used for this purpose. You do NOT need to split files with PAR 2.0. - -To create PAR 2 recovery files for a single data file (e.g. one called -test.mpg), you can use the following command: - - par2 create test.mpg - -If test.mpg is an 800 MB file, then this will create a total of 8 PAR2 files -with the following filenames (taking roughly 6 minutes on a PC with a -1500MHz CPU): - - test.mpg.par2 - This is an index file for verification only - test.mpg.vol00+01.par2 - Recovery file with 1 recovery block - test.mpg.vol01+02.par2 - Recovery file with 2 recovery blocks - test.mpg.vol03+04.par2 - Recovery file with 4 recovery blocks - test.mpg.vol07+08.par2 - Recovery file with 8 recovery blocks - test.mpg.vol15+16.par2 - Recovery file with 16 recovery blocks - test.mpg.vol31+32.par2 - Recovery file with 32 recovery blocks - test.mpg.vol63+37.par2 - Recovery file with 37 recovery blocks - -The test.mpg.par2 file is 39 KB in size and the other files vary in size from -443 KB to 15 MB. - -These par2 files will enable the recovery of up to 100 errors totalling 40 MB -of lost or damaged data from the original test.mpg file when it and the par2 -files are posted on UseNet. - -When posting on UseNet it is recommended that you use the "-s" option to set -a blocksize that is equal to the Article size that you will use to post the -data file. If you wanted to post the test.mpg file using an article size -of 300 KB then the command you would type is: - - par2 create -s307200 test.mpg - -This will create 9 PAR2 files instead of 8, and they will be capable of -correcting up to 134 errors totalling 40 MB. It will take roughly 8 minutes -to create the recovery files this time. - -In both of these two examples, the total quantity of recovery data created -was 40 MB (which is 5% of 800 MB). If you wish to create a greater or lesser -quantity of recovery data, you can use the "-r" option. - -To create 10% recovery data instead of the default of 5% and also to use a -block size of 300 KB, you would use the following command: - - par2 create -s307200 -r10 test.mpg - -This would also create 9 PAR2 files, but they would be able to correct up to -269 errors totalling 80 MB. Since twice as much recovery data is created, it -will take about 16 minutes to do so with a 1500MHz CPU. - -The "-u" and "-n" options can be used to control exactly how many recovery -files are created and how the recovery blocks are distributed amoungst them. -They do not affect the total quantity of recovery data created. - -The "-f" option is used when you create additional recovery data. - -e.g. If you have already created 10% and want another 5% then you migh use -the following command: - - par2 create -s307200 -r5 -f300 test.mpg - -This specifies the same block size (which is a requirement for additional -recovery files), 5% recovery data, and a first block number of 300. - -The "-m" option controls how much memory par2cmdline uses. It defaults to -16 MB unless you override it. - -CREATING PAR2 FILES FOR MULTIPLE DATA FILES - -When creating PAR2 recovery files form multiple data files, you must specify -the base filename to use for the par2 files and the names of all of the data -files. - -If test.mpg had been split into multiple RAR files, then you could use: - - par2 create test.mpg.rar.par2 test.mpg.part*.rar - -The files filename "test.mpg.rar.par2" says what you want the par2 files to -be called and "test.mpg.part*.rar" should select all of the RAR files. - -VERIFYING AND REPAIRING - -When using par2 recovery files to verify or repair the data files from -which they were created, you only need to specify the filename of one -of the par2 files to par2cmdline. - -e.g.: - - par2 verify test.mpg.par2 - -This tells par2cmdline to use the information in test.mpg.par2 to verify the -data files. - -par2cmdline will automatically search for the other par2 files that were -created and use the information they contain to determine the filenames -of the original data files and then to verify them. - -If all of the data files are ok, then par2cmdline will report that repair -will not be required. - -If any of the data files are missing or damaged, par2cmdline will report -the details of what it has found. If the recovery files contain enough -recovery blocks to repair the damage, you will be told that repair is -possible. Otherwise you will be told exactly how many recovery blocks -will be required in order to repair. - -To carry out a repair use the following command: - - par2 repair test.mpg.par2 - -This tells par2cmdline to verify and if possible repair any damaged or -missing files. If a repair is carried out, then each file which is -repaired will be re-verified to confirm that the repair was successful. - -MISSNAMED AND INCOMPLETE DATA FILES - -If any of the recovery files or data files have the wrong filename, then -par2cmdline will not automatically find and scan them. - -To have par2cmdline scan such files, you must include them on the command -line when attempting to verify or repair. - -e.g.: - - par2 r test.mpg.par2 other.mpg - -This tells par2cmdline to scan the file called other.mpg to see if it -contains any data belonging to the original data files. - -If one of the extra files specified in this way is an exact match -for a data file, then the repair process will rename the file so that -it has the correct filename. - -Because par2cmdline is designed to be able to find good data within a -damaged file, it can do the same with incomplete files downloaded from -UseNet. If some of the articles for a file are missing, you should still -download the file and save it to disk for par2cmdline to scan. If you -do this then you may find that you can carry out a repair in a situation -where you would not otherwise have sufficient recovery data. - -You can have par2cmdline scan all files that are in the current directory -using a command such as: - - par2 r test.mpg.par2 * - -WHAT TO DO WHEN YOU ARE TOLD YOU NEED MORE RECOVERY BLOCKS - -If par2cmdline determines that any of the data files are damaged or -missing and finds that there is insufficient recovery data to effect -a repair, you will be told that you need a certain number of recovery -blocks. You can obtain these by downloading additional recovery files. - -In order to make things easy, par2 files have filenames that tell you -exactly how many recovery blocks each one contains. - -Assuming that the following command was used to create recovery data: - - par2 c -b1000 -r5 test.mpg - -Then the recovery files that are created would be called: - - test.mpg.par2 - test.mpg.vol00+01.par2 - test.mpg.vol01+02.par2 - test.mpg.vol03+04.par2 - test.mpg.vol07+08.par2 - test.mpg.vol15+16.par2 - test.mpg.vol31+19.par2 - -The first file in this list does not contain any recovery data, it only -contains information sufficient to verify the data files. - -Each of the other files contains a different number of recovery blocks. -The number after the '+' sign is the number of recovery blocks and the -number preceding the '+' sign is the block number of the first recovery -block in that file. - -If par2cmdline told you that you needed 10 recovery blocks, then you would -need "test.mpg.vol01+02.par2" and "test.mpg.vol07+08.par". You might of course -choose to fetch "test.mpg.vol15+16.par2" instead (in which case you would have -an extra 6 recovery blocks which would not be used for the repair). - -NOTES - -This version of par2cmdline does not support recording path information for -files. Whilst you can create recovery files for files from multiple locations, -it will expect all files to be in the current directory when verifying and -repairing. This limitation will be corrected in an update. - -REED SOLOMON CODING - -PAR2 uses Reed Solomon Coding to perform its calculations. For details of this -coding technique try the following link: - -``A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems'' - +Based on libpar2 v 0.4 (http://launchpad.net/libpar2), which +is a Debian/Ubuntu fork of original libpar2 (http://parchive.sourceforge.net), +which is a library for par2 based on par2cmdline 0.4. + +Changes made to libpar2-0.4: + - removed files not required for NZBGet; + - eliminated dependency from libsigc++ by changing of library + API to use virtual functions instead of sigc++ signals. + +par2cmdline README follows : + +------------------------------------------------------------- + +par2cmdline is a PAR 2.0 compatible file verification and repair tool. + +See http://parchive.sourceforge.net for details of PAR 2.0 specification +and discussion of all things PAR. + +WHAT EXACTLY IS PAR2CMDLINE? + +par2cmdline is a program for creating and using PAR2 files to detect +damage in data files and repair them if necessary. It can be used with +any kind of file. + +WHY IS PAR 2.0 better than PAR 1.0? + + * It is not necessary to split a single large file into many equally + size small files (although you can still do so if you wish). + + * There is no loss of efficiency when operating on multiple files + of different sizes. + + * It is possible to repair damaged files (using exactly the amount of + recovery data that corresponds to the amount of damage), rather than + requiring the complete reconstruction of the damaged file. + + * Recovery files may be of different sizes making it possible to + obtain exactly the amount of recovery data required to carry out + a repair. + + * Because damaged data files are still useable during the recovery + process, less recovery data is required to achieve a successfull + repair. It is not therefore necessary to create as much recovery + data in the first place to achieve the same level of protection. + + * You can protect up to 32768 files rather than the 256 that PAR 1.0 + is limited to. + + * Damaged or incomplete recovery files can also be used during the + recovery process in the same way that damaged data files can. + + * You require less recovery data to provide the same level of protection + from damage compared with PAR 1.0. + +DOES PAR 2.0 HAVE ANY DISSADVANTAGES? + +Yes, there is one dissadvantage: + + * All PAR 2.0 program will take somewhat longer to create recovery + files than a PAR 1.0 program does. + +This dissadvantage is considerably mitigated by the fact that you don't +need to create as much recovery data in the first place to provide the +same level of protection against loss and damage. + +COMPILING PAR2CMDLINE + +You should have received par2cmdline in the form of source code which +you can compile on your computer. You may optionally have received a +pre-compiled version of the program for your operating system. + +If you have only downloaded a precompiled executable, then the source +code should be available from the same location that you downloaded the +executable from. + +If you have MS Visual Studio .NET, then just open the par2cmdline.sln +file and compile. You should then copy par2cmdline.exe to an appropriate +location that is on your path. + +To compile on Linux and other unix variants use the following commands: + + ./configure + make + make check + make install + +See INSTALL for full details of how to use the "configure" script. + +USING PAR2CMDLINE + +The command line parameters for par2cmdline are as follow: + + par2 c(reate) [options] [files] + par2 v(erify) [options] [files] + par2 r(epair) [options] [files] + + Also: + + par2create [options] [files] + par2verify [options] [files] + par2repair [options] [files] + + Options: + + -b : Set the Block-Count + -s : Set the Block-Size (Don't use both -b and -s) + -r : Level of Redundancy (%) + -c : Recovery block count (don't use both -r and -c) + -f : First Recovery-Block-Number + -u : Uniform recovery file sizes + -l : Limit size of recovery files (Don't use both -u and -l) + -n : Number of recovery files (Don't use both -n and -l) + -m : Memory (in MB) to use + -v [-v]: Be more verbose + -q [-q]: Be more quiet (-qq gives silence) + -- : Treat all remaining CommandLine as filenames + +If you wish to create par2 files for a single source file, you may leave +out the name of the par2 file from the command line. par2cmdline will then +assume that you wish to base the filenames for the par2 files on the name +of the source file. + +You may also leave off the .par2 file extension when verifying and repairing. + +CREATING PAR2 FILES + +With PAR 2.0 you can create PAR2 recovery files for as few as 1 or as many as +32768 files. If you wanted to create PAR1 recovery files for a single file +you are forced to split the file into muliple parts and RAR is frequently +used for this purpose. You do NOT need to split files with PAR 2.0. + +To create PAR 2 recovery files for a single data file (e.g. one called +test.mpg), you can use the following command: + + par2 create test.mpg + +If test.mpg is an 800 MB file, then this will create a total of 8 PAR2 files +with the following filenames (taking roughly 6 minutes on a PC with a +1500MHz CPU): + + test.mpg.par2 - This is an index file for verification only + test.mpg.vol00+01.par2 - Recovery file with 1 recovery block + test.mpg.vol01+02.par2 - Recovery file with 2 recovery blocks + test.mpg.vol03+04.par2 - Recovery file with 4 recovery blocks + test.mpg.vol07+08.par2 - Recovery file with 8 recovery blocks + test.mpg.vol15+16.par2 - Recovery file with 16 recovery blocks + test.mpg.vol31+32.par2 - Recovery file with 32 recovery blocks + test.mpg.vol63+37.par2 - Recovery file with 37 recovery blocks + +The test.mpg.par2 file is 39 KB in size and the other files vary in size from +443 KB to 15 MB. + +These par2 files will enable the recovery of up to 100 errors totalling 40 MB +of lost or damaged data from the original test.mpg file when it and the par2 +files are posted on UseNet. + +When posting on UseNet it is recommended that you use the "-s" option to set +a blocksize that is equal to the Article size that you will use to post the +data file. If you wanted to post the test.mpg file using an article size +of 300 KB then the command you would type is: + + par2 create -s307200 test.mpg + +This will create 9 PAR2 files instead of 8, and they will be capable of +correcting up to 134 errors totalling 40 MB. It will take roughly 8 minutes +to create the recovery files this time. + +In both of these two examples, the total quantity of recovery data created +was 40 MB (which is 5% of 800 MB). If you wish to create a greater or lesser +quantity of recovery data, you can use the "-r" option. + +To create 10% recovery data instead of the default of 5% and also to use a +block size of 300 KB, you would use the following command: + + par2 create -s307200 -r10 test.mpg + +This would also create 9 PAR2 files, but they would be able to correct up to +269 errors totalling 80 MB. Since twice as much recovery data is created, it +will take about 16 minutes to do so with a 1500MHz CPU. + +The "-u" and "-n" options can be used to control exactly how many recovery +files are created and how the recovery blocks are distributed amoungst them. +They do not affect the total quantity of recovery data created. + +The "-f" option is used when you create additional recovery data. + +e.g. If you have already created 10% and want another 5% then you migh use +the following command: + + par2 create -s307200 -r5 -f300 test.mpg + +This specifies the same block size (which is a requirement for additional +recovery files), 5% recovery data, and a first block number of 300. + +The "-m" option controls how much memory par2cmdline uses. It defaults to +16 MB unless you override it. + +CREATING PAR2 FILES FOR MULTIPLE DATA FILES + +When creating PAR2 recovery files form multiple data files, you must specify +the base filename to use for the par2 files and the names of all of the data +files. + +If test.mpg had been split into multiple RAR files, then you could use: + + par2 create test.mpg.rar.par2 test.mpg.part*.rar + +The files filename "test.mpg.rar.par2" says what you want the par2 files to +be called and "test.mpg.part*.rar" should select all of the RAR files. + +VERIFYING AND REPAIRING + +When using par2 recovery files to verify or repair the data files from +which they were created, you only need to specify the filename of one +of the par2 files to par2cmdline. + +e.g.: + + par2 verify test.mpg.par2 + +This tells par2cmdline to use the information in test.mpg.par2 to verify the +data files. + +par2cmdline will automatically search for the other par2 files that were +created and use the information they contain to determine the filenames +of the original data files and then to verify them. + +If all of the data files are ok, then par2cmdline will report that repair +will not be required. + +If any of the data files are missing or damaged, par2cmdline will report +the details of what it has found. If the recovery files contain enough +recovery blocks to repair the damage, you will be told that repair is +possible. Otherwise you will be told exactly how many recovery blocks +will be required in order to repair. + +To carry out a repair use the following command: + + par2 repair test.mpg.par2 + +This tells par2cmdline to verify and if possible repair any damaged or +missing files. If a repair is carried out, then each file which is +repaired will be re-verified to confirm that the repair was successful. + +MISSNAMED AND INCOMPLETE DATA FILES + +If any of the recovery files or data files have the wrong filename, then +par2cmdline will not automatically find and scan them. + +To have par2cmdline scan such files, you must include them on the command +line when attempting to verify or repair. + +e.g.: + + par2 r test.mpg.par2 other.mpg + +This tells par2cmdline to scan the file called other.mpg to see if it +contains any data belonging to the original data files. + +If one of the extra files specified in this way is an exact match +for a data file, then the repair process will rename the file so that +it has the correct filename. + +Because par2cmdline is designed to be able to find good data within a +damaged file, it can do the same with incomplete files downloaded from +UseNet. If some of the articles for a file are missing, you should still +download the file and save it to disk for par2cmdline to scan. If you +do this then you may find that you can carry out a repair in a situation +where you would not otherwise have sufficient recovery data. + +You can have par2cmdline scan all files that are in the current directory +using a command such as: + + par2 r test.mpg.par2 * + +WHAT TO DO WHEN YOU ARE TOLD YOU NEED MORE RECOVERY BLOCKS + +If par2cmdline determines that any of the data files are damaged or +missing and finds that there is insufficient recovery data to effect +a repair, you will be told that you need a certain number of recovery +blocks. You can obtain these by downloading additional recovery files. + +In order to make things easy, par2 files have filenames that tell you +exactly how many recovery blocks each one contains. + +Assuming that the following command was used to create recovery data: + + par2 c -b1000 -r5 test.mpg + +Then the recovery files that are created would be called: + + test.mpg.par2 + test.mpg.vol00+01.par2 + test.mpg.vol01+02.par2 + test.mpg.vol03+04.par2 + test.mpg.vol07+08.par2 + test.mpg.vol15+16.par2 + test.mpg.vol31+19.par2 + +The first file in this list does not contain any recovery data, it only +contains information sufficient to verify the data files. + +Each of the other files contains a different number of recovery blocks. +The number after the '+' sign is the number of recovery blocks and the +number preceding the '+' sign is the block number of the first recovery +block in that file. + +If par2cmdline told you that you needed 10 recovery blocks, then you would +need "test.mpg.vol01+02.par2" and "test.mpg.vol07+08.par". You might of course +choose to fetch "test.mpg.vol15+16.par2" instead (in which case you would have +an extra 6 recovery blocks which would not be used for the repair). + +NOTES + +This version of par2cmdline does not support recording path information for +files. Whilst you can create recovery files for files from multiple locations, +it will expect all files to be in the current directory when verifying and +repairing. This limitation will be corrected in an update. + +REED SOLOMON CODING + +PAR2 uses Reed Solomon Coding to perform its calculations. For details of this +coding technique try the following link: + +``A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems'' + diff --git a/lib/par2/par2fileformat.cpp b/lib/par2/par2fileformat.cpp index 97a29579..26f0e7e2 100644 --- a/lib/par2/par2fileformat.cpp +++ b/lib/par2/par2fileformat.cpp @@ -1,28 +1,28 @@ -// This file is part of par2cmdline (a PAR 2.0 compatible file verification and -// repair tool). See http://parchive.sourceforge.net for details of PAR 2.0. -// -// Copyright (c) 2003 Peter Brian Clements -// -// par2cmdline is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// par2cmdline is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - -#include "par2cmdline.h" - -MAGIC packet_magic = {{'P', 'A', 'R', '2', '\0','P', 'K', 'T'}}; -PACKETTYPE fileverificationpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'I', 'F', 'S', 'C', '\0','\0','\0','\0'}}; -PACKETTYPE filedescriptionpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'F', 'i', 'l', 'e', 'D', 'e', 's', 'c' }}; -PACKETTYPE mainpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'M', 'a', 'i', 'n', '\0','\0','\0','\0'}}; -PACKETTYPE recoveryblockpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'R', 'e', 'c', 'v', 'S', 'l', 'i', 'c' }}; -PACKETTYPE creatorpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'C', 'r', 'e', 'a', 't', 'o', 'r', '\0'}}; - +// This file is part of par2cmdline (a PAR 2.0 compatible file verification and +// repair tool). See http://parchive.sourceforge.net for details of PAR 2.0. +// +// Copyright (c) 2003 Peter Brian Clements +// +// par2cmdline is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// par2cmdline is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +#include "par2cmdline.h" + +MAGIC packet_magic = {{'P', 'A', 'R', '2', '\0','P', 'K', 'T'}}; +PACKETTYPE fileverificationpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'I', 'F', 'S', 'C', '\0','\0','\0','\0'}}; +PACKETTYPE filedescriptionpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'F', 'i', 'l', 'e', 'D', 'e', 's', 'c' }}; +PACKETTYPE mainpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'M', 'a', 'i', 'n', '\0','\0','\0','\0'}}; +PACKETTYPE recoveryblockpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'R', 'e', 'c', 'v', 'S', 'l', 'i', 'c' }}; +PACKETTYPE creatorpacket_type = {{'P', 'A', 'R', ' ', '2', '.', '0', '\0', 'C', 'r', 'e', 'a', 't', 'o', 'r', '\0'}}; + diff --git a/nzbget.sln b/nzbget.sln index 841a063a..e8923990 100644 --- a/nzbget.sln +++ b/nzbget.sln @@ -1,23 +1,23 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C++ Express 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nzbget", "nzbget.vcproj", "{41BFB691-0127-4391-9629-F1BA6740DDFE}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release (no TLS)|Win32 = Release (no TLS)|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {41BFB691-0127-4391-9629-F1BA6740DDFE}.Debug|Win32.ActiveCfg = Debug|Win32 - {41BFB691-0127-4391-9629-F1BA6740DDFE}.Debug|Win32.Build.0 = Debug|Win32 - {41BFB691-0127-4391-9629-F1BA6740DDFE}.Release (no TLS)|Win32.ActiveCfg = Release (no TLS)|Win32 - {41BFB691-0127-4391-9629-F1BA6740DDFE}.Release (no TLS)|Win32.Build.0 = Release (no TLS)|Win32 - {41BFB691-0127-4391-9629-F1BA6740DDFE}.Release|Win32.ActiveCfg = Release|Win32 - {41BFB691-0127-4391-9629-F1BA6740DDFE}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual C++ Express 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nzbget", "nzbget.vcproj", "{41BFB691-0127-4391-9629-F1BA6740DDFE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release (no TLS)|Win32 = Release (no TLS)|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {41BFB691-0127-4391-9629-F1BA6740DDFE}.Debug|Win32.ActiveCfg = Debug|Win32 + {41BFB691-0127-4391-9629-F1BA6740DDFE}.Debug|Win32.Build.0 = Debug|Win32 + {41BFB691-0127-4391-9629-F1BA6740DDFE}.Release (no TLS)|Win32.ActiveCfg = Release (no TLS)|Win32 + {41BFB691-0127-4391-9629-F1BA6740DDFE}.Release (no TLS)|Win32.Build.0 = Release (no TLS)|Win32 + {41BFB691-0127-4391-9629-F1BA6740DDFE}.Release|Win32.ActiveCfg = Release|Win32 + {41BFB691-0127-4391-9629-F1BA6740DDFE}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/nzbget.vcproj b/nzbget.vcproj index c29e9ff8..1f00de9e 100644 --- a/nzbget.vcproj +++ b/nzbget.vcproj @@ -1,1012 +1,1012 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/windows/resources/nzbget.rc b/windows/resources/nzbget.rc index e5812f27..aeaf6764 100644 --- a/windows/resources/nzbget.rc +++ b/windows/resources/nzbget.rc @@ -7,7 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. // -#include "afxres.h" +#include "afxres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -224,7 +224,7 @@ END // // Generated from the TEXTINCLUDE 3 resource. // - + ///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED