zkErrno.h is a portable wrapper for the Unix 98 header <errno.h>. It is part of the libzk library because there are parts of the Zero Knowledge code base that assume it contains functionality beyond that provided by Standard C, namely POSIX or platform-specific features.

zkErrno.h - Supported Macros from <errno.h>
Macro Description
E2BIG Argument list too long.
EACCES Permission denied.
EAGAIN Resource unavailable, try again (may be the same value as EWOULDBLOCK).
EBADF Bad file descriptor.
EBUSY Device or resource busy.
ECHILD No child processes.
EDEADLK Resource deadlock would occur.
EDOM Mathematics argument out of domain of function.
EEXIST File exists.
EFAULT Bad address.
EFBIG File too large.
EINTR Interrupted function.
EINVAL Invalid argument.
EIO I/O error.
EISDIR Is a directory.
EMFILE Too many open files.
EMLINK Too many links.
ENAMETOOLONG Filename too long.
ENFILE Too many files open in system.
ENODEV No such device.
ENOENT No such file or directory.
ENOEXEC Executable file format error.
ENOLCK No locks available.
ENOMEM Not enough space.
ENOSPC No space left on device.
ENOSYS Function not supported.
ENOTDIR Not a directory.
ENOTEMPTY Directory not empty.
ENOTTY Inappropriate I/O control operation.
ENXIO No such device or address.
EPERM Operation not permitted.
EPIPE Broken pipe.
ERANGE Result too large.
EROFS Read-only file system.
ESPIPE Invalid seek.
ESRCH No such process.
EXDEV Cross-device link.

zkErrno.h - Supported Variables from <errno.h>
Variable Description
errno Standard C defines this as a modifiable lvalue, which means it may not be an actual variable name.