Generate a kernel array kSyscallParametersInfos containing information

about syscall parameters. Particularly interesting is a type_code field
for each parameter. The mechanism isn't very accurate, but we can
classify everything in string, pointer, and integer types.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23618 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2008-01-18 19:25:28 +00:00
parent aba70a8ca2
commit 19101ba0f4
2 changed files with 119 additions and 1 deletions
+17
View File
@@ -9,13 +9,30 @@
#include <SupportDefs.h>
#define MAX_SYSCALL_PARAMETERS 16
typedef struct syscall_info {
void *function; // pointer to the syscall function
int parameter_size; // summed up parameter size
} syscall_info;
typedef struct syscall_parameter_info {
int offset;
int size;
int used_size;
type_code type;
} syscall_parameter_info;
typedef struct syscall_parameters_info {
int parameter_count;
syscall_parameter_info parameters[MAX_SYSCALL_PARAMETERS];
} syscall_parameters_info;
extern const int kSyscallCount;
extern const syscall_info kSyscallInfos[];
extern const syscall_parameters_info kSyscallParametersInfos[];
#ifdef __cplusplus