Working with nRF9160 in Zephyr, I've recently noticed that there are multiple conflicting definition of the errno.h values available, and I'm pretty sure I've seen both in use at various times.
Most of Zephyr appears to use the ones available in zephyr/lib/libc/minimal/include/errno.h
The NRFX library politely defines it's own variants with NRF_ prefixes in nrfxlib/bsdlib/include/nrf_errno.h
However, the gnuarmemb toolchain provides it's own version in gnuarmemb2018q2/arm-none-eabi/include/sys/errno.h which DON'T MATCH and I've seen evidence of some libraries using them, including the NRFX BSD library.
For example, ETIMEDOUT is 60 in the Zephyr's variants, but 116 in the gnuarmemb variant, and I just had a NRFX offloaded recv() call fail with errno=116. (Specifically in the download_client library)
This needs to be rectified...