Debugging VT_int_ClearLine
[tpg/acess2.git] / Kernel / GenSyscalls.php
1 <?php
2 $gLines = file("syscalls.lst");
3
4 $lSyscalls = array();
5 $i = 0;
6 foreach($gLines as $line)
7 {
8         $line = trim($line);
9         if(empty($line))        continue;
10         
11         //echo $line,"\n";
12         //echo intVal($line),"\n";
13         if( intVal($line) != 0)
14                 $i = $line;
15         else
16                 $lSyscalls[$i++] = explode("\t", $line, 2);
17         //echo $i,"\n";
18 }
19 $lMax = $i;
20
21 $lAsmInc = "; Acess2
22 ; System Calls List
23
24
25 ";
26 $lHeader  = "/*
27  * AcessOS Microkernel Version
28  * syscalls.h
29  */
30 #ifndef _SYSCALLS_H
31 #define _SYSCALLS_H
32
33 enum eSyscalls {
34 ";
35 $i = 0;
36 foreach($lSyscalls as $num=>$call)
37 {
38         if($i != $num)  {
39                 $lHeader .= "\n";
40                 $lAsmInc .= "\n";
41         }
42         
43         $lHeader .= "\t{$call[0]}";
44         if($i != $num)  $lHeader .= " = {$num}";
45         $lHeader .= ",\t// {$num} - {$call[1]}\n";
46         
47         $lAsmInc .= "%define {$call[0]}\t{$num}\t; {$call[1]}\n";
48         
49         
50         if($i != $num)
51                 $i = $num+1;
52         else
53                 $i ++;
54 }
55 $lHeader .= "\tNUM_SYSCALLS,\n";
56 $lHeader .= "\tSYS_DEBUG = 0x100        // 0x100 - Print a debug string\n";
57 $lHeader .= "};\n\n";
58 $lHeader .= "static const char *cSYSCALL_NAMES[] = {\n\t";
59
60 $j = 0;
61 for($i=0;$i<$lMax;$i++)
62 {
63         $lHeader .= "\"".$lSyscalls[$i][0]."\",";
64         $j ++;
65         if($j == 6) {
66                 $lHeader .= "\n\t";
67                 $j = 0;
68         }
69 }
70 $lHeader .= "\"\"\n};\n#endif\n";
71
72 //echo $lHeader;
73
74 $fp = fopen("include/syscalls.h", "w"); fwrite($fp, $lHeader);  fclose($fp);
75 $fp = fopen("include/syscalls.inc.asm", "w");   fwrite($fp, $lAsmInc);  fclose($fp);
76
77 ?>

UCC git Repository :: git.ucc.asn.au