Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Commit 07db441

Browse files
committed
Fix Issue 19424 - Add Haiku support to core.stdc.errno
1 parent 8d0c816 commit 07db441

File tree

1 file changed

+328
-0
lines changed

1 file changed

+328
-0
lines changed

src/core/stdc/errno.d

Lines changed: 328 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,15 @@ else version (Solaris)
137137
alias errno = ___errno;
138138
}
139139
}
140+
else version (Haiku)
141+
{
142+
// https://github.com/haiku/haiku/blob/master/headers/posix/errno.h
143+
extern (C)
144+
{
145+
ref int _errnop();
146+
alias errno = _errnop;
147+
}
148+
}
140149
else
141150
{
142151
///
@@ -1596,6 +1605,325 @@ else version (Solaris)
15961605
enum EINPROGRESS = 150 /** operation now in progress */;
15971606
enum ESTALE = 151 /** Stale NFS file handle */;
15981607
}
1608+
else version (Haiku)
1609+
{
1610+
// https://github.com/haiku/haiku/blob/master/headers/os/support/Errors.h
1611+
// https://github.com/haiku/haiku/blob/master/headers/build/os/support/Errors.h
1612+
import core.stdc.limits : INT_MIN;
1613+
enum B_GENERAL_ERROR_BASE = INT_MIN;
1614+
enum B_OS_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x1000);
1615+
enum B_APP_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x2000);
1616+
enum B_INTERFACE_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x3000);
1617+
enum B_MEDIA_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x4000);
1618+
/* - 0x41ff */
1619+
enum B_TRANSLATION_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x4800);
1620+
/* - 0x48ff */
1621+
enum B_MIDI_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x5000);
1622+
enum B_STORAGE_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x6000);
1623+
enum B_POSIX_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x7000);
1624+
enum B_MAIL_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x8000);
1625+
enum B_PRINT_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0x9000);
1626+
enum B_DEVICE_ERROR_BASE = (B_GENERAL_ERROR_BASE + 0xa000);
1627+
1628+
/* General Errors */
1629+
enum B_NO_MEMORY = (B_GENERAL_ERROR_BASE + 0);
1630+
enum B_IO_ERROR = (B_GENERAL_ERROR_BASE + 1);
1631+
enum B_PERMISSION_DENIED = (B_GENERAL_ERROR_BASE + 2);
1632+
enum B_BAD_INDEX = (B_GENERAL_ERROR_BASE + 3);
1633+
enum B_BAD_TYPE = (B_GENERAL_ERROR_BASE + 4);
1634+
enum B_BAD_VALUE = (B_GENERAL_ERROR_BASE + 5);
1635+
enum B_MISMATCHED_VALUES = (B_GENERAL_ERROR_BASE + 6);
1636+
enum B_NAME_NOT_FOUND = (B_GENERAL_ERROR_BASE + 7);
1637+
enum B_NAME_IN_USE = (B_GENERAL_ERROR_BASE + 8);
1638+
enum B_TIMED_OUT = (B_GENERAL_ERROR_BASE + 9);
1639+
enum B_INTERRUPTED = (B_GENERAL_ERROR_BASE + 10);
1640+
enum B_WOULD_BLOCK = (B_GENERAL_ERROR_BASE + 11);
1641+
enum B_CANCELED = (B_GENERAL_ERROR_BASE + 12);
1642+
enum B_NO_INIT = (B_GENERAL_ERROR_BASE + 13);
1643+
enum B_NOT_INITIALIZED = (B_GENERAL_ERROR_BASE + 13);
1644+
enum B_BUSY = (B_GENERAL_ERROR_BASE + 14);
1645+
enum B_NOT_ALLOWED = (B_GENERAL_ERROR_BASE + 15);
1646+
enum B_BAD_DATA = (B_GENERAL_ERROR_BASE + 16);
1647+
enum B_DONT_DO_THAT = (B_GENERAL_ERROR_BASE + 17);
1648+
1649+
enum B_ERROR = (-1);
1650+
enum B_OK = (int(0));
1651+
enum B_NO_ERROR = (int(0));
1652+
1653+
/* Kernel Kit Errors */
1654+
enum B_BAD_SEM_ID = (B_OS_ERROR_BASE + 0);
1655+
enum B_NO_MORE_SEMS = (B_OS_ERROR_BASE + 1);
1656+
1657+
enum B_BAD_THREAD_ID = (B_OS_ERROR_BASE + 0x100);
1658+
enum B_NO_MORE_THREADS = (B_OS_ERROR_BASE + 0x101);
1659+
enum B_BAD_THREAD_STATE = (B_OS_ERROR_BASE + 0x102);
1660+
enum B_BAD_TEAM_ID = (B_OS_ERROR_BASE + 0x103);
1661+
enum B_NO_MORE_TEAMS = (B_OS_ERROR_BASE + 0x104);
1662+
1663+
enum B_BAD_PORT_ID = (B_OS_ERROR_BASE + 0x200);
1664+
enum B_NO_MORE_PORTS = (B_OS_ERROR_BASE + 0x201);
1665+
1666+
enum B_BAD_IMAGE_ID = (B_OS_ERROR_BASE + 0x300);
1667+
enum B_BAD_ADDRESS = (B_OS_ERROR_BASE + 0x301);
1668+
enum B_NOT_AN_EXECUTABLE = (B_OS_ERROR_BASE + 0x302);
1669+
enum B_MISSING_LIBRARY = (B_OS_ERROR_BASE + 0x303);
1670+
enum B_MISSING_SYMBOL = (B_OS_ERROR_BASE + 0x304);
1671+
enum B_UNKNOWN_EXECUTABLE = (B_OS_ERROR_BASE + 0x305);
1672+
enum B_LEGACY_EXECUTABLE = (B_OS_ERROR_BASE + 0x306);
1673+
1674+
enum B_DEBUGGER_ALREADY_INSTALLED = (B_OS_ERROR_BASE + 0x400);
1675+
1676+
/* Application Kit Errors */
1677+
enum B_BAD_REPLY = (B_APP_ERROR_BASE + 0);
1678+
enum B_DUPLICATE_REPLY = (B_APP_ERROR_BASE + 1);
1679+
enum B_MESSAGE_TO_SELF = (B_APP_ERROR_BASE + 2);
1680+
enum B_BAD_HANDLER = (B_APP_ERROR_BASE + 3);
1681+
enum B_ALREADY_RUNNING = (B_APP_ERROR_BASE + 4);
1682+
enum B_LAUNCH_FAILED = (B_APP_ERROR_BASE + 5);
1683+
enum B_AMBIGUOUS_APP_LAUNCH = (B_APP_ERROR_BASE + 6);
1684+
enum B_UNKNOWN_MIME_TYPE = (B_APP_ERROR_BASE + 7);
1685+
enum B_BAD_SCRIPT_SYNTAX = (B_APP_ERROR_BASE + 8);
1686+
enum B_LAUNCH_FAILED_NO_RESOLVE_LINK = (B_APP_ERROR_BASE + 9);
1687+
enum B_LAUNCH_FAILED_EXECUTABLE = (B_APP_ERROR_BASE + 10);
1688+
enum B_LAUNCH_FAILED_APP_NOT_FOUND = (B_APP_ERROR_BASE + 11);
1689+
enum B_LAUNCH_FAILED_APP_IN_TRASH = (B_APP_ERROR_BASE + 12);
1690+
enum B_LAUNCH_FAILED_NO_PREFERRED_APP = (B_APP_ERROR_BASE + 13);
1691+
enum B_LAUNCH_FAILED_FILES_APP_NOT_FOUND = (B_APP_ERROR_BASE + 14);
1692+
enum B_BAD_MIME_SNIFFER_RULE = (B_APP_ERROR_BASE + 15);
1693+
enum B_NOT_A_MESSAGE = (B_APP_ERROR_BASE + 16);
1694+
enum B_SHUTDOWN_CANCELLED = (B_APP_ERROR_BASE + 17);
1695+
enum B_SHUTTING_DOWN = (B_APP_ERROR_BASE + 18);
1696+
1697+
/* Storage Kit/File System Errors */
1698+
enum B_FILE_ERROR = (B_STORAGE_ERROR_BASE + 0);
1699+
enum B_FILE_NOT_FOUND = (B_STORAGE_ERROR_BASE + 1);
1700+
/* deprecated: use B_ENTRY_NOT_FOUND instead */
1701+
enum B_FILE_EXISTS = (B_STORAGE_ERROR_BASE + 2);
1702+
enum B_ENTRY_NOT_FOUND = (B_STORAGE_ERROR_BASE + 3);
1703+
enum B_NAME_TOO_LONG = (B_STORAGE_ERROR_BASE + 4);
1704+
enum B_NOT_A_DIRECTORY = (B_STORAGE_ERROR_BASE + 5);
1705+
enum B_DIRECTORY_NOT_EMPTY = (B_STORAGE_ERROR_BASE + 6);
1706+
enum B_DEVICE_FULL = (B_STORAGE_ERROR_BASE + 7);
1707+
enum B_READ_ONLY_DEVICE = (B_STORAGE_ERROR_BASE + 8);
1708+
enum B_IS_A_DIRECTORY = (B_STORAGE_ERROR_BASE + 9);
1709+
enum B_NO_MORE_FDS = (B_STORAGE_ERROR_BASE + 10);
1710+
enum B_CROSS_DEVICE_LINK = (B_STORAGE_ERROR_BASE + 11);
1711+
enum B_LINK_LIMIT = (B_STORAGE_ERROR_BASE + 12);
1712+
enum B_BUSTED_PIPE = (B_STORAGE_ERROR_BASE + 13);
1713+
enum B_UNSUPPORTED = (B_STORAGE_ERROR_BASE + 14);
1714+
enum B_PARTITION_TOO_SMALL = (B_STORAGE_ERROR_BASE + 15);
1715+
enum B_PARTIAL_READ = (B_STORAGE_ERROR_BASE + 16);
1716+
enum B_PARTIAL_WRITE = (B_STORAGE_ERROR_BASE + 17);
1717+
1718+
/* POSIX Errors */
1719+
enum B_USE_POSITIVE_POSIX_ERRORS = false;
1720+
1721+
static if (B_USE_POSITIVE_POSIX_ERRORS)
1722+
{
1723+
enum B_TO_POSIX_ERROR(int code) = -code;
1724+
}
1725+
else
1726+
{
1727+
enum B_TO_POSIX_ERROR(int code) = code;
1728+
}
1729+
alias B_FROM_POSIX_ERROR = B_TO_POSIX_ERROR;
1730+
1731+
enum B_POSIX_ENOMEM = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 0);
1732+
enum E2BIG = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 1);
1733+
enum ECHILD = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 2);
1734+
enum EDEADLK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 3);
1735+
enum EFBIG = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 4);
1736+
enum EMLINK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 5);
1737+
enum ENFILE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 6);
1738+
enum ENODEV = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 7);
1739+
enum ENOLCK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 8);
1740+
enum ENOSYS = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 9);
1741+
enum ENOTTY = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 10);
1742+
enum ENXIO = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 11);
1743+
enum ESPIPE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 12);
1744+
enum ESRCH = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 13);
1745+
enum EFPOS = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 14);
1746+
enum ESIGPARM = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 15);
1747+
enum EDOM = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 16);
1748+
enum ERANGE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 17);
1749+
enum EPROTOTYPE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 18);
1750+
enum EPROTONOSUPPORT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 19);
1751+
enum EPFNOSUPPORT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 20);
1752+
enum EAFNOSUPPORT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 21);
1753+
enum EADDRINUSE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 22);
1754+
enum EADDRNOTAVAIL = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 23);
1755+
enum ENETDOWN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 24);
1756+
enum ENETUNREACH = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 25);
1757+
enum ENETRESET = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 26);
1758+
enum ECONNABORTED = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 27);
1759+
enum ECONNRESET = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 28);
1760+
enum EISCONN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 29);
1761+
enum ENOTCONN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 30);
1762+
enum ESHUTDOWN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 31);
1763+
enum ECONNREFUSED = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 32);
1764+
enum EHOSTUNREACH = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 33);
1765+
enum ENOPROTOOPT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 34);
1766+
enum ENOBUFS = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 35);
1767+
enum EINPROGRESS = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 36);
1768+
enum EALREADY = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 37);
1769+
enum EILSEQ = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 38);
1770+
enum ENOMSG = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 39);
1771+
enum ESTALE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 40);
1772+
enum EOVERFLOW = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 41);
1773+
enum EMSGSIZE = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 42);
1774+
enum EOPNOTSUPP = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 43);
1775+
enum ENOTSOCK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 44);
1776+
enum EHOSTDOWN = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 45);
1777+
enum EBADMSG = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 46);
1778+
enum ECANCELED = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 47);
1779+
enum EDESTADDRREQ = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 48);
1780+
enum EDQUOT = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 49);
1781+
enum EIDRM = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 50);
1782+
enum EMULTIHOP = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 51);
1783+
enum ENODATA = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 52);
1784+
enum ENOLINK = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 53);
1785+
enum ENOSR = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 54);
1786+
enum ENOSTR = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 55);
1787+
enum ENOTSUP = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 56);
1788+
enum EPROTO = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 57);
1789+
enum ETIME = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 58);
1790+
enum ETXTBSY = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 59);
1791+
enum ENOATTR = B_TO_POSIX_ERROR!(B_POSIX_ERROR_BASE + 60);
1792+
1793+
/* B_NO_MEMORY (0x80000000) can't be negated, so it needs special handling */
1794+
static if (B_USE_POSITIVE_POSIX_ERRORS)
1795+
enum ENOMEM = B_POSIX_ENOMEM;
1796+
else
1797+
enum ENOMEM = B_NO_MEMORY;
1798+
1799+
/* POSIX errors that can be mapped to BeOS error codes */
1800+
enum EACCES = B_TO_POSIX_ERROR!(B_PERMISSION_DENIED);
1801+
enum EINTR = B_TO_POSIX_ERROR!(B_INTERRUPTED);
1802+
enum EIO = B_TO_POSIX_ERROR!(B_IO_ERROR);
1803+
enum EBUSY = B_TO_POSIX_ERROR!(B_BUSY);
1804+
enum EFAULT = B_TO_POSIX_ERROR!(B_BAD_ADDRESS);
1805+
enum ETIMEDOUT = B_TO_POSIX_ERROR!(B_TIMED_OUT);
1806+
enum EAGAIN = B_TO_POSIX_ERROR!(B_WOULD_BLOCK) /* SysV compatibility */;
1807+
enum EWOULDBLOCK = B_TO_POSIX_ERROR!(B_WOULD_BLOCK) /* BSD compatibility */;
1808+
enum EBADF = B_TO_POSIX_ERROR!(B_FILE_ERROR);
1809+
enum EEXIST = B_TO_POSIX_ERROR!(B_FILE_EXISTS);
1810+
enum EINVAL = B_TO_POSIX_ERROR!(B_BAD_VALUE);
1811+
enum ENAMETOOLONG = B_TO_POSIX_ERROR!(B_NAME_TOO_LONG);
1812+
enum ENOENT = B_TO_POSIX_ERROR!(B_ENTRY_NOT_FOUND);
1813+
enum EPERM = B_TO_POSIX_ERROR!(B_NOT_ALLOWED);
1814+
enum ENOTDIR = B_TO_POSIX_ERROR!(B_NOT_A_DIRECTORY);
1815+
enum EISDIR = B_TO_POSIX_ERROR!(B_IS_A_DIRECTORY);
1816+
enum ENOTEMPTY = B_TO_POSIX_ERROR!(B_DIRECTORY_NOT_EMPTY);
1817+
enum ENOSPC = B_TO_POSIX_ERROR!(B_DEVICE_FULL);
1818+
enum EROFS = B_TO_POSIX_ERROR!(B_READ_ONLY_DEVICE);
1819+
enum EMFILE = B_TO_POSIX_ERROR!(B_NO_MORE_FDS);
1820+
enum EXDEV = B_TO_POSIX_ERROR!(B_CROSS_DEVICE_LINK);
1821+
enum ELOOP = B_TO_POSIX_ERROR!(B_LINK_LIMIT);
1822+
enum ENOEXEC = B_TO_POSIX_ERROR!(B_NOT_AN_EXECUTABLE);
1823+
enum EPIPE = B_TO_POSIX_ERROR!(B_BUSTED_PIPE);
1824+
1825+
/* new error codes that can be mapped to POSIX errors */
1826+
enum B_BUFFER_OVERFLOW = B_FROM_POSIX_ERROR!(EOVERFLOW);
1827+
enum B_TOO_MANY_ARGS = B_FROM_POSIX_ERROR!(E2BIG);
1828+
enum B_FILE_TOO_LARGE = B_FROM_POSIX_ERROR!(EFBIG);
1829+
enum B_RESULT_NOT_REPRESENTABLE = B_FROM_POSIX_ERROR!(ERANGE);
1830+
enum B_DEVICE_NOT_FOUND = B_FROM_POSIX_ERROR!(ENODEV);
1831+
enum B_NOT_SUPPORTED = B_FROM_POSIX_ERROR!(EOPNOTSUPP);
1832+
1833+
/* Media Kit Errors */
1834+
enum B_STREAM_NOT_FOUND = (B_MEDIA_ERROR_BASE + 0);
1835+
enum B_SERVER_NOT_FOUND = (B_MEDIA_ERROR_BASE + 1);
1836+
enum B_RESOURCE_NOT_FOUND = (B_MEDIA_ERROR_BASE + 2);
1837+
enum B_RESOURCE_UNAVAILABLE = (B_MEDIA_ERROR_BASE + 3);
1838+
enum B_BAD_SUBSCRIBER = (B_MEDIA_ERROR_BASE + 4);
1839+
enum B_SUBSCRIBER_NOT_ENTERED = (B_MEDIA_ERROR_BASE + 5);
1840+
enum B_BUFFER_NOT_AVAILABLE = (B_MEDIA_ERROR_BASE + 6);
1841+
enum B_LAST_BUFFER_ERROR = (B_MEDIA_ERROR_BASE + 7);
1842+
1843+
enum B_MEDIA_SYSTEM_FAILURE = (B_MEDIA_ERROR_BASE + 100);
1844+
enum B_MEDIA_BAD_NODE = (B_MEDIA_ERROR_BASE + 101);
1845+
enum B_MEDIA_NODE_BUSY = (B_MEDIA_ERROR_BASE + 102);
1846+
enum B_MEDIA_BAD_FORMAT = (B_MEDIA_ERROR_BASE + 103);
1847+
enum B_MEDIA_BAD_BUFFER = (B_MEDIA_ERROR_BASE + 104);
1848+
enum B_MEDIA_TOO_MANY_NODES = (B_MEDIA_ERROR_BASE + 105);
1849+
enum B_MEDIA_TOO_MANY_BUFFERS = (B_MEDIA_ERROR_BASE + 106);
1850+
enum B_MEDIA_NODE_ALREADY_EXISTS = (B_MEDIA_ERROR_BASE + 107);
1851+
enum B_MEDIA_BUFFER_ALREADY_EXISTS = (B_MEDIA_ERROR_BASE + 108);
1852+
enum B_MEDIA_CANNOT_SEEK = (B_MEDIA_ERROR_BASE + 109);
1853+
enum B_MEDIA_CANNOT_CHANGE_RUN_MODE = (B_MEDIA_ERROR_BASE + 110);
1854+
enum B_MEDIA_APP_ALREADY_REGISTERED = (B_MEDIA_ERROR_BASE + 111);
1855+
enum B_MEDIA_APP_NOT_REGISTERED = (B_MEDIA_ERROR_BASE + 112);
1856+
enum B_MEDIA_CANNOT_RECLAIM_BUFFERS = (B_MEDIA_ERROR_BASE + 113);
1857+
enum B_MEDIA_BUFFERS_NOT_RECLAIMED = (B_MEDIA_ERROR_BASE + 114);
1858+
enum B_MEDIA_TIME_SOURCE_STOPPED = (B_MEDIA_ERROR_BASE + 115);
1859+
enum B_MEDIA_TIME_SOURCE_BUSY = (B_MEDIA_ERROR_BASE + 116);
1860+
enum B_MEDIA_BAD_SOURCE = (B_MEDIA_ERROR_BASE + 117);
1861+
enum B_MEDIA_BAD_DESTINATION = (B_MEDIA_ERROR_BASE + 118);
1862+
enum B_MEDIA_ALREADY_CONNECTED = (B_MEDIA_ERROR_BASE + 119);
1863+
enum B_MEDIA_NOT_CONNECTED = (B_MEDIA_ERROR_BASE + 120);
1864+
enum B_MEDIA_BAD_CLIP_FORMAT = (B_MEDIA_ERROR_BASE + 121);
1865+
enum B_MEDIA_ADDON_FAILED = (B_MEDIA_ERROR_BASE + 122);
1866+
enum B_MEDIA_ADDON_DISABLED = (B_MEDIA_ERROR_BASE + 123);
1867+
enum B_MEDIA_CHANGE_IN_PROGRESS = (B_MEDIA_ERROR_BASE + 124);
1868+
enum B_MEDIA_STALE_CHANGE_COUNT = (B_MEDIA_ERROR_BASE + 125);
1869+
enum B_MEDIA_ADDON_RESTRICTED = (B_MEDIA_ERROR_BASE + 126);
1870+
enum B_MEDIA_NO_HANDLER = (B_MEDIA_ERROR_BASE + 127);
1871+
enum B_MEDIA_DUPLICATE_FORMAT = (B_MEDIA_ERROR_BASE + 128);
1872+
enum B_MEDIA_REALTIME_DISABLED = (B_MEDIA_ERROR_BASE + 129);
1873+
enum B_MEDIA_REALTIME_UNAVAILABLE = (B_MEDIA_ERROR_BASE + 130);
1874+
1875+
/* Mail Kit Errors */
1876+
enum B_MAIL_NO_DAEMON = (B_MAIL_ERROR_BASE + 0);
1877+
enum B_MAIL_UNKNOWN_USER = (B_MAIL_ERROR_BASE + 1);
1878+
enum B_MAIL_WRONG_PASSWORD = (B_MAIL_ERROR_BASE + 2);
1879+
enum B_MAIL_UNKNOWN_HOST = (B_MAIL_ERROR_BASE + 3);
1880+
enum B_MAIL_ACCESS_ERROR = (B_MAIL_ERROR_BASE + 4);
1881+
enum B_MAIL_UNKNOWN_FIELD = (B_MAIL_ERROR_BASE + 5);
1882+
enum B_MAIL_NO_RECIPIENT = (B_MAIL_ERROR_BASE + 6);
1883+
enum B_MAIL_INVALID_MAIL = (B_MAIL_ERROR_BASE + 7);
1884+
1885+
/* Printing Errors */
1886+
enum B_NO_PRINT_SERVER = (B_PRINT_ERROR_BASE + 0);
1887+
1888+
/* Device Kit Errors */
1889+
enum B_DEV_INVALID_IOCTL = (B_DEVICE_ERROR_BASE + 0);
1890+
enum B_DEV_NO_MEMORY = (B_DEVICE_ERROR_BASE + 1);
1891+
enum B_DEV_BAD_DRIVE_NUM = (B_DEVICE_ERROR_BASE + 2);
1892+
enum B_DEV_NO_MEDIA = (B_DEVICE_ERROR_BASE + 3);
1893+
enum B_DEV_UNREADABLE = (B_DEVICE_ERROR_BASE + 4);
1894+
enum B_DEV_FORMAT_ERROR = (B_DEVICE_ERROR_BASE + 5);
1895+
enum B_DEV_TIMEOUT = (B_DEVICE_ERROR_BASE + 6);
1896+
enum B_DEV_RECALIBRATE_ERROR = (B_DEVICE_ERROR_BASE + 7);
1897+
enum B_DEV_SEEK_ERROR = (B_DEVICE_ERROR_BASE + 8);
1898+
enum B_DEV_ID_ERROR = (B_DEVICE_ERROR_BASE + 9);
1899+
enum B_DEV_READ_ERROR = (B_DEVICE_ERROR_BASE + 10);
1900+
enum B_DEV_WRITE_ERROR = (B_DEVICE_ERROR_BASE + 11);
1901+
enum B_DEV_NOT_READY = (B_DEVICE_ERROR_BASE + 12);
1902+
enum B_DEV_MEDIA_CHANGED = (B_DEVICE_ERROR_BASE + 13);
1903+
enum B_DEV_MEDIA_CHANGE_REQUESTED = (B_DEVICE_ERROR_BASE + 14);
1904+
enum B_DEV_RESOURCE_CONFLICT = (B_DEVICE_ERROR_BASE + 15);
1905+
enum B_DEV_CONFIGURATION_ERROR = (B_DEVICE_ERROR_BASE + 16);
1906+
enum B_DEV_DISABLED_BY_USER = (B_DEVICE_ERROR_BASE + 17);
1907+
enum B_DEV_DOOR_OPEN = (B_DEVICE_ERROR_BASE + 18);
1908+
1909+
enum B_DEV_INVALID_PIPE = (B_DEVICE_ERROR_BASE + 19);
1910+
enum B_DEV_CRC_ERROR = (B_DEVICE_ERROR_BASE + 20);
1911+
enum B_DEV_STALLED = (B_DEVICE_ERROR_BASE + 21);
1912+
enum B_DEV_BAD_PID = (B_DEVICE_ERROR_BASE + 22);
1913+
enum B_DEV_UNEXPECTED_PID = (B_DEVICE_ERROR_BASE + 23);
1914+
enum B_DEV_DATA_OVERRUN = (B_DEVICE_ERROR_BASE + 24);
1915+
enum B_DEV_DATA_UNDERRUN = (B_DEVICE_ERROR_BASE + 25);
1916+
enum B_DEV_FIFO_OVERRUN = (B_DEVICE_ERROR_BASE + 26);
1917+
enum B_DEV_FIFO_UNDERRUN = (B_DEVICE_ERROR_BASE + 27);
1918+
enum B_DEV_PENDING = (B_DEVICE_ERROR_BASE + 28);
1919+
enum B_DEV_MULTIPLE_ERRORS = (B_DEVICE_ERROR_BASE + 29);
1920+
enum B_DEV_TOO_LATE = (B_DEVICE_ERROR_BASE + 30);
1921+
1922+
/* Translation Kit Errors */
1923+
enum B_TRANSLATION_BASE_ERROR = (B_TRANSLATION_ERROR_BASE + 0);
1924+
enum B_NO_TRANSLATOR = (B_TRANSLATION_ERROR_BASE + 1);
1925+
enum B_ILLEGAL_DATA = (B_TRANSLATION_ERROR_BASE + 2);
1926+
}
15991927
else
16001928
{
16011929
static assert(false, "Unsupported platform");

0 commit comments

Comments
 (0)