Split MAKE_SYSENT into two parts so that the initializer part can be

used separately if one wants to embed the sysent into a larger structure.

MFC after:	1 week
This commit is contained in:
julian 2016-07-25 08:13:50 +00:00
parent 9c63dcdcf7
commit 0b48f31d1d

View File

@ -175,13 +175,21 @@ struct syscall_module_data {
int flags; /* flags for syscall_register */
};
#define MAKE_SYSENT(syscallname) \
static struct sysent syscallname##_sysent = { \
(sizeof(struct syscallname ## _args ) \
/* separate initialization vector so it can be used in a substructure */
#define SYSENT_INIT_VALS(_syscallname) { \
.sy_narg = (sizeof(struct _syscallname ## _args ) \
/ sizeof(register_t)), \
(sy_call_t *)& sys_##syscallname, \
SYS_AUE_##syscallname \
}
.sy_call = (sy_call_t *)&sys_##_syscallname, \
.sy_auevent = SYS_AUE_##_syscallname, \
.sy_systrace_args_func = NULL, \
.sy_entry = 0, \
.sy_return = 0, \
.sy_flags = 0, \
.sy_thrcnt = 0 \
}
#define MAKE_SYSENT(syscallname) \
static struct sysent syscallname##_sysent = SYSENT_INIT_VALS(syscallname);
#define MAKE_SYSENT_COMPAT(syscallname) \
static struct sysent syscallname##_sysent = { \