/* * Copyright (c) 2018-2020, Andreas Kling * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once enum ErrnoCode { EPERM = 1, #define EPERM EPERM ENOENT, #define ENOENT ENOENT ESRCH, #define ESRCH ESRCH EINTR, #define EINTR EINTR EIO, #define EIO EIO ENXIO, #define ENXIO ENXIO E2BIG, #define E2BIG E2BIG ENOEXEC, #define ENOEXEC ENOEXEC EBADF, #define EBADF EBADF ECHILD, #define ECHILD ECHILD EAGAIN, #define EAGAIN EAGAIN ENOMEM, #define ENOMEM ENOMEM EACCES, #define EACCES EACCES EFAULT, #define EFAULT EFAULT ENOTBLK, #define ENOTBLK ENOTBLK EBUSY, #define EBUSY EBUSY EEXIST, #define EEXIST EEXIST EXDEV, #define EXDEV EXDEV ENODEV, #define ENODEV ENODEV ENOTDIR, #define ENOTDIR ENOTDIR EISDIR, #define EISDIR EISDIR EINVAL, #define EINVAL EINVAL ENFILE, #define ENFILE ENFILE EMFILE, #define EMFILE EMFILE ENOTTY, #define ENOTTY ENOTTY ETXTBSY, #define ETXTBSY ETXTBSY EFBIG, #define EFBIG EFBIG ENOSPC, #define ENOSPC ENOSPC ESPIPE, #define ESPIPE ESPIPE EROFS, #define EROFS EROFS EMLINK, #define EMLINK EMLINK EPIPE, #define EPIPE EPIPE ERANGE, #define ERANGE ERANGE ENAMETOOLONG, #define ENAMETOOLONG ENAMETOOLONG ELOOP, #define ELOOP ELOOP EOVERFLOW, #define EOVERFLOW EOVERFLOW EOPNOTSUPP, #define EOPNOTSUPP EOPNOTSUPP ENOSYS, #define ENOSYS ENOSYS ENOTIMPL, #define ENOTIMPL ENOTIMPL EAFNOSUPPORT, #define EAFNOSUPPORT EAFNOSUPPORT ENOTSOCK, #define ENOTSOCK ENOTSOCK EADDRINUSE, #define EADDRINUSE EADDRINUSE EWHYTHO, #define EWHYTHO EWHYTHO ENOTEMPTY, #define ENOTEMPTY ENOTEMPTY EDOM, #define EDOM EDOM ECONNREFUSED, #define ECONNREFUSED ECONNREFUSED EADDRNOTAVAIL, #define EADDRNOTAVAIL EADDRNOTAVAIL EISCONN, #define EISCONN EISCONN ECONNABORTED, #define ECONNABORTED ECONNABORTED EALREADY, #define EALREADY EALREADY ECONNRESET, #define ECONNRESET ECONNRESET EDESTADDRREQ, #define EDESTADDRREQ EDESTADDRREQ EHOSTUNREACH, #define EHOSTUNREACH EHOSTUNREACH EILSEQ, #define EILSEQ EILSEQ EMSGSIZE, #define EMSGSIZE EMSGSIZE ENETDOWN, #define ENETDOWN ENETDOWN ENETUNREACH, #define ENETUNREACH ENETUNREACH ENETRESET, #define ENETRESET ENETRESET ENOBUFS, #define ENOBUFS ENOBUFS ENOLCK, #define ENOLCK ENOLCK ENOMSG, #define ENOMSG ENOMSG ENOPROTOOPT, #define ENOPROTOOPT ENOPROTOOPT ENOTCONN, #define ENOTCONN ENOTCONN EWOULDBLOCK, #define EWOULDBLOCK EWOULDBLOCK EPROTONOSUPPORT, #define EPROTONOSUPPORT EPROTONOSUPPORT EDEADLK, #define EDEADLK EDEADLK ETIMEDOUT, #define ETIMEDOUT ETIMEDOUT EPROTOTYPE, #define EPROTOTYPE EPROTOTYPE EINPROGRESS, #define EINPROGRESS EINPROGRESS ENOTHREAD, #define ENOTHREAD ENOTHREAD EPROTO, #define EPROTO EPROTO ENOTSUP, #define ENOTSUP ENOTSUP EPFNOSUPPORT, #define EPFNOSUPPORT EPFNOSUPPORT EDIRINTOSELF, #define EDIRINTOSELF EDIRINTOSELF EMAXERRNO, #define EMAXERRNO EMAXERRNO };