a885e5075fe66ed834666941764be11135b5f9b3vboxsync/** @file
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * IPRT - errno.h wrapper.
a885e5075fe66ed834666941764be11135b5f9b3vboxsync */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/*
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * Copyright (C) 2012 Oracle Corporation
a885e5075fe66ed834666941764be11135b5f9b3vboxsync *
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * available from http://www.virtualbox.org. This file is free software;
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * you can redistribute it and/or modify it under the terms of the GNU
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * General Public License (GPL) as published by the Free Software
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a885e5075fe66ed834666941764be11135b5f9b3vboxsync *
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * The contents of this file may alternatively be used under the terms
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * of the Common Development and Distribution License Version 1.0
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * VirtualBox OSE distribution, in which case the provisions of the
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * CDDL are applicable instead of those of the GPL.
a885e5075fe66ed834666941764be11135b5f9b3vboxsync *
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * You may elect to license modified versions of this file under the
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * terms and conditions of either the GPL or the CDDL or both.
a885e5075fe66ed834666941764be11135b5f9b3vboxsync */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ___iprt_errno_h___
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#define ___iprt_errno_h___
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef IPRT_NO_CRT
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_OS_DARWIN) && defined(KERNEL)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# include <sys/errno.h>
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX) && defined(__KERNEL__)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# include <linux/errno.h>
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_FREEBSD) && defined(_KERNEL)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# include <sys/errno.h>
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# include <errno.h>
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/*
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * Supply missing errno values according to the current RT_OS_XXX definition.
a885e5075fe66ed834666941764be11135b5f9b3vboxsync *
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * Note! These supplements are for making no-CRT mode, as well as making UNIXy
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * code that makes used of odd errno defines internally, work smoothly.
a885e5075fe66ed834666941764be11135b5f9b3vboxsync *
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * When adding more error codes, always check the following errno.h sources:
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * - RT_OS_DARWIN: http://fxr.watson.org/fxr/source/bsd/sys/errno.h?v=xnu-1699.24.8
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * - RT_OS_FREEBSD: http://fxr.watson.org/fxr/source/sys/errno.h?v=DFBSD
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * - RT_OS_NETBSD: http://fxr.watson.org/fxr/source/sys/errno.h?v=NETBSD
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * - RT_OS_OPENBSD: http://fxr.watson.org/fxr/source/sys/errno.h?v=OPENBSD
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * - RT_OS_OS2: http://svn.netlabs.org/libc/browser/trunk/libc/include/sys/errno.h
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * - RT_OS_LINUX: http://fxr.watson.org/fxr/source/include/asm-generic/errno.h?v=linux-2.6
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * - RT_OS_SOLARIS: http://fxr.watson.org/fxr/source/common/sys/errno.h?v=OPENSOLARIS
a885e5075fe66ed834666941764be11135b5f9b3vboxsync * - RT_OS_WINDOWS: tools/win.x86/vcc/v8sp1/include/errno.h
a885e5075fe66ed834666941764be11135b5f9b3vboxsync */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#if defined(RT_OS_DARWIN) \
a885e5075fe66ed834666941764be11135b5f9b3vboxsync || defined(RT_OS_FREEBSD) \
a885e5075fe66ed834666941764be11135b5f9b3vboxsync || defined(RT_OS_NETBSD) \
a885e5075fe66ed834666941764be11135b5f9b3vboxsync || defined(RT_OS_OPENBSD) \
a885e5075fe66ed834666941764be11135b5f9b3vboxsync || defined(RT_OS_OS2)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define RT_ERRNO_OS_BSD
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifdef RT_OS_SOLARIS
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define RT_ERRNO_OS_SYSV_HARDCORE /* ?? */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/* The relatively similar part. */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EPERM
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EPERM (1)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOENT
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOENT (2)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ESRCH
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ESRCH (3)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EINTR
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EINTR (4)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EIO
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EIO (5)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENXIO
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENXIO (6)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef E2BIG
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define E2BIG (7)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOEXEC
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOEXEC (8)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EBADF
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EBADF (9)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ECHILD
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ECHILD (10)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EAGAIN
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EAGAIN (35)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EAGAIN (11)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EWOULDBLOCK
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EWOULDBLOCK EAGAIN
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EDEADLK
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EDEADLK (11)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EDEADLK (35)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_WINDOWS)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EDEADLK (36)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EDEADLK (45)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EDEADLOCK
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EDEADLOCK EDEADLK
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOMEM
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOMEM (12)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EACCES
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EACCES (13)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EFAULT
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EFAULT (14)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOTBLK
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOTBLK (15)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EBUSY
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EBUSY (16)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EEXIST
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EEXIST (17)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EXDEV
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EXDEV (18)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENODEV
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENODEV (19)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOTDIR
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOTDIR (20)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EISDIR
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EISDIR (21)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EINVAL
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EINVAL (22)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENFILE
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENFILE (23)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EMFILE
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EMFILE (24)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOTTY
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOTTY (25)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ETXTBSY
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ETXTBSY (26)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EFBIG
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EFBIG (27)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOSPC
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOSPC (28)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ESPIPE
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ESPIPE (29)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EROFS
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EROFS (30)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EMLINK
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EMLINK (31)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EPIPE
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EPIPE (32)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EDOM
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EDOM (33)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ERANGE
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ERANGE (34)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/* 35 - also EAGAIN on BSD and EDEADLK on Linux. */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOMSG
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_OS_DARWIN)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOMSG (91)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_FREEBSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOMSG (83)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOMSG (42)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOMSG (35)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/* 36 - Also EDEADLK on Windows. */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EIDRM
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_OS_DARWIN)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EIDRM (90)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_FREEBSD) || defined(RT_OS_NETBSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EIDRM (82)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_OPENBSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EIDRM (89)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EIDRM (43)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_WINDOWS)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EIDRM (600)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EIDRM (36)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EINPROGRESS
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EINPROGRESS (36)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EINPROGRESS (115)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EINPROGRESS (150)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENAMETOOLONG
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENAMETOOLONG (63)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENAMETOOLONG (36)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENAMETOOLONG (78)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/* 37 */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ECHRNG
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_SYSV_HARDCORE)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ECHRNG (37)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ECHRNG (599)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOLCK
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOLCK (77)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOLCK (37)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOLCK (46)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EALREADY
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EALREADY (37)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EALREADY (114)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EALREADY (149)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/** @todo errno constants {37..44}. */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/* 45 - also EDEADLK on Solaris, EL2NSYNC on Linux. */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef ENOTSUP
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOTSUP (45)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOTSUP (95)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define ENOTSUP (48)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EOPNOTSUPP
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EOPNOTSUPP ENOTSUP
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EOPNOTSUPP ENOTSUP
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EOPNOTSUPP (122)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/** @todo errno constants {46..74}. */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/* 75 - note that Solaris has constant with value 75. */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EOVERFLOW
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_OS_OPENBSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EOVERFLOW (87)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EOVERFLOW (84)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# elif defined(RT_OS_LINUX)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EOVERFLOW (75)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EOVERFLOW (79)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#ifndef EPROGMISMATCH
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# if defined(RT_ERRNO_OS_BSD)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EPROGMISMATCH (75)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# else
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# define EPROGMISMATCH (598)
a885e5075fe66ed834666941764be11135b5f9b3vboxsync# endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync/** @todo errno constants {76..}. */
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync
a885e5075fe66ed834666941764be11135b5f9b3vboxsync#endif