$line = trim($line);
if(empty($line)) continue;
- //echo $line,"\n";
- //echo intVal($line),"\n";
if( intVal($line) != 0)
$i = $line;
else
- $lSyscalls[$i++] = explode("\t", $line, 2);
- //echo $i,"\n";
+ $lSyscalls[$i++] = explode("\t", $line, 3);
}
$lMax = $i;
#ifndef _SYSCALLS_H
#define _SYSCALLS_H
-enum eSyscalls {
";
$i = 0;
foreach($lSyscalls as $num=>$call)
$lAsmInc .= "\n";
}
- $lHeader .= "\t{$call[0]}";
- if($i != $num) $lHeader .= " = {$num}";
- $lHeader .= ",\t// {$num} - {$call[1]}\n";
+ $lHeader .= "#define {$call[0]}\t{$num}";
+ $lHeader .= "\t// {$num} - {$call[1]}\n";
$lAsmInc .= "%define {$call[0]}\t{$num}\t; {$call[1]}\n";
else
$i ++;
}
-$lHeader .= "\tNUM_SYSCALLS,\n";
-$lHeader .= "\tSYS_DEBUG = 0x100 // 0x100 - Print a debug string\n";
-$lHeader .= "};\n\n";
+$lHeader .= "#define NUM_SYSCALLS\t$i\n";
+$lHeader .= "#define SYS_DEBUG\t0x100 // 0x100 - Print a debug string\n";
+$lHeader .= "\n";
+$lHeader .= "#ifdef __GNUC__\n";
$lHeader .= "static const char *cSYSCALL_NAMES[] = {\n\t";
$j = 0;
for($i=0;$i<$lMax;$i++)
{
- $lHeader .= "\"".$lSyscalls[$i][0]."\",";
+ if(!isset($lSyscalls[$i]))
+ $lHeader .= "\"\",";
+ else
+ $lHeader .= "\"".$lSyscalls[$i][0]."\",";
$j ++;
if($j == 6) {
$lHeader .= "\n\t";
$j = 0;
}
}
-$lHeader .= "\"\"\n};\n#endif\n";
-
-//echo $lHeader;
+$lHeader .= "\"\"\n};\n"
+$lHeader .= "#endif\n";
+$lHeader .= "#endif\n";
$fp = fopen("include/syscalls.h", "w"); fwrite($fp, $lHeader); fclose($fp);
$fp = fopen("include/syscalls.inc.asm", "w"); fwrite($fp, $lAsmInc); fclose($fp);