Also include info about the syscall return type in the

extended_syscall_info structure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23916 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2008-02-07 16:03:00 +00:00
parent 6f58064f10
commit ed854de770
2 changed files with 18 additions and 3 deletions
headers/private/kernel
src/tools/gensyscalls

@ -24,10 +24,17 @@ typedef struct syscall_parameter_info {
type_code type;
} syscall_parameter_info;
typedef struct syscall_return_type_info {
int size;
int used_size;
type_code type;
} syscall_return_type_info;
typedef struct extended_syscall_info {
const char* name;
int parameter_count;
syscall_parameter_info parameters[MAX_SYSCALL_PARAMETERS];
const char* name;
int parameter_count;
syscall_return_type_info return_type;
syscall_parameter_info parameters[MAX_SYSCALL_PARAMETERS];
} extended_syscall_info;

@ -419,6 +419,14 @@ public:
file << "\t{" << endl;
file << "\t\t\"" << syscall->Name() << "\", " << paramCount << ","
<< endl;
// return type
Type* returnType = syscall->ReturnType();
file << "\t\t{ " << returnType->Size() << ", "
<< returnType->UsedSize() << ", "
<< _GetTypeCode(returnType) << " }," << endl;
// parameters
file << "\t\t{" << endl;
for (int k = 0; k < paramCount; k++) {