On 2023-09-17 11:48:27+0200, Willy Tarreau wrote:
[..]
Maybe the macro-equivalent of this?
static inline int __nolibc_enosys(...) { return -ENOSYS; }
The only-vararg function unfortunately needs C23 so we can't use it.
It's clear to the users that this is about ENOSYS and we don't need a bunch of new macros similar.
I like it, I didn't think about varargs, it's an excellent idea! Let's just do simpler, start with a first arg "syscall_num" that we may later reuse for debugging, and just mark this one unused:
static inline int __nolibc_enosys(int syscall_num, ...) { (void)syscall_num; return -ENOSYS; }
But which syscall_num to use, as the point of __nolibc_enosys() would be that no syscall number is available and the defines are missing.
For debugging we could add a string argument, though.