function make() { $args = parse_syscall_args(SYSPROTO_H); $tab_name = getSyscallNames(); $info = merge_name_args($args, $tab_name); $size = get_size($info); $begin = get_static_begin($size["size_tab"] + 1, $size["max_size_proto"] + 1); $str_tab = get_ctab_syscall($info, $size["size_tab"]); $tt = $begin . "" . $str_tab . " };\n"; file_put_contents("./syscall_info.h", $tt); }
} $aLine = split(":", $newline); if (count($aLine) != 2) { dieError("Error while spliting [{$newline}]"); } $aSyscallNames[$aLine[1]] = $aLine[0]; } } return $aSyscallNames; } function dieError($msg) { die("ERROR: {$msg}\n"); } //var_dump(getSyscallNames()); $syscalls = getSyscallNames(); $filname = "syscall_names.h"; if (($max_syscalls = array_search("MAXSYSCALL", $syscalls)) < 0) { dieError("No such index: MAXSYSCALL"); } $strfile = "\n#ifndef __SYSCALL_NAMES__\n# define __SYSCALL_NAMES__\n# include <sys/syscall.h>\n\nchar *SYSCALL_NAMES[SYS_MAXSYSCALL + 1] = {\n"; echo "We have {$max_syscalls} MAXSYSCALL.\n"; for ($i = 0; $i < $max_syscalls; $i++) { if (isset($syscalls[$i])) { $strfile .= "\t\"" . $syscalls[$i] . "\",\n"; } else { $strfile .= "\t0,\n"; } } $strfile .= "\t0\n};\n\n#endif\n"; if (!file_put_contents($filname, $strfile)) {