svn commit: r303287 - head/sys/sys
Julian Elischer
julian at FreeBSD.org
Mon Jul 25 08:13:51 UTC 2016
Author: julian
Date: Mon Jul 25 08:13:50 2016
New Revision: 303287
URL: https://svnweb.freebsd.org/changeset/base/303287
Log:
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
Modified:
head/sys/sys/sysent.h
Modified: head/sys/sys/sysent.h
==============================================================================
--- head/sys/sys/sysent.h Mon Jul 25 05:33:19 2016 (r303286)
+++ head/sys/sys/sysent.h Mon Jul 25 08:13:50 2016 (r303287)
@@ -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 = { \
More information about the svn-src-all
mailing list