if_clone: Move "struct if_clonereq" over from <net/if.h>
authorAaron LI <aly@aaronly.me>
Thu, 21 Jun 2018 00:36:00 +0000 (08:36 +0800)
committerAaron LI <aly@aaronly.me>
Sun, 5 Aug 2018 02:41:27 +0000 (10:41 +0800)
The "if_clonereq" struct is __BSD_VISIBLE and is only used by ifconfig(8)
userland tool (via searching "if_clonereq" in the dports grok), so it's
safe to move it to <net/if_clone.h> to be clearer.

sbin/ifconfig/ifclone.c
sys/net/if.h
sys/net/if_clone.h

index 93bc855..b98b643 100644 (file)
@@ -36,6 +36,7 @@
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 #include <net/if.h>
+#include <net/if_clone.h>
 
 #include <err.h>
 #include <stdio.h>
index ce46a88..9cf4f12 100644 (file)
@@ -43,8 +43,8 @@
 #include <sys/socket.h>
 #ifndef _KERNEL
 #include <sys/time.h>
-#endif
-#endif
+#endif /* !_KERNEL */
+#endif /* __BSD_VISIBLE */
 
 /*
  * Length of interface external name, including terminating '\0'.
 #define                IFNAMSIZ        IF_NAMESIZE
 #define                IF_MAXUNIT      0x7fff          /* if_unit is 15bits */
 
-/*
- * Structure used to query names of interface cloners.
- * XXX should be moved to net/if_clone.h
- */
-struct if_clonereq {
-       int     ifcr_total;             /* total cloners (out) */
-       int     ifcr_count;             /* room for this many in user buffer */
-       char    *ifcr_buffer;           /* buffer for cloner names */
-};
-
 /*
  * Structure describing information about an interface
  * which may be of interest to management entities.
index 8795313..2b72a11 100644 (file)
 #ifndef        _NET_IF_CLONE_H_
 #define        _NET_IF_CLONE_H_
 
+#if __BSD_VISIBLE
+/*
+ * Structure used to query names of interface cloners.
+ */
+struct if_clonereq {
+       int     ifcr_total;             /* total cloners (out) */
+       int     ifcr_count;             /* room for this many in user buffer */
+       char    *ifcr_buffer;           /* buffer for cloner names */
+};
+#endif /* __BSD_VISIBLE */
+
 #ifdef _KERNEL
 
 #include <sys/eventhandler.h>
@@ -62,8 +73,6 @@ struct if_clone {
 typedef void (*if_clone_event_handler_t)(void *, struct if_clone *);
 EVENTHANDLER_DECLARE(if_clone_event, if_clone_event_handler_t);
 
-struct if_clonereq;    /* XXX, should move definition from net/if.h */
-
 void   if_clone_attach(struct if_clone *);
 void   if_clone_detach(struct if_clone *);
 int    if_clone_create(char *, int, caddr_t);