15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*** 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* errno.h - system wide error numbers (set by system calls) 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* Copyright (c) 1985-1997, Microsoft Corporation. All rights reserved. 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* Purpose: 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* This file defines the system-wide error numbers (set by 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* system calls). Conforms to the XENIX standard. Extended 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* for compatibility with Uniforum standard. 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* [System V] 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* [Public] 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)****/ 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if _MSC_VER > 1000 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#pragma once 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(_INC_ERRNO) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _INC_ERRNO 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(_WIN32) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#error ERROR: Only Win32 targets supported! 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <winsock.h> 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(__cplusplus) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" { 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define _CRTIMP */ 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _CRTIMP 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(_DLL) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _CRTIMP __declspec(dllimport) 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else /* ndef _DLL */ 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _CRTIMP 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* _DLL */ 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* _CRTIMP */ 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define __cdecl for non-Microsoft compilers */ 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if ( !defined(_MSC_VER) && !defined(__cdecl) ) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __cdecl 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define _CRTAPI1 (for compatibility with the NT SDK) */ 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(_CRTAPI1) 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if _MSC_VER >= 800 && _M_IX86 >= 300 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _CRTAPI1 __cdecl 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _CRTAPI1 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(PTW32_STATIC_LIB) 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# if defined(PTW32_BUILD) 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define PTW32_DLLPORT __declspec (dllexport) 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# else 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define PTW32_DLLPORT __declspec (dllimport) 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# endif 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define PTW32_DLLPORT 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* declare reference to errno */ 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if (defined(_MT) || defined(_MD) || defined(_DLL)) && !defined(_MAC) 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PTW32_DLLPORT int * __cdecl _errno(void); 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define errno (*_errno()) 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else /* ndef _MT && ndef _MD && ndef _DLL */ 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)_CRTIMP extern int errno; 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* _MT || _MD || _DLL */ 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Error Codes */ 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EPERM 1 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOENT 2 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ESRCH 3 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EINTR 4 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EIO 5 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENXIO 6 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define E2BIG 7 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOEXEC 8 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EBADF 9 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ECHILD 10 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EAGAIN 11 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOMEM 12 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EACCES 13 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EFAULT 14 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EBUSY 16 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EEXIST 17 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EXDEV 18 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENODEV 19 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOTDIR 20 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EISDIR 21 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EINVAL 22 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENFILE 23 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EMFILE 24 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOTTY 25 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EFBIG 27 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOSPC 28 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ESPIPE 29 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EROFS 30 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EMLINK 31 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EPIPE 32 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EDOM 33 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ERANGE 34 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EDEADLK 36 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* defined differently in winsock.h on WinCE */ 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(ENAMETOOLONG) 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENAMETOOLONG 38 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOLCK 39 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOSYS 40 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* defined differently in winsock.h on WinCE */ 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(ENOTEMPTY) 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOTEMPTY 41 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EILSEQ 42 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* POSIX 2008 - robust mutexes */ 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EOWNERDEAD 43 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ENOTRECOVERABLE 44 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Support EDEADLOCK for compatibiity with older MS-C versions. 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EDEADLOCK EDEADLK 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(__cplusplus) 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* _INC_ERRNO */ 146