    //! Ported from /sys/include/ape/errno.h
    pub const E = enum(u16) {
        SUCCESS = 0,
        DOM = 1000,
        RANGE = 1001,
        PLAN9 = 1002,

        @"2BIG" = 1,
        ACCES = 2,
        AGAIN = 3,
        // WOULDBLOCK = 3, // TODO errno.h has 2 names for 3

        BADF = 4,
        BUSY = 5,
        CHILD = 6,
        DEADLK = 7,
        EXIST = 8,
        FAULT = 9,
        FBIG = 10,
        INTR = 11,
        INVAL = 12,
        IO = 13,
        ISDIR = 14,
        MFILE = 15,
        MLINK = 16,
        NAMETOOLONG = 17,
        NFILE = 18,
        NODEV = 19,
        NOENT = 20,
        NOEXEC = 21,
        NOLCK = 22,
        NOMEM = 23,
        NOSPC = 24,
        NOSYS = 25,
        NOTDIR = 26,
        NOTEMPTY = 27,
        NOTTY = 28,
        NXIO = 29,
        PERM = 30,
        PIPE = 31,
        ROFS = 32,
        SPIPE = 33,
        SRCH = 34,
        XDEV = 35,

        // bsd networking software

        NOTSOCK = 36,
        PROTONOSUPPORT = 37,
        // PROTOTYPE = 37, // TODO errno.h has two names for 37

        CONNREFUSED = 38,
        AFNOSUPPORT = 39,
        NOBUFS = 40,
        OPNOTSUPP = 41,
        ADDRINUSE = 42,
        DESTADDRREQ = 43,
        MSGSIZE = 44,
        NOPROTOOPT = 45,
        SOCKTNOSUPPORT = 46,
        PFNOSUPPORT = 47,
        ADDRNOTAVAIL = 48,
        NETDOWN = 49,
        NETUNREACH = 50,
        NETRESET = 51,
        CONNABORTED = 52,
        ISCONN = 53,
        NOTCONN = 54,
        SHUTDOWN = 55,
        TOOMANYREFS = 56,
        TIMEDOUT = 57,
        HOSTDOWN = 58,
        HOSTUNREACH = 59,
        GREG = 60,

        // These added in 1003.1b-1993

        CANCELED = 61,
        INPROGRESS = 62,

        // We just add these to be compatible with std.os, which uses them,

        // They should never get used.

        DQUOT,
        CONNRESET,
        OVERFLOW,
        LOOP,
        TXTBSY,
    };