fix namespace violation in sys/shm.h
authorRich Felker <dalias@aerifal.cx>
Thu, 9 Jan 2014 00:39:18 +0000 (19:39 -0500)
committerRich Felker <dalias@aerifal.cx>
Thu, 9 Jan 2014 00:39:18 +0000 (19:39 -0500)
in fixing this, I've changed the logic from ugly #if/#else blocks
inside the struct shm_info definition to a fixed struct definition and
optional macros to rename the elements. this will be helpful if we
need to move shm_info to a bits header in the future, as it will keep
the feature test logic out of bits.

include/sys/shm.h

index c20f0334861e986ce50a39437e047f704505e4b3..d97e582c370f68dca12be452bc0550f5c4521342 100644 (file)
@@ -37,14 +37,16 @@ struct shminfo {
        unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
 };
 
-struct shm_info {
-       int used_ids;
-       unsigned long shm_tot, shm_rss, shm_swp;
 #ifdef _GNU_SOURCE
-       unsigned long swap_attempts, swap_successes;
-#else
-       unsigned long __reserved[2];
+#define __used_ids used_ids
+#define __swap_attempts swap_attempts
+#define __swap_successes swap_successes
 #endif
+
+struct shm_info {
+       int __used_ids;
+       unsigned long shm_tot, shm_rss, shm_swp;
+       unsigned long __swap_attempts, __swap_successes;
 };
 
 typedef unsigned long shmatt_t;