From: Andrei Tatar Date: Thu, 6 Feb 2025 11:22:56 +0000 (+0100) Subject: lib/nolibc: Import sys/sysmacros.h X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=77bf49cbd5d82cf88237e9b62d0b71f8b8ef90a5;p=unikraft%2Funikraft.git lib/nolibc: Import sys/sysmacros.h Provides convenient macros for handling minor/major device numbers and encoding these into a single dev_t. Imported verbatim; checkpatch ignored. Source of import: Repository: git://git.musl-libc.org/musl Tag: v1.2.4 (f5f55d65) Path: include/sys/sysmacros.h Checkpatch-Ignore: SPDX_LICENSE_TAG Checkpatch-Ignore: MACRO_ARG_REUSE Checkpatch-Ignore: UNSPECIFIED_INT Checkpatch-Ignore: SPACING Checkpatch-Ignore: CODE_INDENT Checkpatch-Ignore: LEADING_SPACE Signed-off-by: Andrei Tatar Approved-by: Sergiu Moga Reviewed-by: Sergiu Moga GitHub-Closes: #1578 --- diff --git a/lib/nolibc/musl-imported/include/sys/sysmacros.h b/lib/nolibc/musl-imported/include/sys/sysmacros.h new file mode 100644 index 000000000..07a3ef183 --- /dev/null +++ b/lib/nolibc/musl-imported/include/sys/sysmacros.h @@ -0,0 +1,15 @@ +#ifndef _SYS_SYSMACROS_H +#define _SYS_SYSMACROS_H + +#define major(x) \ + ((unsigned)( (((x)>>31>>1) & 0xfffff000) | (((x)>>8) & 0x00000fff) )) +#define minor(x) \ + ((unsigned)( (((x)>>12) & 0xffffff00) | ((x) & 0x000000ff) )) + +#define makedev(x,y) ( \ + (((x)&0xfffff000ULL) << 32) | \ + (((x)&0x00000fffULL) << 8) | \ + (((y)&0xffffff00ULL) << 12) | \ + (((y)&0x000000ffULL)) ) + +#endif