1 #!/usr/bin/perl 2 ## ----------------------------------------------------------------------- 3 ## 4 ## Copyright (C) 2010 P J P <pj.pandit@yahoo.co.in> 5 ## 6 ## Permission is hereby granted, free of charge, to any person 7 ## obtaining a copy of this software and associated documentation 8 ## files (the "Software"), to deal in the Software without 9 ## restriction, including without limitation the rights to use, 10 ## copy, modify, merge, publish, distribute, sublicense, and/or 11 ## sell copies of the Software, and to permit persons to whom 12 ## the Software is furnished to do so, subject to the following 13 ## conditions: 14 ## 15 ## The above copyright notice and this permission notice shall 16 ## be included in all copies or substantial portions of the Software. 17 ## 18 ## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 ## EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 ## OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 ## NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 ## HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 ## WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 ## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 ## OTHER DEALINGS IN THE SOFTWARE. 26 ## 27 ## ----------------------------------------------------------------------- 28 29 use strict; 30 use warnings; 31 32 binmode STDIN; 33 34 print "#include <inttypes.h>\n"; 35 print "#include \"isohybrid.h\"\n"; 36 print "\n"; 37 print "uint8_t isohdpfx[][MBRSIZE] =\n"; 38 print "{\n"; 39 40 foreach my $file (@ARGV) { 41 my $len = 0; 42 my $ch; 43 44 open(IN, '<', $file) or die "$0: $file: $!\n"; 45 printf(" {\n"); 46 while (read(IN, $ch, 1)) 47 { 48 printf("\t/* 0x%03x */ ", $len) if (!($len % 8)); 49 printf("0x%02x,", ord($ch)); 50 $len++; 51 52 print("\n") if (!($len % 8)); 53 } 54 print " },\n"; 55 close(IN); 56 } 57 print "};\n"; 58