summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/sys/sysent.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/sys/sys/sysent.h b/sys/sys/sysent.h
index 747b8ff..523f3c9 100644
--- a/sys/sys/sysent.h
+++ b/sys/sys/sysent.h
@@ -173,13 +173,21 @@ struct syscall_module_data {
struct sysent old_sysent; /* old sysent */
};
-#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 = { \
OpenPOWER on IntegriCloud