From: Mikko Rapeli <mikko.rapeli@iki.fi>
To: linux-kernel@vger.kernel.org
Cc: Mikko Rapeli <mikko.rapeli@iki.fi>,
Ralf Baechle <ralf@linux-mips.org>,
"David S. Miller" <davem@davemloft.net>,
Nicolas Dichtel <nicolas.dichtel@6wind.com>,
linux-hams@vger.kernel.org
Subject: [PATCH v05 69/72] uapi rose.h: glibc netrose/rose.h header file compatibility fixes
Date: Mon, 22 Aug 2016 20:33:26 +0200 [thread overview]
Message-ID: <1471890809-4383-70-git-send-email-mikko.rapeli@iki.fi> (raw)
In-Reply-To: <1471890809-4383-1-git-send-email-mikko.rapeli@iki.fi>
Fixes these userspace compile errors and warnings when glibc
netrose/rose.h is included before linux/rose.h:
linux/rose.h:25:0: warning: "SIOCRSGCAUSE" redefined
linux/rose.h:26:0: warning: "SIOCRSSCAUSE" redefined
linux/rose.h:27:0: warning: "SIOCRSL2CALL" redefined
linux/rose.h:28:0: warning: "SIOCRSSL2CALL" redefined
linux/rose.h:29:0: warning: "SIOCRSACCEPT" redefined
linux/rose.h:30:0: warning: "SIOCRSCLRRT" redefined
linux/rose.h:31:0: warning: "SIOCRSGL2CALL" redefined
linux/rose.h:32:0: warning: "SIOCRSGFACILITIES" redefined
linux/rose.h:47:3: error: conflicting types for ‘rose_address’
linux/rose.h:49:8: error: redefinition of ‘struct sockaddr_rose’
linux/rose.h:57:8: error: redefinition of ‘struct full_sockaddr_rose’
linux/rose.h:65:8: error: redefinition of ‘struct rose_route_struct’
linux/rose.h:74:8: error: redefinition of ‘struct rose_cause_struct’
linux/rose.h:79:8: error: redefinition of ‘struct rose_facilities_struct’
Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi>
---
include/uapi/linux/libc-compat.h | 30 ++++++++++++++++++++++++++++++
include/uapi/linux/rose.h | 15 +++++++++++++++
2 files changed, 45 insertions(+)
diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h
index 01bb521..acc2e75 100644
--- a/include/uapi/linux/libc-compat.h
+++ b/include/uapi/linux/libc-compat.h
@@ -209,6 +209,27 @@
#endif /* defined(__NETIPX_IPX_H) */
+/* Coordinate with glibc netrose/rose.h */
+#if defined(_NETROSE_ROSE_H)
+#define __UAPI_DEF_SIOCRSGCAUSE_TO_SIOCRSGFACILITIES 0
+#define __UAPI_DEF_ROSE_ADDRESS 0
+#define __UAPI_DEF_SOCKADDR_ROSE 0
+#define __UAPI_DEF_FULL_SOCKADDR_ROSE 0
+#define __UAPI_DEF_ROSE_ROUTE_STRUCT 0
+#define __UAPI_DEF_ROSE_CAUSE_STRUCT 0
+#define __UAPI_DEF_ROSE_FACILITIES_STRUCT 0
+
+#else /* defined(_NETROSE_ROSE_H) */
+#define __UAPI_DEF_SIOCRSGCAUSE_TO_SIOCRSGFACILITIES 1
+#define __UAPI_DEF_ROSE_ADDRESS 1
+#define __UAPI_DEF_SOCKADDR_ROSE 1
+#define __UAPI_DEF_FULL_SOCKADDR_ROSE 1
+#define __UAPI_DEF_ROSE_ROUTE_STRUCT 1
+#define __UAPI_DEF_ROSE_CAUSE_STRUCT 1
+#define __UAPI_DEF_ROSE_FACILITIES_STRUCT 1
+
+#endif /* defined(_NETROSE_ROSE_H) */
+
/* Definitions for sys/uio.h */
#if defined(_SYS_UIO_H)
#define __UAPI_DEF_IOVEC 0
@@ -283,6 +304,15 @@
#define __UAPI_DEF_IPX_CONFIG_DATA 1
#define __UAPI_DEF_IPX_ROUTE_DEF 1
+/* Definitions for rose.h */
+#define __UAPI_DEF_SIOCRSGCAUSE_TO_SIOCRSGFACILITIES 1
+#define __UAPI_DEF_ROSE_ADDRESS 1
+#define __UAPI_DEF_SOCKADDR_ROSE 1
+#define __UAPI_DEF_FULL_SOCKADDR_ROSE 1
+#define __UAPI_DEF_ROSE_ROUTE_STRUCT 1
+#define __UAPI_DEF_ROSE_CAUSE_STRUCT 1
+#define __UAPI_DEF_ROSE_FACILITIES_STRUCT 1
+
/* Definitions for uio.h */
#define __UAPI_DEF_IOVEC 1
diff --git a/include/uapi/linux/rose.h b/include/uapi/linux/rose.h
index 1fcfe95..c39499c 100644
--- a/include/uapi/linux/rose.h
+++ b/include/uapi/linux/rose.h
@@ -7,6 +7,7 @@
#ifndef ROSE_KERNEL_H
#define ROSE_KERNEL_H
+#include <linux/libc-compat.h>
#include <linux/socket.h>
#include <linux/ax25.h>
@@ -22,6 +23,7 @@
#define ROSE_QBITINCL 6
#define ROSE_HOLDBACK 7
+#if __UAPI_DEF_SIOCRSGCAUSE_TO_SIOCRSGFACILITIES
#define SIOCRSGCAUSE (SIOCPROTOPRIVATE+0)
#define SIOCRSSCAUSE (SIOCPROTOPRIVATE+1)
#define SIOCRSL2CALL (SIOCPROTOPRIVATE+2)
@@ -30,6 +32,7 @@
#define SIOCRSCLRRT (SIOCPROTOPRIVATE+4)
#define SIOCRSGL2CALL (SIOCPROTOPRIVATE+5)
#define SIOCRSGFACILITIES (SIOCPROTOPRIVATE+6)
+#endif /* __UAPI_DEF_SIOCRSGCAUSE_TO_SIOCRSGFACILITIES */
#define ROSE_DTE_ORIGINATED 0x00
#define ROSE_NUMBER_BUSY 0x01
@@ -42,10 +45,13 @@
#define ROSE_LOCAL_PROCEDURE 0x13
#define ROSE_SHIP_ABSENT 0x39
+#if __UAPI_DEF_ROSE_ADDRESS
typedef struct {
char rose_addr[5];
} rose_address;
+#endif /* __UAPI_DEF_ROSE_ADDRESS */
+#if __UAPI_DEF_SOCKADDR_ROSE
struct sockaddr_rose {
__kernel_sa_family_t srose_family;
rose_address srose_addr;
@@ -53,7 +59,9 @@ struct sockaddr_rose {
int srose_ndigis;
ax25_address srose_digi;
};
+#endif /* __UAPI_DEF_SOCKADDR_ROSE */
+#if __UAPI_DEF_FULL_SOCKADDR_ROSE
struct full_sockaddr_rose {
__kernel_sa_family_t srose_family;
rose_address srose_addr;
@@ -61,7 +69,9 @@ struct full_sockaddr_rose {
unsigned int srose_ndigis;
ax25_address srose_digis[ROSE_MAX_DIGIS];
};
+#endif /* __UAPI_DEF_FULL_SOCKADDR_ROSE */
+#if __UAPI_DEF_ROSE_ROUTE_STRUCT
struct rose_route_struct {
rose_address address;
unsigned short mask;
@@ -70,12 +80,16 @@ struct rose_route_struct {
unsigned char ndigis;
ax25_address digipeaters[AX25_MAX_DIGIS];
};
+#endif /* __UAPI_DEF_ROSE_ROUTE_STRUCT */
+#if __UAPI_DEF_ROSE_CAUSE_STRUCT
struct rose_cause_struct {
unsigned char cause;
unsigned char diagnostic;
};
+#endif /* __UAPI_DEF_ROSE_CAUSE_STRUCT */
+#if __UAPI_DEF_ROSE_FACILITIES_STRUCT
struct rose_facilities_struct {
rose_address source_addr, dest_addr;
ax25_address source_call, dest_call;
@@ -86,5 +100,6 @@ struct rose_facilities_struct {
rose_address fail_addr;
ax25_address fail_call;
};
+#endif /* __UAPI_DEF_ROSE_FACILITIES_STRUCT */
#endif
--
2.8.1
next prev parent reply other threads:[~2016-08-22 19:10 UTC|newest]
Thread overview: 141+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-22 18:32 [PATCH v05 00/72] Userspace compile test and fixes for exported uapi header files Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 01/72] headers_install.sh: enhance error handling Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 02/72] scripts/headers_compile_test.sh: compile test script for exported headers Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 03/72] headers_compile_test.sh: add GNU libc compatibility test Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 04/72] dm-log-userspace.h: use __u32, __s32 and __u64 from linux/types.h Mikko Rapeli
2016-08-23 13:57 ` [dm-devel] " Bart Van Assche
2016-08-23 14:28 ` Bart Van Assche
2016-08-23 20:42 ` Mikko Rapeli
2016-08-25 4:24 ` Bart Van Assche
2016-08-25 6:57 ` Mikko Rapeli
2016-08-28 6:42 ` [PATCH v06] uapi dm-log-userspace.h: use __u32, __s32, __u64 and __s64 " Mikko Rapeli
2016-08-28 16:07 ` Bart Van Assche
2016-08-22 18:32 ` [PATCH v05 05/72] hsi_char.h: use __u32 " Mikko Rapeli
2016-08-22 20:54 ` Sebastian Reichel
2016-08-22 18:32 ` [PATCH v05 06/72] include/uapi/linux/hsi/cs-protocol.h: include linux/time.h Mikko Rapeli
2016-08-22 20:52 ` Sebastian Reichel
2016-08-23 6:55 ` Mikko Rapeli
2016-08-28 7:00 ` Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 07/72] cld.h: use __u8, __u16, __s16, __u32 and __s64 from linux/types.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 08/72] rds.h: " Mikko Rapeli
2016-08-22 18:52 ` Sowmini Varadhan
2016-08-23 20:46 ` Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 09/72] sctp.h: use __u8 and __u32 " Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 10/72] scsi_bsg_fc.h: use __u8, __u32 and __u64 " Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 11/72] scsi_netlink.h: use __u8, __u16 " Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 12/72] scsi_netlink_fc.h: use __u16, __u32 " Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 13/72] include/uapi/linux/sysctl.h: use __kernel_size_t instead of size_t Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 14/72] include/uapi/asm-generic/ipcbuf.h: include linux/posix_types.h Mikko Rapeli
2016-08-24 15:36 ` Arnd Bergmann
2016-11-15 19:31 ` Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 15/72] include/uapi/asm-generic/msgbuf.h: include asm/ipcbuf.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 16/72] include/uapi/asm-generic/shmbuf.h: include fixes Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 17/72] asm-generic/sembuf.h: include asm/posix_types.h and asm/ipcbuf.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 18/72] include/uapi/asm-generic/signal.h: use __kernel_size_t instead of size_t Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 19/72] include/uapi/linux/socket.h: include sys/socket.h in userspace Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 20/72] include/uapi/linux/rds.h: include linux/socket.h and linux/types.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 21/72] include/uapi/linux/if_pppox.h: include linux/if.h Mikko Rapeli
2016-08-22 19:37 ` Stephen Hemminger
2016-08-22 23:26 ` David Miller
2016-08-23 6:41 ` Mikko Rapeli
2016-08-22 23:33 ` David Miller
2016-08-22 18:32 ` [PATCH v05 22/72] include/uapi/linux/if_tunnel.h: include linux/if.h, linux/ip.h and linux/in6.h Mikko Rapeli
2016-08-22 23:28 ` David Miller
2016-08-22 18:32 ` [PATCH v05 23/72] include/uapi/linux/ipv6_route.h: include linux/in6.h Mikko Rapeli
2016-08-22 23:28 ` David Miller
2016-08-22 18:32 ` [PATCH v05 24/72] " Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 25/72] include/uapi/linux/if_pppol2tp.h: include linux/in.h and linux/in6.h Mikko Rapeli
2016-08-22 23:31 ` David Miller
2016-08-22 18:32 ` [PATCH v05 26/72] include/uapi/linux/if_pppox.h: " Mikko Rapeli
2016-08-22 23:31 ` David Miller
2016-08-22 18:32 ` [PATCH v05 27/72] linux/if.h linux/hdlc/ioctl.h: move IFNAMSIZ definition to hdlc/ioctl.h Mikko Rapeli
2016-08-22 23:30 ` David Miller
2016-08-23 7:03 ` Frans Klaver
2016-08-23 7:05 ` David Miller
2016-08-23 8:03 ` Frans Klaver
2016-08-24 6:57 ` Frans Klaver
2016-11-15 19:39 ` Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 28/72] include/uapi/linux/packet_diag.h: include linux/netdevice.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 29/72] include/uapi/linux/llc.h: include linux/if.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 30/72] include/uapi/linux/mqueue.h: include linux/types.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 31/72] include/uapi/linux/mroute.h: include linux/in.h Mikko Rapeli
2016-08-22 23:30 ` David Miller
2016-08-22 18:32 ` [PATCH v05 32/72] include/uapi/linux/dlm_netlink.h: include linux/dlmconstants.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 33/72] include/uapi/linux/ip6_tunnel.h: include linux/if.h and linux/in6.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 34/72] include/uapi/linux/errqueue.h: include linux/time.h Mikko Rapeli
2016-08-22 21:32 ` kbuild test robot
2016-08-23 7:02 ` Mikko Rapeli
2016-08-22 22:03 ` kbuild test robot
2016-08-22 23:24 ` kbuild test robot
2016-08-22 18:32 ` [PATCH v05 35/72] include/uapi/asm-generic/ucontext.h: include asm/signal.h and asm/sigcontext.h Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 36/72] arch/x86/include/uapi/asm/signal.h: use __kernel_size_t instead of size_t Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 37/72] include/uapi/linux/auto_fs.h: include linux/limits.h Mikko Rapeli
2016-08-23 0:42 ` Ian Kent
2016-08-22 18:32 ` [PATCH v05 38/72] include/uapi/linux/openvswitch.h: use __u32 from linux/types.h Mikko Rapeli
2016-08-22 19:39 ` Stephen Hemminger
2016-08-22 23:27 ` David Miller
2016-08-23 6:49 ` Mikko Rapeli
2016-08-22 23:31 ` David Miller
2016-08-22 18:32 ` [PATCH v05 39/72] include/uapi/linux/target_core_user.h: use __u8, __u16, __u32 and __u64 " Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 40/72] include/uapi/linux/omapfb.h: use __kernel_size_t instead of size_t Mikko Rapeli
2016-08-22 18:32 ` [PATCH v05 41/72] include/uapi/linux/atm_zatm.h: include linux/time.h Mikko Rapeli
2016-08-22 23:30 ` David Miller
2016-08-22 18:32 ` [PATCH v05 42/72] include/uapi/linux/scc.h: include linux/sockios.h Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 43/72] include/uapi/linux/btrfs.h: define NULL Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 44/72] include/uapi/linux/kexec.h: use __kernel_size_t instead of size_t Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 45/72] include/uapi/linux/reiserfs_xattr.h: " Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 46/72] include/uapi/linux/patchkey.h: change #error to #warning if file included directly Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 47/72] include/uapi/linux/coda.h: use __kernel_pid_t and add u_short etc definitions for userspace Mikko Rapeli
2016-08-23 3:08 ` kbuild test robot
2016-08-23 20:53 ` Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 48/72] include/uapi/linux/android/binder.h: use __kernel_pid_t and __kernel_uid_t Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 49/72] arch/x86/include/uapi/asm/sembuf.h: include linux/types.h and linux/ipc.h Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 50/72] include/uapi/linux/fuse.h: use linux/types.h also in userspace Mikko Rapeli
2016-08-23 7:16 ` Miklos Szeredi
2016-08-23 7:39 ` Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 51/72] include/linux/ipmi-fru.h: use linux/types.h instead of stdint.h Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 52/72] include/linux/sdb.h: use linux/types.h types " Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 53/72] include/linux/xz.h: " Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 54/72] include/uapi/xen/privcmd.h: fix compilation in userspace Mikko Rapeli
2016-08-23 10:02 ` Russell King - ARM Linux
2016-08-23 18:13 ` Stefano Stabellini
2016-08-23 20:38 ` Mikko Rapeli
2016-08-23 21:06 ` Stefano Stabellini
2016-08-22 18:33 ` [PATCH v05 55/72] include/uapi/xen/gntdev.h: include xen/privcmd.h and define grant_ref_t Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 56/72] include/uapi/xen/evtchn.h: include xen/privcmd.h Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 57/72] coda_psdev.h: move upc_req definition from uapi to kernel side headers Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 58/72] include/uapi/linux/elfcore.h: remove non-compiling userspace parts Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 59/72] include/uapi/linux/errqueue.h: include time.h in userspace Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 60/72] arch/arm/include/uapi/asm/signal.h: use __kernel_size_t instead of size_t Mikko Rapeli
2016-08-24 15:02 ` Arnd Bergmann
2016-11-16 14:11 ` Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 61/72] include/uapi/rdma/rdma_user_rxe.h: include in.h and in6.h Mikko Rapeli
2016-08-23 15:03 ` Doug Ledford
2016-08-25 14:00 ` Moni Shoua
2016-08-22 18:33 ` [PATCH v05 62/72] include/uapi/linux/openvswitch.h: use __u32 from linux/types.h Mikko Rapeli
2016-08-22 23:32 ` David Miller
2016-08-22 18:33 ` [PATCH v05 63/72] include/uapi/sound/Kbuild: remove sound/asoc.h from userspace Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 64/72] include/uapi/linux/ipx.h: fix conflicting defitions with glibc netipx/ipx.h Mikko Rapeli
2016-08-22 23:33 ` David Miller
2016-08-22 18:33 ` [PATCH v05 65/72] uapi fcntl.h: glibc fcntl.h header file compatibility fixes Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 66/72] uapi icmp.h: glibc netinet/ip_icmp.h " Mikko Rapeli
2016-08-22 23:33 ` David Miller
2016-08-23 21:21 ` Mikko Rapeli
2016-08-23 23:38 ` David Miller
2016-08-23 23:36 ` David Miller
2016-08-22 18:33 ` [PATCH v05 67/72] uapi uio.h: glibc sys/uio.h " Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 68/72] uapi ax25.h: glibc netax25/ax25.h " Mikko Rapeli
2016-08-22 23:33 ` David Miller
2016-08-22 18:33 ` Mikko Rapeli [this message]
2016-08-22 23:33 ` [PATCH v05 69/72] uapi rose.h: glibc netrose/rose.h " David Miller
2016-08-26 15:38 ` walter harms
2016-08-28 5:59 ` Mikko Rapeli
2016-08-28 12:37 ` walter harms
2016-08-29 19:34 ` David Ranch
2016-08-30 7:34 ` Mikko Rapeli
2016-11-16 19:07 ` Mikko Rapeli
2016-11-16 22:17 ` David Ranch
2016-08-22 18:33 ` [PATCH v05 70/72] uapi time.h: glibc time.h " Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 71/72] uapi term*.h: glibc termios.h " Mikko Rapeli
2016-08-22 18:33 ` [PATCH v05 72/72] uapi route.h: glibc net/route.h compat fix Mikko Rapeli
2016-08-22 23:32 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1471890809-4383-70-git-send-email-mikko.rapeli@iki.fi \
--to=mikko.rapeli@iki.fi \
--cc=davem@davemloft.net \
--cc=linux-hams@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nicolas.dichtel@6wind.com \
--cc=ralf@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®