A Unix file descriptor number is stored in the
"generic callback argument" `void **priv`. However, on LP64
systems like x86_64 linux, `int` and `void **` have different size.
This leads to a compiler diagnostic:
```
os.c: In function ‘os_write’:
os.c:192:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
192 | int fd = (int) *priv;
| ^
```
Adding an additional cast via `intptr_t` resolves the compiler
diagnostics.