SYSCALL_MODULE macro modified?

T. freebsd-questions at lists.goldenpath.org
Wed Mar 11 09:23:48 PDT 2009


T. wrote:
> Found 7.0's sysent.h file modified at the commonly used SYSCALL_MODULE 
> macro,
> wasn't sure how I should modify my code to accommodate the change so 
> changed the sysent.h (yikes!).
> No biggy right? Removed the AUE_NULL. That's all that's been added.
> But the argument was NULL, so what the hell else could I do? AUE_NULL 
> didn't work.
> And how can you be requiring anything else where once there was NULL.
> And when I said NULL, I meant NULL! Boggling! This is related to some 
> audit stuff?
> Anyway...
>
> #define SYSCALL_MODULE(name, offset, new_sysent, evh, arg)     \
> static struct syscall_module_data name##_syscall_mod = {       \
>       evh, arg, offset, new_sysent, { 0, NULL, AUE_NULL }      \
> };                                                             \
>                                                                \
> static moduledata_t name##_mod = {                             \
>       #name,                                                   \
>       syscall_module_handler,                                  \
>       &name##_syscall_mod                                      \
> };                                                             \
> DECLARE_MODULE(name, name##_mod, SI_SUB_SYSCALLS, SI_ORDER_MIDDLE)
> _______________________________________________

So, if anyone else is interested / doesn't already know, if you 
encounter AUE_NULL errors compiling
rather than go and removing AUE_NULL from the system source (which works 
too), you can just add

#include <bsm/audit_kevents.h>

That's where AUE_NULL is defined.
You'd think they would have included that in the macro then, eh?


More information about the freebsd-questions mailing list