Win32OperatingSystem.st
changeset 16303 aad4b514271c
parent 16289 78bd98e104bb
child 16309 6df7a4841fb6
equal deleted inserted replaced
16302:6e87ae369992 16303:aad4b514271c
  1633     |sym typ holder|
  1633     |sym typ holder|
  1634 
  1634 
  1635 %{
  1635 %{
  1636     /* claus:
  1636     /* claus:
  1637      * I made this primitive code, since errnos are not
  1637      * I made this primitive code, since errnos are not
  1638      * standard across unixes
  1638      * standard across operating systems
  1639      */
  1639      */
  1640 
       
  1641     typ = @symbol(defaultOsErrorSignal);
       
  1642     sym = @symbol(ERROR_OTHER);
       
  1643 
  1640 
  1644     if (__isSmallInteger(errNr) || (__unsignedLongIntVal(errNr) > 0)) {
  1641     if (__isSmallInteger(errNr) || (__unsignedLongIntVal(errNr) > 0)) {
  1645       int __eno = __unsignedLongIntVal(errNr);
  1642       int __eno = __unsignedLongIntVal(errNr);
  1646 
  1643 
  1647       if (__isWIN32Error(__eno)) {
  1644       if (__isWIN32Error(__eno)) {
  1648 	switch (__eno & 0xFFFF) {
  1645         switch (__eno & 0xFFFF) {
  1649 	    /*
  1646             /*
  1650 	     * WIN32 GetLastError returns
  1647              * WIN32 GetLastError returns
  1651 	     */
  1648              */
  1652 	    case ERROR_INVALID_FUNCTION:
  1649             case ERROR_INVALID_FUNCTION:
  1653 		sym = @symbol(ERROR_INVALID_FUNCTION);
  1650                 sym = @symbol(ERROR_INVALID_FUNCTION);
  1654 		typ = @symbol(illegalOperationSignal);
  1651                 typ = @symbol(illegalOperationSignal);
  1655 		break;
  1652                 break;
  1656 
  1653 
  1657 	    case ERROR_BAD_FORMAT:
  1654             case ERROR_BAD_FORMAT:
  1658 		sym = @symbol(ERROR_BAD_FORMAT);
  1655                 sym = @symbol(ERROR_BAD_FORMAT);
  1659 		typ = @symbol(invalidArgumentsSignal);
  1656                 typ = @symbol(invalidArgumentsSignal);
  1660 		break;
  1657                 break;
  1661 
  1658 
  1662 	    case ERROR_FILE_NOT_FOUND:
  1659             case ERROR_FILE_NOT_FOUND:
  1663 		sym = @symbol(ERROR_FILE_NOT_FOUND);
  1660                 sym = @symbol(ERROR_FILE_NOT_FOUND);
  1664 		typ = @symbol(nonexistentSignal);
  1661                 typ = @symbol(nonexistentSignal);
  1665 		break;
  1662                 break;
  1666 
  1663 
  1667 	    case ERROR_PATH_NOT_FOUND:
  1664             case ERROR_PATH_NOT_FOUND:
  1668 		sym = @symbol(ERROR_PATH_NOT_FOUND);
  1665                 sym = @symbol(ERROR_PATH_NOT_FOUND);
  1669 		typ = @symbol(nonexistentSignal);
  1666                 typ = @symbol(nonexistentSignal);
  1670 		break;
  1667                 break;
  1671 
  1668 
  1672 	    case ERROR_TOO_MANY_OPEN_FILES:
  1669             case ERROR_TOO_MANY_OPEN_FILES:
  1673 		sym = @symbol(ERROR_TOO_MANY_OPEN_FILES);
  1670                 sym = @symbol(ERROR_TOO_MANY_OPEN_FILES);
  1674 		typ = @symbol(noResourcesSignal);
  1671                 typ = @symbol(noResourcesSignal);
  1675 		break;
  1672                 break;
  1676 
  1673 
  1677 	    /*
  1674             /*
  1678 	     * what a nice errorCode - thats the most "useful" one I ever
  1675              * what a nice errorCode - thats the most "useful" one I ever
  1679 	     * encountered ... (... those stupid micro-softies ...)
  1676              * encountered ... (... those stupid micro-softies ...)
  1680 	     */
  1677              */
  1681 	    case ERROR_OPEN_FAILED:
  1678             case ERROR_OPEN_FAILED:
  1682 		sym = @symbol(ERROR_OPEN_FAILED);
  1679                 sym = @symbol(ERROR_OPEN_FAILED);
  1683 		typ = @symbol(noResourcesSignal);
  1680                 typ = @symbol(noResourcesSignal);
  1684 		break;
  1681                 break;
  1685 
  1682 
  1686 	    case ERROR_ACCESS_DENIED:
  1683             case ERROR_ACCESS_DENIED:
  1687 		sym = @symbol(ERROR_ACCESS_DENIED);
  1684                 sym = @symbol(ERROR_ACCESS_DENIED);
  1688 		typ = @symbol(noPermissionsSignal);
  1685                 typ = @symbol(noPermissionsSignal);
  1689 		break;
  1686                 break;
  1690 
  1687 
  1691 	    case ERROR_INVALID_HANDLE:
  1688             case ERROR_INVALID_HANDLE:
  1692 		sym = @symbol(ERROR_INVALID_HANDLE);
  1689                 sym = @symbol(ERROR_INVALID_HANDLE);
  1693 		typ = @symbol(invalidArgumentsSignal);
  1690                 typ = @symbol(invalidArgumentsSignal);
  1694 		break;
  1691                 break;
  1695 
  1692 
  1696 	    case ERROR_NOT_ENOUGH_MEMORY:
  1693             case ERROR_NOT_ENOUGH_MEMORY:
  1697 		sym = @symbol(ERROR_NOT_ENOUGH_MEMORY);
  1694                 sym = @symbol(ERROR_NOT_ENOUGH_MEMORY);
  1698 		typ = @symbol(noResourcesSignal);
  1695                 typ = @symbol(noResourcesSignal);
  1699 		break;
  1696                 break;
  1700 
  1697 
  1701 	    case ERROR_NO_SYSTEM_RESOURCES:
  1698             case ERROR_NO_SYSTEM_RESOURCES:
  1702 		sym = @symbol(ERROR_NO_SYSTEM_RESOURCES);
  1699                 sym = @symbol(ERROR_NO_SYSTEM_RESOURCES);
  1703 		typ = @symbol(noResourcesSignal);
  1700                 typ = @symbol(noResourcesSignal);
  1704 		break;
  1701                 break;
  1705 
  1702 
  1706 	    case ERROR_NONPAGED_SYSTEM_RESOURCES:
  1703             case ERROR_NONPAGED_SYSTEM_RESOURCES:
  1707 		sym = @symbol(ERROR_NONPAGED_SYSTEM_RESOURCES);
  1704                 sym = @symbol(ERROR_NONPAGED_SYSTEM_RESOURCES);
  1708 		typ = @symbol(noResourcesSignal);
  1705                 typ = @symbol(noResourcesSignal);
  1709 		break;
  1706                 break;
  1710 
  1707 
  1711 	    case ERROR_PAGED_SYSTEM_RESOURCES:
  1708             case ERROR_PAGED_SYSTEM_RESOURCES:
  1712 		sym = @symbol(ERROR_PAGED_SYSTEM_RESOURCES);
  1709                 sym = @symbol(ERROR_PAGED_SYSTEM_RESOURCES);
  1713 		typ = @symbol(noResourcesSignal);
  1710                 typ = @symbol(noResourcesSignal);
  1714 		break;
  1711                 break;
  1715 
  1712 
  1716 	    case ERROR_INVALID_ACCESS:
  1713             case ERROR_INVALID_ACCESS:
  1717 		sym = @symbol(ERROR_INVALID_ACCESS);
  1714                 sym = @symbol(ERROR_INVALID_ACCESS);
  1718 		typ = @symbol(inappropriateOperationSignal);
  1715                 typ = @symbol(inappropriateOperationSignal);
  1719 		break;
  1716                 break;
  1720 
  1717 
  1721 	    case ERROR_INVALID_DATA:
  1718             case ERROR_INVALID_DATA:
  1722 		sym = @symbol(ERROR_INVALID_DATA);
  1719                 sym = @symbol(ERROR_INVALID_DATA);
  1723 		typ = @symbol(invalidArgumentsSignal);
  1720                 typ = @symbol(invalidArgumentsSignal);
  1724 		break;
  1721                 break;
  1725 
  1722 
  1726 	    case ERROR_INVALID_NAME:
  1723             case ERROR_INVALID_NAME:
  1727 		sym = @symbol(ERROR_INVALID_NAME);
  1724                 sym = @symbol(ERROR_INVALID_NAME);
  1728 		typ = @symbol(invalidArgumentsSignal);
  1725                 typ = @symbol(invalidArgumentsSignal);
  1729 		break;
  1726                 break;
  1730 
  1727 
  1731 	    case ERROR_ARENA_TRASHED:
  1728             case ERROR_ARENA_TRASHED:
  1732 		sym = @symbol(ERROR_ARENA_TRASHED);
  1729                 sym = @symbol(ERROR_ARENA_TRASHED);
  1733 		typ = @symbol(noResourcesSignal);
  1730                 typ = @symbol(noResourcesSignal);
  1734 		break;
  1731                 break;
  1735 
  1732 
  1736 	    case ERROR_OUTOFMEMORY:
  1733             case ERROR_OUTOFMEMORY:
  1737 		sym = @symbol(ERROR_OUTOFMEMORY);
  1734                 sym = @symbol(ERROR_OUTOFMEMORY);
  1738 		typ = @symbol(noResourcesSignal);
  1735                 typ = @symbol(noResourcesSignal);
  1739 		break;
  1736                 break;
  1740 
  1737 
  1741 	    case ERROR_BROKEN_PIPE:
  1738             case ERROR_BROKEN_PIPE:
  1742 		sym = @symbol(ERROR_BROKEN_PIPE);
  1739                 sym = @symbol(ERROR_BROKEN_PIPE);
  1743 		typ = @symbol(peerFaultSignal);
  1740                 typ = @symbol(peerFaultSignal);
  1744 		break;
  1741                 break;
  1745 
  1742 
  1746 	    case ERROR_GEN_FAILURE:
  1743             case ERROR_GEN_FAILURE:
  1747 		sym = @symbol(ERROR_GEN_FAILURE);
  1744                 sym = @symbol(ERROR_GEN_FAILURE);
  1748 		break;
  1745                 break;
  1749 
  1746 
  1750 	    case ERROR_WRITE_PROTECT:
  1747             case ERROR_WRITE_PROTECT:
  1751 		sym = @symbol(ERROR_WRITE_PROTECT);
  1748                 sym = @symbol(ERROR_WRITE_PROTECT);
  1752 		typ = @symbol(inappropriateOperationSignal);
  1749                 typ = @symbol(inappropriateOperationSignal);
  1753 		break;
  1750                 break;
  1754 
  1751 
  1755 	    case ERROR_WRITE_FAULT:
  1752             case ERROR_WRITE_FAULT:
  1756 		sym = @symbol(ERROR_WRITE_FAULT);
  1753                 sym = @symbol(ERROR_WRITE_FAULT);
  1757 		typ = @symbol(transferFaultSignal);
  1754                 typ = @symbol(transferFaultSignal);
  1758 		break;
  1755                 break;
  1759 
  1756 
  1760 	    case ERROR_READ_FAULT:
  1757             case ERROR_READ_FAULT:
  1761 		sym = @symbol(ERROR_READ_FAULT);
  1758                 sym = @symbol(ERROR_READ_FAULT);
  1762 		typ = @symbol(transferFaultSignal);
  1759                 typ = @symbol(transferFaultSignal);
  1763 		break;
  1760                 break;
  1764 
  1761 
  1765 	    case ERROR_HANDLE_DISK_FULL:
  1762             case ERROR_HANDLE_DISK_FULL:
  1766 		sym = @symbol(ERROR_HANDLE_DISK_FULL);
  1763                 sym = @symbol(ERROR_HANDLE_DISK_FULL);
  1767 		typ = @symbol(volumeFullSignal);
  1764                 typ = @symbol(volumeFullSignal);
  1768 		break;
  1765                 break;
  1769 
  1766 
  1770 	    case ERROR_DISK_FULL:
  1767             case ERROR_DISK_FULL:
  1771 		sym = @symbol(ERROR_DISK_FULL);
  1768                 sym = @symbol(ERROR_DISK_FULL);
  1772 		typ = @symbol(volumeFullSignal);
  1769                 typ = @symbol(volumeFullSignal);
  1773 		break;
  1770                 break;
  1774 
  1771 
  1775 	    case ERROR_SHARING_VIOLATION:
  1772             case ERROR_SHARING_VIOLATION:
  1776 		sym = @symbol(ERROR_SHARING_VIOLATION);
  1773                 sym = @symbol(ERROR_SHARING_VIOLATION);
  1777 		typ = @symbol(noPermissionsSignal);
  1774                 typ = @symbol(noPermissionsSignal);
  1778 		break;
  1775                 break;
  1779 
  1776 
  1780 	    case ERROR_LOCK_VIOLATION:
  1777             case ERROR_LOCK_VIOLATION:
  1781 		sym = @symbol(ERROR_LOCK_VIOLATION);
  1778                 sym = @symbol(ERROR_LOCK_VIOLATION);
  1782 		typ = @symbol(noPermissionsSignal);
  1779                 typ = @symbol(noPermissionsSignal);
  1783 		break;
  1780                 break;
  1784 
  1781 
  1785 	    case ERROR_INVALID_PARAMETER:
  1782             case ERROR_INVALID_PARAMETER:
  1786 		sym = @symbol(ERROR_INVALID_PARAMETER);
  1783                 sym = @symbol(ERROR_INVALID_PARAMETER);
  1787 		typ = @symbol(invalidArgumentsSignal);
  1784                 typ = @symbol(invalidArgumentsSignal);
  1788 		break;
  1785                 break;
  1789 
  1786 
  1790 	    case ERROR_NET_WRITE_FAULT:
  1787             case ERROR_NET_WRITE_FAULT:
  1791 		sym = @symbol(ERROR_NET_WRITE_FAULT);
  1788                 sym = @symbol(ERROR_NET_WRITE_FAULT);
  1792 		typ = @symbol(transferFaultSignal);
  1789                 typ = @symbol(transferFaultSignal);
  1793 		break;
  1790                 break;
  1794 
  1791 
  1795 	    case ERROR_NOT_SUPPORTED:
  1792             case ERROR_NOT_SUPPORTED:
  1796 		sym = @symbol(ERROR_NOT_SUPPORTED);
  1793                 sym = @symbol(ERROR_NOT_SUPPORTED);
  1797 		typ = @symbol(inappropriateOperationSignal);
  1794                 typ = @symbol(inappropriateOperationSignal);
  1798 		break;
  1795                 break;
  1799 
  1796 
  1800 	    case ERROR_REM_NOT_LIST:
  1797             case ERROR_REM_NOT_LIST:
  1801 		sym = @symbol(ERROR_REM_NOT_LIST);
  1798                 sym = @symbol(ERROR_REM_NOT_LIST);
  1802 		typ = @symbol(noResourcesSignal);
  1799                 typ = @symbol(noResourcesSignal);
  1803 		break;
  1800                 break;
  1804 
  1801 
  1805 	    case ERROR_NETWORK_ACCESS_DENIED:
  1802             case ERROR_NETWORK_ACCESS_DENIED:
  1806 		sym = @symbol(ERROR_NETWORK_ACCESS_DENIED);
  1803                 sym = @symbol(ERROR_NETWORK_ACCESS_DENIED);
  1807 		typ = @symbol(noPermissionsSignal);
  1804                 typ = @symbol(noPermissionsSignal);
  1808 		break;
  1805                 break;
  1809 
  1806 
  1810 	    case ERROR_DUP_NAME:
  1807             case ERROR_DUP_NAME:
  1811 		sym = @symbol(ERROR_DUP_NAME);
  1808                 sym = @symbol(ERROR_DUP_NAME);
  1812 		typ = @symbol(noResourcesSignal);
  1809                 typ = @symbol(noResourcesSignal);
  1813 		break;
  1810                 break;
  1814 
  1811 
  1815 	    case ERROR_BAD_NETPATH:
  1812             case ERROR_BAD_NETPATH:
  1816 		sym = @symbol(ERROR_BAD_NETPATH);
  1813                 sym = @symbol(ERROR_BAD_NETPATH);
  1817 		typ = @symbol(noResourcesSignal);
  1814                 typ = @symbol(noResourcesSignal);
  1818 		break;
  1815                 break;
  1819 
  1816 
  1820 	    case ERROR_NETWORK_BUSY:
  1817             case ERROR_NETWORK_BUSY:
  1821 		sym = @symbol(ERROR_NETWORK_BUSY);
  1818                 sym = @symbol(ERROR_NETWORK_BUSY);
  1822 		typ = @symbol(noResourcesSignal);
  1819                 typ = @symbol(noResourcesSignal);
  1823 		break;
  1820                 break;
  1824 
  1821 
  1825 	    case ERROR_DRIVE_LOCKED:
  1822             case ERROR_DRIVE_LOCKED:
  1826 		sym = @symbol(ERROR_DRIVE_LOCKED);
  1823                 sym = @symbol(ERROR_DRIVE_LOCKED);
  1827 		typ = @symbol(inappropriateOperationSignal);
  1824                 typ = @symbol(inappropriateOperationSignal);
  1828 		break;
  1825                 break;
  1829 
  1826 
  1830 	    case ERROR_INVALID_DRIVE:
  1827             case ERROR_INVALID_DRIVE:
  1831 		sym = @symbol(ERROR_INVALID_DRIVE);
  1828                 sym = @symbol(ERROR_INVALID_DRIVE);
  1832 		typ = @symbol(invalidArgumentsSignal);
  1829                 typ = @symbol(invalidArgumentsSignal);
  1833 		break;
  1830                 break;
  1834 
  1831 
  1835 	    case ERROR_WRONG_DISK:
  1832             case ERROR_WRONG_DISK:
  1836 		sym = @symbol(ERROR_WRONG_DISK);
  1833                 sym = @symbol(ERROR_WRONG_DISK);
  1837 		typ = @symbol(noResourcesSignal);
  1834                 typ = @symbol(noResourcesSignal);
  1838 		break;
  1835                 break;
  1839 
  1836 
  1840 	    case ERROR_CURRENT_DIRECTORY:
  1837             case ERROR_CURRENT_DIRECTORY:
  1841 		sym = @symbol(ERROR_CURRENT_DIRECTORY);
  1838                 sym = @symbol(ERROR_CURRENT_DIRECTORY);
  1842 		typ = @symbol(invalidArgumentsSignal);
  1839                 typ = @symbol(invalidArgumentsSignal);
  1843 		break;
  1840                 break;
  1844 
  1841 
  1845 	    /*
  1842             /*
  1846 	     * what a nice errorCode - thats the most "useful" one I ever
  1843              * what a nice errorCode - thats the most "useful" one I ever
  1847 	     * encountered ... (... those stupid micro-softies ...)
  1844              * encountered ... (... those stupid micro-softies ...)
  1848 	     */
  1845              */
  1849 	    case ERROR_CANNOT_MAKE:
  1846             case ERROR_CANNOT_MAKE:
  1850 		sym = @symbol(ERROR_CANNOT_MAKE);
  1847                 sym = @symbol(ERROR_CANNOT_MAKE);
  1851 		typ = @symbol(inappropriateOperationSignal);
  1848                 typ = @symbol(inappropriateOperationSignal);
  1852 		break;
  1849                 break;
  1853 
  1850 
  1854 	    case ERROR_NO_MORE_FILES:
  1851             case ERROR_NO_MORE_FILES:
  1855 		sym = @symbol(ERROR_NO_MORE_FILES);
  1852                 sym = @symbol(ERROR_NO_MORE_FILES);
  1856 		typ = @symbol(noResourcesSignal);
  1853                 typ = @symbol(noResourcesSignal);
  1857 		break;
  1854                 break;
  1858 
  1855 
  1859 	    case ERROR_NOT_READY:
  1856             case ERROR_NOT_READY:
  1860 		sym = @symbol(ERROR_NOT_READY);
  1857                 sym = @symbol(ERROR_NOT_READY);
  1861 		typ = @symbol(noResourcesSignal);
  1858                 typ = @symbol(noResourcesSignal);
  1862 		break;
  1859                 break;
  1863 
  1860 
  1864 	    case ERROR_NOT_DOS_DISK:
  1861             case ERROR_NOT_DOS_DISK:
  1865 		sym = @symbol(ERROR_NOT_DOS_DISK);
  1862                 sym = @symbol(ERROR_NOT_DOS_DISK);
  1866 		typ = @symbol(invalidArgumentsSignal);
  1863                 typ = @symbol(invalidArgumentsSignal);
  1867 		break;
  1864                 break;
  1868 
  1865 
  1869 	    case ERROR_OUT_OF_PAPER:
  1866             case ERROR_OUT_OF_PAPER:
  1870 		sym = @symbol(ERROR_OUT_OF_PAPER);
  1867                 sym = @symbol(ERROR_OUT_OF_PAPER);
  1871 		typ = @symbol(noResourcesSignal);
  1868                 typ = @symbol(noResourcesSignal);
  1872 		break;
  1869                 break;
  1873 
  1870 
  1874 	    case ERROR_PRINTQ_FULL:
  1871             case ERROR_PRINTQ_FULL:
  1875 		sym = @symbol(ERROR_PRINTQ_FULL);
  1872                 sym = @symbol(ERROR_PRINTQ_FULL);
  1876 		typ = @symbol(noResourcesSignal);
  1873                 typ = @symbol(noResourcesSignal);
  1877 		break;
  1874                 break;
  1878 
  1875 
  1879 	    case ERROR_FILE_EXISTS:
  1876             case ERROR_FILE_EXISTS:
  1880 		sym = @symbol(ERROR_FILE_EXISTS);
  1877                 sym = @symbol(ERROR_FILE_EXISTS);
  1881 		typ = @symbol(existingReferentSignal);
  1878                 typ = @symbol(existingReferentSignal);
  1882 		break;
  1879                 break;
  1883 
  1880 
  1884 	    default:
  1881             default:
  1885 		break;
  1882                 break;
  1886 	}
  1883         }
  1887       } else {
  1884       } else {
  1888 	switch (__eno) {
  1885         switch (__eno) {
  1889 	    /*
  1886             /*
  1890 	     * POSIX errnos - these should be defined
  1887              * POSIX errnos - these should be defined
  1891 	     */
  1888              */
  1892 #ifdef EPERM
  1889 #ifdef EPERM
  1893 	    case EPERM:
  1890             case EPERM:
  1894 		sym = @symbol(EPERM);
  1891                 sym = @symbol(EPERM);
  1895 		typ = @symbol(noPermissionsSignal);
  1892                 typ = @symbol(noPermissionsSignal);
  1896 		break;
  1893                 break;
  1897 #endif
  1894 #endif
  1898 #ifdef ENOENT
  1895 #ifdef ENOENT
  1899 	    case ENOENT:
  1896             case ENOENT:
  1900 		sym = @symbol(ENOENT);
  1897                 sym = @symbol(ENOENT);
  1901 		typ = @symbol(nonexistentSignal);
  1898                 typ = @symbol(nonexistentSignal);
  1902 		break;
  1899                 break;
  1903 #endif
  1900 #endif
  1904 #ifdef ESRCH
  1901 #ifdef ESRCH
  1905 	    case ESRCH:
  1902             case ESRCH:
  1906 		sym = @symbol(ESRCH);
  1903                 sym = @symbol(ESRCH);
  1907 		typ = @symbol(unavailableReferentSignal);
  1904                 typ = @symbol(unavailableReferentSignal);
  1908 		break;
  1905                 break;
  1909 #endif
  1906 #endif
  1910 #ifdef EINTR
  1907 #ifdef EINTR
  1911 	    case EINTR:
  1908             case EINTR:
  1912 		sym = @symbol(EINTR);
  1909                 sym = @symbol(EINTR);
  1913 		typ = @symbol(transientErrorSignal);
  1910                 typ = @symbol(transientErrorSignal);
  1914 		break;
  1911                 break;
  1915 #endif
  1912 #endif
  1916 #ifdef EIO
  1913 #ifdef EIO
  1917 	    case EIO:
  1914             case EIO:
  1918 		sym = @symbol(EIO);
  1915                 sym = @symbol(EIO);
  1919 		typ = @symbol(transferFaultSignal);
  1916                 typ = @symbol(transferFaultSignal);
  1920 		break;
  1917                 break;
  1921 #endif
  1918 #endif
  1922 #ifdef ENXIO
  1919 #ifdef ENXIO
  1923 	    case ENXIO:
  1920             case ENXIO:
  1924 		sym = @symbol(ENXIO);
  1921                 sym = @symbol(ENXIO);
  1925 		typ = @symbol(unavailableReferentSignal);
  1922                 typ = @symbol(unavailableReferentSignal);
  1926 		break;
  1923                 break;
  1927 #endif
  1924 #endif
  1928 #ifdef E2BIG
  1925 #ifdef E2BIG
  1929 	    case E2BIG:
  1926             case E2BIG:
  1930 		sym = @symbol(E2BIG);
  1927                 sym = @symbol(E2BIG);
  1931 		typ = @symbol(invalidArgumentsSignal);
  1928                 typ = @symbol(invalidArgumentsSignal);
  1932 		break;
  1929                 break;
  1933 #endif
  1930 #endif
  1934 #ifdef ENOEXEC
  1931 #ifdef ENOEXEC
  1935 	    case ENOEXEC:
  1932             case ENOEXEC:
  1936 		sym = @symbol(ENOEXEC);
  1933                 sym = @symbol(ENOEXEC);
  1937 		typ = @symbol(inappropriateOperationSignal);
  1934                 typ = @symbol(inappropriateOperationSignal);
  1938 		break;
  1935                 break;
  1939 #endif
  1936 #endif
  1940 #ifdef EBADF
  1937 #ifdef EBADF
  1941 	    case EBADF:
  1938             case EBADF:
  1942 		sym = @symbol(EBADF);
  1939                 sym = @symbol(EBADF);
  1943 		typ = @symbol(badAccessorSignal);
  1940                 typ = @symbol(badAccessorSignal);
  1944 		break;
  1941                 break;
  1945 #endif
  1942 #endif
  1946 #ifdef ECHILD
  1943 #ifdef ECHILD
  1947 	    case ECHILD:
  1944             case ECHILD:
  1948 		sym = @symbol(ECHILD);
  1945                 sym = @symbol(ECHILD);
  1949 		typ = @symbol(informationSignal);
  1946                 typ = @symbol(informationSignal);
  1950 		break;
  1947                 break;
  1951 #endif
  1948 #endif
  1952 #if !defined(EWOULDBLOCK) && defined(EAGAIN) && (EWOULDBLOCK != EAGAIN)
  1949 #if !defined(EWOULDBLOCK) && defined(EAGAIN) && (EWOULDBLOCK != EAGAIN)
  1953 	    case EAGAIN:
  1950             case EAGAIN:
  1954 		sym = @symbol(EAGAIN);
  1951                 sym = @symbol(EAGAIN);
  1955 		typ = @symbol(notReadySignal);
  1952                 typ = @symbol(notReadySignal);
  1956 		break;
  1953                 break;
  1957 #endif
  1954 #endif
  1958 #ifdef ENOMEM
  1955 #ifdef ENOMEM
  1959 	    case ENOMEM:
  1956             case ENOMEM:
  1960 		sym = @symbol(ENOMEM);
  1957                 sym = @symbol(ENOMEM);
  1961 		typ = @symbol(noMemorySignal);
  1958                 typ = @symbol(noMemorySignal);
  1962 		break;
  1959                 break;
  1963 #endif
  1960 #endif
  1964 #ifdef EACCES
  1961 #ifdef EACCES
  1965 	    case EACCES:
  1962             case EACCES:
  1966 		sym = @symbol(EACCES);
  1963                 sym = @symbol(EACCES);
  1967 		typ = @symbol(noPermissionsSignal);
  1964                 typ = @symbol(noPermissionsSignal);
  1968 		break;
  1965                 break;
  1969 #endif
  1966 #endif
  1970 #ifdef EFAULT
  1967 #ifdef EFAULT
  1971 	    case EFAULT:
  1968             case EFAULT:
  1972 		sym = @symbol(EFAULT);
  1969                 sym = @symbol(EFAULT);
  1973 		typ = @symbol(invalidArgumentsSignal);
  1970                 typ = @symbol(invalidArgumentsSignal);
  1974 		break;
  1971                 break;
  1975 #endif
  1972 #endif
  1976 #ifdef EBUSY
  1973 #ifdef EBUSY
  1977 	    case EBUSY:
  1974             case EBUSY:
  1978 		sym = @symbol(EBUSY);
  1975                 sym = @symbol(EBUSY);
  1979 		typ = @symbol(unavailableReferentSignal);
  1976                 typ = @symbol(unavailableReferentSignal);
  1980 		break;
  1977                 break;
  1981 #endif
  1978 #endif
  1982 #ifdef EEXIST
  1979 #ifdef EEXIST
  1983 	    case EEXIST:
  1980             case EEXIST:
  1984 		sym = @symbol(EEXIST);
  1981                 sym = @symbol(EEXIST);
  1985 		typ = @symbol(existingReferentSignal);
  1982                 typ = @symbol(existingReferentSignal);
  1986 		break;
  1983                 break;
  1987 #endif
  1984 #endif
  1988 #ifdef EXDEV
  1985 #ifdef EXDEV
  1989 	    case EXDEV:
  1986             case EXDEV:
  1990 		sym = @symbol(EXDEV);
  1987                 sym = @symbol(EXDEV);
  1991 		typ = @symbol(inappropriateReferentSignal);
  1988                 typ = @symbol(inappropriateReferentSignal);
  1992 		break;
  1989                 break;
  1993 #endif
  1990 #endif
  1994 #ifdef ENODEV
  1991 #ifdef ENODEV
  1995 	    case ENODEV:
  1992             case ENODEV:
  1996 		sym = @symbol(ENODEV);
  1993                 sym = @symbol(ENODEV);
  1997 		typ = @symbol(inaccessibleSignal);
  1994                 typ = @symbol(inaccessibleSignal);
  1998 		break;
  1995                 break;
  1999 #endif
  1996 #endif
  2000 #ifdef ENOTDIR
  1997 #ifdef ENOTDIR
  2001 	    case ENOTDIR:
  1998             case ENOTDIR:
  2002 		sym = @symbol(ENOTDIR);
  1999                 sym = @symbol(ENOTDIR);
  2003 		typ = @symbol(inappropriateOperationSignal);
  2000                 typ = @symbol(inappropriateOperationSignal);
  2004 		break;
  2001                 break;
  2005 #endif
  2002 #endif
  2006 #ifdef EISDIR
  2003 #ifdef EISDIR
  2007 	    case EISDIR:
  2004             case EISDIR:
  2008 		sym = @symbol(EISDIR);
  2005                 sym = @symbol(EISDIR);
  2009 		typ = @symbol(inappropriateOperationSignal);
  2006                 typ = @symbol(inappropriateOperationSignal);
  2010 		break;
  2007                 break;
  2011 #endif
  2008 #endif
  2012 #ifdef EINVAL
  2009 #ifdef EINVAL
  2013 	    case EINVAL:
  2010             case EINVAL:
  2014 		sym = @symbol(EINVAL);
  2011                 sym = @symbol(EINVAL);
  2015 		typ = @symbol(invalidArgumentsSignal);
  2012                 typ = @symbol(invalidArgumentsSignal);
  2016 		break;
  2013                 break;
  2017 #endif
  2014 #endif
  2018 #ifdef ENFILE
  2015 #ifdef ENFILE
  2019 	    case ENFILE:
  2016             case ENFILE:
  2020 		sym = @symbol(ENFILE);
  2017                 sym = @symbol(ENFILE);
  2021 		typ = @symbol(noResourcesSignal);
  2018                 typ = @symbol(noResourcesSignal);
  2022 		break;
  2019                 break;
  2023 #endif
  2020 #endif
  2024 #ifdef EMFILE
  2021 #ifdef EMFILE
  2025 	    case EMFILE:
  2022             case EMFILE:
  2026 		sym = @symbol(EMFILE);
  2023                 sym = @symbol(EMFILE);
  2027 		typ = @symbol(noResourcesSignal);
  2024                 typ = @symbol(noResourcesSignal);
  2028 		break;
  2025                 break;
  2029 #endif
  2026 #endif
  2030 #ifdef ENOTTY
  2027 #ifdef ENOTTY
  2031 	    case ENOTTY:
  2028             case ENOTTY:
  2032 		sym = @symbol(ENOTTY);
  2029                 sym = @symbol(ENOTTY);
  2033 		typ = @symbol(inappropriateOperationSignal);
  2030                 typ = @symbol(inappropriateOperationSignal);
  2034 		break;
  2031                 break;
  2035 #endif
  2032 #endif
  2036 #ifdef EFBIG
  2033 #ifdef EFBIG
  2037 	    case EFBIG:
  2034             case EFBIG:
  2038 		sym = @symbol(EFBIG);
  2035                 sym = @symbol(EFBIG);
  2039 		typ = @symbol(noResourcesSignal);
  2036                 typ = @symbol(noResourcesSignal);
  2040 		break;
  2037                 break;
  2041 #endif
  2038 #endif
  2042 #ifdef ENOSPC
  2039 #ifdef ENOSPC
  2043 	    case ENOSPC:
  2040             case ENOSPC:
  2044 		sym = @symbol(ENOSPC);
  2041                 sym = @symbol(ENOSPC);
  2045 		typ = @symbol(noResourcesSignal);
  2042                 typ = @symbol(noResourcesSignal);
  2046 		break;
  2043                 break;
  2047 #endif
  2044 #endif
  2048 #ifdef ESPIPE
  2045 #ifdef ESPIPE
  2049 	    case ESPIPE:
  2046             case ESPIPE:
  2050 		sym = @symbol(ESPIPE);
  2047                 sym = @symbol(ESPIPE);
  2051 		typ = @symbol(inappropriateOperationSignal);
  2048                 typ = @symbol(inappropriateOperationSignal);
  2052 		break;
  2049                 break;
  2053 #endif
  2050 #endif
  2054 #ifdef EROFS
  2051 #ifdef EROFS
  2055 	    case EROFS:
  2052             case EROFS:
  2056 		sym = @symbol(EROFS);
  2053                 sym = @symbol(EROFS);
  2057 		typ = @symbol(inappropriateOperationSignal);
  2054                 typ = @symbol(inappropriateOperationSignal);
  2058 		break;
  2055                 break;
  2059 #endif
  2056 #endif
  2060 #ifdef EMLINK
  2057 #ifdef EMLINK
  2061 	    case EMLINK:
  2058             case EMLINK:
  2062 		sym = @symbol(EMLINK);
  2059                 sym = @symbol(EMLINK);
  2063 		typ = @symbol(rangeErrorSignal);
  2060                 typ = @symbol(rangeErrorSignal);
  2064 		break;
  2061                 break;
  2065 #endif
  2062 #endif
  2066 #ifdef EPIPE
  2063 #ifdef EPIPE
  2067 	    case EPIPE:
  2064             case EPIPE:
  2068 		sym = @symbol(EPIPE);
  2065                 sym = @symbol(EPIPE);
  2069 		typ = @symbol(peerFaultSignal);
  2066                 typ = @symbol(peerFaultSignal);
  2070 		break;
  2067                 break;
  2071 #endif
  2068 #endif
  2072 #ifdef EDOM
  2069 #ifdef EDOM
  2073 	    case EDOM:
  2070             case EDOM:
  2074 		sym = @symbol(EDOM);
  2071                 sym = @symbol(EDOM);
  2075 		typ = @symbol(rangeErrorSignal);
  2072                 typ = @symbol(rangeErrorSignal);
  2076 		break;
  2073                 break;
  2077 #endif
  2074 #endif
  2078 #ifdef ERANGE
  2075 #ifdef ERANGE
  2079 	    case ERANGE:
  2076             case ERANGE:
  2080 		sym = @symbol(ERANGE);
  2077                 sym = @symbol(ERANGE);
  2081 		typ = @symbol(rangeErrorSignal);
  2078                 typ = @symbol(rangeErrorSignal);
  2082 		break;
  2079                 break;
  2083 #endif
  2080 #endif
  2084 #ifdef EDEADLK
  2081 #ifdef EDEADLK
  2085 # if EDEADLK != EWOULDBLOCK
  2082 # if EDEADLK != EWOULDBLOCK
  2086 	    case EDEADLK:
  2083             case EDEADLK:
  2087 		sym = @symbol(EDEADLK);
  2084                 sym = @symbol(EDEADLK);
  2088 		typ = @symbol(noResourcesSignal);
  2085                 typ = @symbol(noResourcesSignal);
  2089 		break;
  2086                 break;
  2090 # endif
  2087 # endif
  2091 #endif
  2088 #endif
  2092 #ifdef ENAMETOOLONG
  2089 #ifdef ENAMETOOLONG
  2093 	    case ENAMETOOLONG:
  2090             case ENAMETOOLONG:
  2094 		sym = @symbol(ENAMETOOLONG);
  2091                 sym = @symbol(ENAMETOOLONG);
  2095 		typ = @symbol(rangeErrorSignal);
  2092                 typ = @symbol(rangeErrorSignal);
  2096 		break;
  2093                 break;
  2097 #endif
  2094 #endif
  2098 #ifdef ENOLCK
  2095 #ifdef ENOLCK
  2099 	    case ENOLCK:
  2096             case ENOLCK:
  2100 		sym = @symbol(ENOLCK);
  2097                 sym = @symbol(ENOLCK);
  2101 		typ = @symbol(inappropriateOperationSignal);
  2098                 typ = @symbol(inappropriateOperationSignal);
  2102 		break;
  2099                 break;
  2103 #endif
  2100 #endif
  2104 #ifdef ENOSYS
  2101 #ifdef ENOSYS
  2105 	    case ENOSYS:
  2102             case ENOSYS:
  2106 		sym = @symbol(ENOSYS);
  2103                 sym = @symbol(ENOSYS);
  2107 		typ = @symbol(inappropriateOperationSignal);
  2104                 typ = @symbol(inappropriateOperationSignal);
  2108 		break;
  2105                 break;
  2109 #endif
  2106 #endif
  2110 #if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST)
  2107 #if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST)
  2111 	    case ENOTEMPTY:
  2108             case ENOTEMPTY:
  2112 		sym = @symbol(ENOTEMPTY);
  2109                 sym = @symbol(ENOTEMPTY);
  2113 		typ = @symbol(inappropriateReferentSignal);
  2110                 typ = @symbol(inappropriateReferentSignal);
  2114 		break;
  2111                 break;
  2115 #endif
  2112 #endif
  2116 #ifdef EILSEQ
  2113 #ifdef EILSEQ
  2117 	    case EILSEQ:
  2114             case EILSEQ:
  2118 		sym = @symbol(EILSEQ);
  2115                 sym = @symbol(EILSEQ);
  2119 		typ = @symbol(transferFaultSignal);
  2116                 typ = @symbol(transferFaultSignal);
  2120 		break;
  2117                 break;
  2121 #endif
  2118 #endif
  2122 	    /*
  2119             /*
  2123 	     * XPG3 errnos - defined on most systems
  2120              * XPG3 errnos - defined on most systems
  2124 	     */
  2121              */
  2125 #ifdef ENOTBLK
  2122 #ifdef ENOTBLK
  2126 	    case ENOTBLK:
  2123             case ENOTBLK:
  2127 		sym = @symbol(ENOTBLK);
  2124                 sym = @symbol(ENOTBLK);
  2128 		typ = @symbol(inappropriateReferentSignal);
  2125                 typ = @symbol(inappropriateReferentSignal);
  2129 		break;
  2126                 break;
  2130 #endif
  2127 #endif
  2131 #ifdef ETXTBSY
  2128 #ifdef ETXTBSY
  2132 	    case ETXTBSY:
  2129             case ETXTBSY:
  2133 		sym = @symbol(ETXTBSY);
  2130                 sym = @symbol(ETXTBSY);
  2134 		typ = @symbol(inaccessibleSignal);
  2131                 typ = @symbol(inaccessibleSignal);
  2135 		break;
  2132                 break;
  2136 #endif
  2133 #endif
  2137 	    /*
  2134             /*
  2138 	     * some others
  2135              * some others
  2139 	     */
  2136              */
  2140 #ifdef EWOULDBLOCK
  2137 #ifdef EWOULDBLOCK
  2141 	    case EWOULDBLOCK:
  2138             case EWOULDBLOCK:
  2142 		sym = @symbol(EWOULDBLOCK);
  2139                 sym = @symbol(EWOULDBLOCK);
  2143 		typ = @symbol(notReadySignal);
  2140                 typ = @symbol(notReadySignal);
  2144 		break;
  2141                 break;
  2145 #endif
  2142 #endif
  2146 #ifdef ENOMSG
  2143 #ifdef ENOMSG
  2147 	    case ENOMSG:
  2144             case ENOMSG:
  2148 		sym = @symbol(ENOMSG);
  2145                 sym = @symbol(ENOMSG);
  2149 		typ = @symbol(noDataSignal);
  2146                 typ = @symbol(noDataSignal);
  2150 		break;
  2147                 break;
  2151 #endif
  2148 #endif
  2152 #ifdef ELOOP
  2149 #ifdef ELOOP
  2153 	    case ELOOP:
  2150             case ELOOP:
  2154 		sym = @symbol(ELOOP);
  2151                 sym = @symbol(ELOOP);
  2155 		typ = @symbol(rangeErrorSignal);
  2152                 typ = @symbol(rangeErrorSignal);
  2156 		break;
  2153                 break;
  2157 #endif
  2154 #endif
  2158 
  2155 
  2159 	    /*
  2156             /*
  2160 	     * some stream errors
  2157              * some stream errors
  2161 	     */
  2158              */
  2162 #ifdef ETIME
  2159 #ifdef ETIME
  2163 	    case ETIME:
  2160             case ETIME:
  2164 		sym = @symbol(ETIME);
  2161                 sym = @symbol(ETIME);
  2165 		typ = @symbol(peerFaultSignal);
  2162                 typ = @symbol(peerFaultSignal);
  2166 		break;
  2163                 break;
  2167 #endif
  2164 #endif
  2168 #ifdef ENOSR
  2165 #ifdef ENOSR
  2169 	    case ENOSR:
  2166             case ENOSR:
  2170 		sym = @symbol(ENOSR);
  2167                 sym = @symbol(ENOSR);
  2171 		typ = @symbol(noResourcesSignal);
  2168                 typ = @symbol(noResourcesSignal);
  2172 		break;
  2169                 break;
  2173 #endif
  2170 #endif
  2174 #ifdef ENOSTR
  2171 #ifdef ENOSTR
  2175 	    case ENOSTR:
  2172             case ENOSTR:
  2176 		sym = @symbol(ENOSTR);
  2173                 sym = @symbol(ENOSTR);
  2177 		typ = @symbol(inappropriateReferentSignal);
  2174                 typ = @symbol(inappropriateReferentSignal);
  2178 		break;
  2175                 break;
  2179 #endif
  2176 #endif
  2180 #ifdef ECOMM
  2177 #ifdef ECOMM
  2181 	    case ECOMM:
  2178             case ECOMM:
  2182 		sym = @symbol(ECOMM);
  2179                 sym = @symbol(ECOMM);
  2183 		typ = @symbol(transferFaultSignal);
  2180                 typ = @symbol(transferFaultSignal);
  2184 		break;
  2181                 break;
  2185 #endif
  2182 #endif
  2186 #ifdef EPROTO
  2183 #ifdef EPROTO
  2187 	    case EPROTO:
  2184             case EPROTO:
  2188 		sym = @symbol(EPROTO);
  2185                 sym = @symbol(EPROTO);
  2189 		typ = @symbol(inappropriateOperationSignal);
  2186                 typ = @symbol(inappropriateOperationSignal);
  2190 		break;
  2187                 break;
  2191 #endif
  2188 #endif
  2192 	    /*
  2189             /*
  2193 	     * nfs errors
  2190              * nfs errors
  2194 	     */
  2191              */
  2195 #ifdef ESTALE
  2192 #ifdef ESTALE
  2196 	    case ESTALE:
  2193             case ESTALE:
  2197 		sym = @symbol(ESTALE);
  2194                 sym = @symbol(ESTALE);
  2198 		typ = @symbol(unavailableReferentSignal);
  2195                 typ = @symbol(unavailableReferentSignal);
  2199 		break;
  2196                 break;
  2200 #endif
  2197 #endif
  2201 #ifdef EREMOTE
  2198 #ifdef EREMOTE
  2202 	    case EREMOTE:
  2199             case EREMOTE:
  2203 		sym = @symbol(EREMOTE);
  2200                 sym = @symbol(EREMOTE);
  2204 		typ = @symbol(rangeErrorSignal);
  2201                 typ = @symbol(rangeErrorSignal);
  2205 		break;
  2202                 break;
  2206 #endif
  2203 #endif
  2207 	    /*
  2204             /*
  2208 	     * some networking errors
  2205              * some networking errors
  2209 	     */
  2206              */
  2210 #ifdef EINPROGRESS
  2207 #ifdef EINPROGRESS
  2211 	    case EINPROGRESS:
  2208             case EINPROGRESS:
  2212 		sym = @symbol(EINPROGRESS);
  2209                 sym = @symbol(EINPROGRESS);
  2213 		typ = @symbol(operationStartedSignal);
  2210                 typ = @symbol(operationStartedSignal);
  2214 		break;
  2211                 break;
  2215 #endif
  2212 #endif
  2216 #ifdef EALREADY
  2213 #ifdef EALREADY
  2217 	    case EALREADY:
  2214             case EALREADY:
  2218 		sym = @symbol(EALREADY);
  2215                 sym = @symbol(EALREADY);
  2219 		typ = @symbol(operationStartedSignal);
  2216                 typ = @symbol(operationStartedSignal);
  2220 		break;
  2217                 break;
  2221 #endif
  2218 #endif
  2222 #ifdef ENOTSOCK
  2219 #ifdef ENOTSOCK
  2223 	    case ENOTSOCK:
  2220             case ENOTSOCK:
  2224 		sym = @symbol(ENOTSOCK);
  2221                 sym = @symbol(ENOTSOCK);
  2225 		typ = @symbol(inappropriateOperationSignal);
  2222                 typ = @symbol(inappropriateOperationSignal);
  2226 		break;
  2223                 break;
  2227 #endif
  2224 #endif
  2228 #ifdef EDESTADDRREQ
  2225 #ifdef EDESTADDRREQ
  2229 	    case EDESTADDRREQ:
  2226             case EDESTADDRREQ:
  2230 		sym = @symbol(EDESTADDRREQ);
  2227                 sym = @symbol(EDESTADDRREQ);
  2231 		typ = @symbol(underspecifiedSignal);
  2228                 typ = @symbol(underspecifiedSignal);
  2232 		break;
  2229                 break;
  2233 #endif
  2230 #endif
  2234 #ifdef EMSGSIZE
  2231 #ifdef EMSGSIZE
  2235 	    case EMSGSIZE:
  2232             case EMSGSIZE:
  2236 		sym = @symbol(EMSGSIZE);
  2233                 sym = @symbol(EMSGSIZE);
  2237 		typ = @symbol(rangeErrorSignal);
  2234                 typ = @symbol(rangeErrorSignal);
  2238 		break;
  2235                 break;
  2239 #endif
  2236 #endif
  2240 #ifdef EPROTOTYPE
  2237 #ifdef EPROTOTYPE
  2241 	    case EPROTOTYPE:
  2238             case EPROTOTYPE:
  2242 		sym = @symbol(EPROTOTYPE);
  2239                 sym = @symbol(EPROTOTYPE);
  2243 		typ = @symbol(wrongSubtypeForOperationSignal);
  2240                 typ = @symbol(wrongSubtypeForOperationSignal);
  2244 		break;
  2241                 break;
  2245 #endif
  2242 #endif
  2246 #ifdef ENOPROTOOPT
  2243 #ifdef ENOPROTOOPT
  2247 	    case ENOPROTOOPT:
  2244             case ENOPROTOOPT:
  2248 		sym = @symbol(ENOPROTOOPT);
  2245                 sym = @symbol(ENOPROTOOPT);
  2249 		typ = @symbol(unsupportedOperationSignal);
  2246                 typ = @symbol(unsupportedOperationSignal);
  2250 		break;
  2247                 break;
  2251 #endif
  2248 #endif
  2252 #ifdef EPROTONOSUPPORT
  2249 #ifdef EPROTONOSUPPORT
  2253 	    case EPROTONOSUPPORT:
  2250             case EPROTONOSUPPORT:
  2254 		sym = @symbol(EPROTONOSUPPORT);
  2251                 sym = @symbol(EPROTONOSUPPORT);
  2255 		typ = @symbol(unsupportedOperationSignal);
  2252                 typ = @symbol(unsupportedOperationSignal);
  2256 		break;
  2253                 break;
  2257 #endif
  2254 #endif
  2258 #ifdef ESOCKTNOSUPPORT
  2255 #ifdef ESOCKTNOSUPPORT
  2259 	    case ESOCKTNOSUPPORT:
  2256             case ESOCKTNOSUPPORT:
  2260 		sym = @symbol(ESOCKTNOSUPPORT);
  2257                 sym = @symbol(ESOCKTNOSUPPORT);
  2261 		typ = @symbol(unsupportedOperationSignal);
  2258                 typ = @symbol(unsupportedOperationSignal);
  2262 		break;
  2259                 break;
  2263 #endif
  2260 #endif
  2264 #ifdef EOPNOTSUPP
  2261 #ifdef EOPNOTSUPP
  2265 	    case EOPNOTSUPP:
  2262             case EOPNOTSUPP:
  2266 		sym = @symbol(EOPNOTSUPP);
  2263                 sym = @symbol(EOPNOTSUPP);
  2267 		typ = @symbol(inappropriateOperationSignal);
  2264                 typ = @symbol(inappropriateOperationSignal);
  2268 		break;
  2265                 break;
  2269 #endif
  2266 #endif
  2270 #ifdef EPFNOSUPPORT
  2267 #ifdef EPFNOSUPPORT
  2271 	    case EPFNOSUPPORT:
  2268             case EPFNOSUPPORT:
  2272 		sym = @symbol(EPFNOSUPPORT);
  2269                 sym = @symbol(EPFNOSUPPORT);
  2273 		typ = @symbol(unsupportedOperationSignal);
  2270                 typ = @symbol(unsupportedOperationSignal);
  2274 		break;
  2271                 break;
  2275 #endif
  2272 #endif
  2276 #ifdef EAFNOSUPPORT
  2273 #ifdef EAFNOSUPPORT
  2277 	    case EAFNOSUPPORT:
  2274             case EAFNOSUPPORT:
  2278 		sym = @symbol(EAFNOSUPPORT);
  2275                 sym = @symbol(EAFNOSUPPORT);
  2279 		typ = @symbol(unsupportedOperationSignal);
  2276                 typ = @symbol(unsupportedOperationSignal);
  2280 		break;
  2277                 break;
  2281 #endif
  2278 #endif
  2282 #ifdef EADDRINUSE
  2279 #ifdef EADDRINUSE
  2283 	    case EADDRINUSE:
  2280             case EADDRINUSE:
  2284 		sym = @symbol(EADDRINUSE);
  2281                 sym = @symbol(EADDRINUSE);
  2285 		typ = @symbol(existingReferentSignal);
  2282                 typ = @symbol(existingReferentSignal);
  2286 		break;
  2283                 break;
  2287 #endif
  2284 #endif
  2288 #ifdef WSAEADDRINUSE
  2285 #ifdef WSAEADDRINUSE
  2289 	    case WSAEADDRINUSE:
  2286             case WSAEADDRINUSE:
  2290 		sym = @symbol(WSAEADDRINUSE);
  2287                 sym = @symbol(WSAEADDRINUSE);
  2291 		typ = @symbol(existingReferentSignal);
  2288                 typ = @symbol(existingReferentSignal);
  2292 		break;
  2289                 break;
  2293 #endif
  2290 #endif
  2294 
  2291 
  2295 #ifdef EADDRNOTAVAIL
  2292 #ifdef EADDRNOTAVAIL
  2296 	    case EADDRNOTAVAIL:
  2293             case EADDRNOTAVAIL:
  2297 		sym = @symbol(EADDRNOTAVAIL);
  2294                 sym = @symbol(EADDRNOTAVAIL);
  2298 		typ = @symbol(noPermissionsSignal);
  2295                 typ = @symbol(noPermissionsSignal);
  2299 		break;
  2296                 break;
  2300 #endif
  2297 #endif
  2301 #ifdef ETIMEDOUT
  2298 #ifdef ETIMEDOUT
  2302 	    case ETIMEDOUT:
  2299             case ETIMEDOUT:
  2303 		sym = @symbol(ETIMEDOUT);
  2300                 sym = @symbol(ETIMEDOUT);
  2304 		typ = @symbol(peerFaultSignal);
  2301                 typ = @symbol(peerFaultSignal);
  2305 		break;
  2302                 break;
  2306 #endif
  2303 #endif
  2307 #ifdef ECONNREFUSED
  2304 #ifdef ECONNREFUSED
  2308 	    case ECONNREFUSED:
  2305             case ECONNREFUSED:
  2309 		sym = @symbol(ECONNREFUSED);
  2306                 sym = @symbol(ECONNREFUSED);
  2310 		typ = @symbol(peerFaultSignal);
  2307                 typ = @symbol(peerFaultSignal);
  2311 		break;
  2308                 break;
  2312 #endif
  2309 #endif
  2313 #ifdef ENETDOWN
  2310 #ifdef ENETDOWN
  2314 	    case ENETDOWN:
  2311             case ENETDOWN:
  2315 		sym = @symbol(ENETDOWN);
  2312                 sym = @symbol(ENETDOWN);
  2316 		typ = @symbol(peerFaultSignal);
  2313                 typ = @symbol(peerFaultSignal);
  2317 		break;
  2314                 break;
  2318 #endif
  2315 #endif
  2319 #ifdef ENETUNREACH
  2316 #ifdef ENETUNREACH
  2320 	    case ENETUNREACH:
  2317             case ENETUNREACH:
  2321 		sym = @symbol(ENETUNREACH);
  2318                 sym = @symbol(ENETUNREACH);
  2322 		typ = @symbol(peerFaultSignal);
  2319                 typ = @symbol(peerFaultSignal);
  2323 		break;
  2320                 break;
  2324 #endif
  2321 #endif
  2325 #ifdef ENETRESET
  2322 #ifdef ENETRESET
  2326 	    case ENETRESET:
  2323             case ENETRESET:
  2327 		sym = @symbol(ENETRESET);
  2324                 sym = @symbol(ENETRESET);
  2328 		typ = @symbol(peerFaultSignal);
  2325                 typ = @symbol(peerFaultSignal);
  2329 		break;
  2326                 break;
  2330 #endif
  2327 #endif
  2331 #ifdef ECONNABORTED
  2328 #ifdef ECONNABORTED
  2332 	    case ECONNABORTED:
  2329             case ECONNABORTED:
  2333 		sym = @symbol(ECONNABORTED);
  2330                 sym = @symbol(ECONNABORTED);
  2334 		typ = @symbol(peerFaultSignal);
  2331                 typ = @symbol(peerFaultSignal);
  2335 		break;
  2332                 break;
  2336 #endif
  2333 #endif
  2337 #ifdef ECONNRESET
  2334 #ifdef ECONNRESET
  2338 	    case ECONNRESET:
  2335             case ECONNRESET:
  2339 		sym = @symbol(ECONNRESET);
  2336                 sym = @symbol(ECONNRESET);
  2340 		typ = @symbol(peerFaultSignal);
  2337                 typ = @symbol(peerFaultSignal);
  2341 		break;
  2338                 break;
  2342 #endif
  2339 #endif
  2343 #ifdef EISCONN
  2340 #ifdef EISCONN
  2344 	    case EISCONN:
  2341             case EISCONN:
  2345 		sym = @symbol(EISCONN);
  2342                 sym = @symbol(EISCONN);
  2346 		typ = @symbol(unpreparedOperationSignal);
  2343                 typ = @symbol(unpreparedOperationSignal);
  2347 		break;
  2344                 break;
  2348 #endif
  2345 #endif
  2349 #ifdef ENOTCONN
  2346 #ifdef ENOTCONN
  2350 	    case ENOTCONN:
  2347             case ENOTCONN:
  2351 		sym = @symbol(ENOTCONN);
  2348                 sym = @symbol(ENOTCONN);
  2352 		typ = @symbol(unpreparedOperationSignal);
  2349                 typ = @symbol(unpreparedOperationSignal);
  2353 		break;
  2350                 break;
  2354 #endif
  2351 #endif
  2355 #ifdef ESHUTDOWN
  2352 #ifdef ESHUTDOWN
  2356 	    case ESHUTDOWN:
  2353             case ESHUTDOWN:
  2357 		sym = @symbol(ESHUTDOWN);
  2354                 sym = @symbol(ESHUTDOWN);
  2358 		typ = @symbol(unpreparedOperationSignal);
  2355                 typ = @symbol(unpreparedOperationSignal);
  2359 		break;
  2356                 break;
  2360 #endif
  2357 #endif
  2361 #ifdef EHOSTDOWN
  2358 #ifdef EHOSTDOWN
  2362 	    case EHOSTDOWN:
  2359             case EHOSTDOWN:
  2363 		sym = @symbol(EHOSTDOWN);
  2360                 sym = @symbol(EHOSTDOWN);
  2364 		typ = @symbol(peerFaultSignal);
  2361                 typ = @symbol(peerFaultSignal);
  2365 		break;
  2362                 break;
  2366 #endif
  2363 #endif
  2367 #ifdef EHOSTUNREACH
  2364 #ifdef EHOSTUNREACH
  2368 	    case EHOSTUNREACH:
  2365             case EHOSTUNREACH:
  2369 		sym = @symbol(EHOSTUNREACH);
  2366                 sym = @symbol(EHOSTUNREACH);
  2370 		typ = @symbol(peerFaultSignal);
  2367                 typ = @symbol(peerFaultSignal);
  2371 		break;
  2368                 break;
  2372 #endif
  2369 #endif
  2373 
  2370 
  2374 #ifdef WSAEFAULT
  2371 #ifdef WSAEFAULT
  2375 	    case WSAEFAULT:
  2372             case WSAEFAULT:
  2376 		sym = @symbol(WSAEFAULT);
  2373                 sym = @symbol(WSAEFAULT);
  2377 		typ = @symbol(invalidArgumentsSignal);
  2374                 typ = @symbol(invalidArgumentsSignal);
  2378 		break;
  2375                 break;
  2379 #endif
  2376 #endif
  2380 #ifdef WSAEINTR
  2377 #ifdef WSAEINTR
  2381 	    case WSAEINTR:
  2378             case WSAEINTR:
  2382 		sym = @symbol(WSAEINTR);
  2379                 sym = @symbol(WSAEINTR);
  2383 		typ = @symbol(transientErrorSignal);
  2380                 typ = @symbol(transientErrorSignal);
  2384 		break;
  2381                 break;
  2385 #endif
  2382 #endif
  2386 #ifdef WSAEBADF
  2383 #ifdef WSAEBADF
  2387 	    case WSAEBADF:
  2384             case WSAEBADF:
  2388 		sym = @symbol(WSAEBADF);
  2385                 sym = @symbol(WSAEBADF);
  2389 		typ = @symbol(badAccessorSignal);
  2386                 typ = @symbol(badAccessorSignal);
  2390 		break;
  2387                 break;
  2391 #endif
  2388 #endif
  2392 #ifdef WSAEACCES
  2389 #ifdef WSAEACCES
  2393 	    case WSAEACCES:
  2390             case WSAEACCES:
  2394 		sym = @symbol(WSAEACCES);
  2391                 sym = @symbol(WSAEACCES);
  2395 		typ = @symbol(badAccessorSignal);
  2392                 typ = @symbol(badAccessorSignal);
  2396 		break;
  2393                 break;
  2397 #endif
  2394 #endif
  2398 #ifdef WSAEINVAL
  2395 #ifdef WSAEINVAL
  2399 	    case WSAEINVAL:
  2396             case WSAEINVAL:
  2400 		sym = @symbol(WSAEINVAL);
  2397                 sym = @symbol(WSAEINVAL);
  2401 		typ = @symbol(invalidArgumentsSignal);
  2398                 typ = @symbol(invalidArgumentsSignal);
  2402 		break;
  2399                 break;
  2403 #endif
  2400 #endif
  2404 #ifdef WSAEMFILE
  2401 #ifdef WSAEMFILE
  2405 	    case WSAEMFILE:
  2402             case WSAEMFILE:
  2406 		sym = @symbol(WSAEMFILE);
  2403                 sym = @symbol(WSAEMFILE);
  2407 		typ = @symbol(noResourcesSignal);
  2404                 typ = @symbol(noResourcesSignal);
  2408 		break;
  2405                 break;
  2409 #endif
  2406 #endif
  2410 #ifdef WSAEWOULDBLOCK
  2407 #ifdef WSAEWOULDBLOCK
  2411 	    case WSAEWOULDBLOCK:
  2408             case WSAEWOULDBLOCK:
  2412 		sym = @symbol(WSAEWOULDBLOCK);
  2409                 sym = @symbol(WSAEWOULDBLOCK);
  2413 		typ = @symbol(notReadySignal);
  2410                 typ = @symbol(notReadySignal);
  2414 		break;
  2411                 break;
  2415 #endif
  2412 #endif
  2416 #ifdef WSAEINPROGRESS
  2413 #ifdef WSAEINPROGRESS
  2417 	    case WSAEINPROGRESS:
  2414             case WSAEINPROGRESS:
  2418 		sym = @symbol(WSAEINPROGRESS);
  2415                 sym = @symbol(WSAEINPROGRESS);
  2419 		typ = @symbol(operationStartedSignal);
  2416                 typ = @symbol(operationStartedSignal);
  2420 		break;
  2417                 break;
  2421 #endif
  2418 #endif
  2422 #ifdef WSAEALREADY
  2419 #ifdef WSAEALREADY
  2423 	    case WSAEALREADY:
  2420             case WSAEALREADY:
  2424 		sym = @symbol(WSAEALREADY);
  2421                 sym = @symbol(WSAEALREADY);
  2425 		typ = @symbol(operationStartedSignal);
  2422                 typ = @symbol(operationStartedSignal);
  2426 		break;
  2423                 break;
  2427 #endif
  2424 #endif
  2428 #ifdef WSAENOTSOCK
  2425 #ifdef WSAENOTSOCK
  2429 	    case WSAENOTSOCK:
  2426             case WSAENOTSOCK:
  2430 		sym = @symbol(WSAENOTSOCK);
  2427                 sym = @symbol(WSAENOTSOCK);
  2431 		typ = @symbol(inappropriateOperationSignal);
  2428                 typ = @symbol(inappropriateOperationSignal);
  2432 		break;
  2429                 break;
  2433 #endif
  2430 #endif
  2434 #ifdef WSAEPROTONOSUPPORT
  2431 #ifdef WSAEPROTONOSUPPORT
  2435 	    case WSAEPROTONOSUPPORT:
  2432             case WSAEPROTONOSUPPORT:
  2436 		sym = @symbol(WSAEPROTONOSUPPORT);
  2433                 sym = @symbol(WSAEPROTONOSUPPORT);
  2437 		typ = @symbol(unsupportedOperationSignal);
  2434                 typ = @symbol(unsupportedOperationSignal);
  2438 		break;
  2435                 break;
  2439 #endif
  2436 #endif
  2440 #ifdef WSAESOCKTNOSUPPORT
  2437 #ifdef WSAESOCKTNOSUPPORT
  2441 	    case WSAESOCKTNOSUPPORT:
  2438             case WSAESOCKTNOSUPPORT:
  2442 		sym = @symbol(WSAESOCKTNOSUPPORT);
  2439                 sym = @symbol(WSAESOCKTNOSUPPORT);
  2443 		typ = @symbol(unsupportedOperationSignal);
  2440                 typ = @symbol(unsupportedOperationSignal);
  2444 		break;
  2441                 break;
  2445 #endif
  2442 #endif
  2446 #ifdef E_NOINTERFACE
  2443 #ifdef E_NOINTERFACE
  2447 	    case E_NOINTERFACE:
  2444             case E_NOINTERFACE:
  2448 		sym = @symbol(E_NOINTERFACE);
  2445                 sym = @symbol(E_NOINTERFACE);
  2449 		typ = @symbol(noInterfaceSignal);
  2446                 typ = @symbol(noInterfaceSignal);
  2450 		break;
  2447                 break;
  2451 #endif
  2448 #endif
  2452 #ifdef CO_E_NOTINITIALIZED
  2449 #ifdef CO_E_NOTINITIALIZED
  2453 	    case CO_E_NOTINITIALIZED:
  2450             case CO_E_NOTINITIALIZED:
  2454 		sym = @symbol(CO_E_NOTINITIALIZED);
  2451                 sym = @symbol(CO_E_NOTINITIALIZED);
  2455 		typ = @symbol(coNotInitializedSignal);
  2452                 typ = @symbol(coNotInitializedSignal);
  2456 		break;
  2453                 break;
  2457 #endif
  2454 #endif
  2458 #ifdef REGDB_E_CLASSNOTREG
  2455 #ifdef REGDB_E_CLASSNOTREG
  2459 	    case REGDB_E_CLASSNOTREG:
  2456             case REGDB_E_CLASSNOTREG:
  2460 		sym = @symbol(REGDB_E_CLASSNOTREG);
  2457                 sym = @symbol(REGDB_E_CLASSNOTREG);
  2461 		typ = @symbol(classNotRegisteredSignal);
  2458                 typ = @symbol(classNotRegisteredSignal);
  2462 		break;
  2459                 break;
  2463 #endif
  2460 #endif
  2464 #ifdef CLASS_E_NOAGGREGATION
  2461 #ifdef CLASS_E_NOAGGREGATION
  2465 	    case CLASS_E_NOAGGREGATION:
  2462             case CLASS_E_NOAGGREGATION:
  2466 		sym = @symbol(CLASS_E_NOAGGREGATION);
  2463                 sym = @symbol(CLASS_E_NOAGGREGATION);
  2467 		typ = @symbol(noAggregationSignal);
  2464                 typ = @symbol(noAggregationSignal);
  2468 		break;
  2465                 break;
  2469 #endif
  2466 #endif
  2470 #ifdef DISP_E_UNKNOWNNAME
  2467 #ifdef DISP_E_UNKNOWNNAME
  2471 	    case DISP_E_UNKNOWNNAME:
  2468             case DISP_E_UNKNOWNNAME:
  2472 		sym = @symbol(DISP_E_UNKNOWNNAME);
  2469                 sym = @symbol(DISP_E_UNKNOWNNAME);
  2473 		typ = @symbol(unknownNameSignal);
  2470                 typ = @symbol(unknownNameSignal);
  2474 		break;
  2471                 break;
  2475 #endif
  2472 #endif
  2476 #ifdef OLEOBJ_E_NOVERBS
  2473 #ifdef OLEOBJ_E_NOVERBS
  2477 	    case OLEOBJ_E_NOVERBS:
  2474             case OLEOBJ_E_NOVERBS:
  2478 		sym = @symbol(OLEOBJ_E_NOVERBS);
  2475                 sym = @symbol(OLEOBJ_E_NOVERBS);
  2479 		typ = @symbol(noVerbsSignal);
  2476                 typ = @symbol(noVerbsSignal);
  2480 		break;
  2477                 break;
  2481 #endif
  2478 #endif
  2482 
  2479 
  2483 	    default:
  2480             default:
  2484 		break;
  2481                 break;
  2485 	}
  2482         }
  2486       }
  2483       }
  2487     }
  2484     }
  2488 %}.
  2485 %}.
  2489     holder := OSErrorHolder new.
  2486     holder := OSErrorHolder new.
  2490     holder errorSymbol:sym errorCategory:typ.
  2487     sym isNil ifTrue:[
       
  2488         sym := #ERROR_OTHER.
       
  2489         errNr notNil ifTrue:[
       
  2490             "keep symbols as symbols"
       
  2491             holder parameter:(errNr isString ifTrue:[errNr] ifFalse:[errNr asString]).
       
  2492         ].
       
  2493     ].
       
  2494     holder errorSymbol:sym errorCategory:(typ ? #defaultOsErrorSignal).
  2491     ^ holder
  2495     ^ holder
  2492 
  2496 
  2493     "
  2497 
       
  2498     "
       
  2499      OperatingSystem errorHolderForNumber:4
       
  2500      OperatingSystem errorHolderForNumber:#badArgument
  2494      self errorHolderForNumber:16777296
  2501      self errorHolderForNumber:16777296
  2495      self errorHolderForNumber:(self errorNumberFor:#EPERM)
  2502      self errorHolderForNumber:(self errorNumberFor:#EPERM)
  2496      self errorHolderForNumber:(self errorNumberFor:#EIO)
  2503      self errorHolderForNumber:(self errorNumberFor:#EIO)
  2497      self errorHolderForNumber:(self errorNumberFor:#ENXIO)
  2504      self errorHolderForNumber:(self errorNumberFor:#ENXIO)
  2498      self errorHolderForNumber:(self errorNumberFor:#E_NOINTERFACE)
  2505      self errorHolderForNumber:(self errorNumberFor:#E_NOINTERFACE)
 17539 ! !
 17546 ! !
 17540 
 17547 
 17541 !Win32OperatingSystem class methodsFor:'documentation'!
 17548 !Win32OperatingSystem class methodsFor:'documentation'!
 17542 
 17549 
 17543 version
 17550 version
 17544     ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.493 2014-03-31 09:02:15 stefan Exp $'
 17551     ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.494 2014-04-04 08:24:43 stefan Exp $'
 17545 !
 17552 !
 17546 
 17553 
 17547 version_CVS
 17554 version_CVS
 17548     ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.493 2014-03-31 09:02:15 stefan Exp $'
 17555     ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.494 2014-04-04 08:24:43 stefan Exp $'
 17549 !
 17556 !
 17550 
 17557 
 17551 version_SVN
 17558 version_SVN
 17552     ^ '$Id: Win32OperatingSystem.st,v 1.493 2014-03-31 09:02:15 stefan Exp $'
 17559     ^ '$Id: Win32OperatingSystem.st,v 1.494 2014-04-04 08:24:43 stefan Exp $'
 17553 
 17560 
 17554 ! !
 17561 ! !
 17555 
 17562 
 17556 
 17563 
 17557 Win32OperatingSystem initialize!
 17564 Win32OperatingSystem initialize!