- mode_t is uint16_t (sys/sys/_types.h)
- openat takes variadic args
- variadic args cannot be 16-bit, and indeed the code uses int
- the manpage currently kinda implies the argument is 16-bit by saying mode_t
Prompted by Rust things: https://github.com/tailhook/openat/issues/21