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 = {                  \
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to