tools/nolibc/types: move makedev to types.h and make it a macro
authorWilly Tarreau <w@1wt.eu>
Mon, 7 Feb 2022 16:23:25 +0000 (17:23 +0100)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 21 Apr 2022 00:05:43 +0000 (17:05 -0700)
The makedev() man page says it's supposed to be a macro and that some
OSes have it with the other ones in sys/types.h so it now makes sense
to move it to types.h as a macro. Let's also define major() and
minor() that perform the reverse operation.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
tools/include/nolibc/nolibc.h
tools/include/nolibc/types.h

index 2267d98337ea82cf64124e88c806cb9120bc164d..23fb81414b1bedf731ee0a11b796ba1bbad37b52 100644 (file)
@@ -116,13 +116,4 @@ const char *ltoa(long in)
        return pos + 1;
 }
 
-/* Here come a few helper functions */
-
-/* WARNING, it only deals with the 4096 first majors and 256 first minors */
-static __attribute__((unused))
-dev_t makedev(unsigned int major, unsigned int minor)
-{
-       return ((major & 0xfff) << 8) | (minor & 0xff);
-}
-
 #endif /* _NOLIBC_H */
index 563dbbad04963e51e0ec40c2b0c4995e313c4387..b1bff5e717b62437d34589ecb7bb91621cd71066 100644 (file)
@@ -162,4 +162,9 @@ struct stat {
        time_t    st_ctime;   /* time of last status change */
 };
 
+/* WARNING, it only deals with the 4096 first majors and 256 first minors */
+#define makedev(major, minor) ((dev_t)((((major) & 0xfff) << 8) | ((minor) & 0xff)))
+#define major(dev) ((unsigned int)(((dev) >> 8) & 0xfff))
+#define minor(dev) ((unsigned int)(((dev) & 0xff))
+
 #endif /* _NOLIBC_TYPES_H */