diff options
Diffstat (limited to 'src/detection/libc/libc_linux.c')
| -rw-r--r-- | src/detection/libc/libc_linux.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/detection/libc/libc_linux.c b/src/detection/libc/libc_linux.c new file mode 100644 index 0000000..53186a3 --- /dev/null +++ b/src/detection/libc/libc_linux.c @@ -0,0 +1,25 @@ +#include "libc.h" + +#define FF_STR_INDIR(x) #x +#define FF_STR(x) FF_STR_INDIR(x) + +#include <features.h> + +const char* ffDetectLibc(FFLibcResult* result) { +#ifdef __UCLIBC__ + result->name = "uClibc"; + result->version = FF_STR(__UCLIBC_MAJOR__) "." FF_STR(__UCLIBC_MINOR__) "." FF_STR(__UCLIBC_SUBLEVEL__); +#elif defined(__GNU_LIBRARY__) + result->name = "glibc"; + result->version = FF_STR(__GLIBC__) "." FF_STR(__GLIBC_MINOR__); +#else + result->name = "musl"; + #ifdef FF_MUSL_VERSION + result->version = FF_MUSL_VERSION; + #else + result->version = NULL; + #endif +#endif + + return NULL; +} |