1/*** 2* errno.h - system wide error numbers (set by system calls) 3* 4* Copyright (c) 1985-1997, Microsoft Corporation. All rights reserved. 5* 6* Purpose: 7* This file defines the system-wide error numbers (set by 8* system calls). Conforms to the XENIX standard. Extended 9* for compatibility with Uniforum standard. 10* [System V] 11* 12* [Public] 13* 14****/ 15 16#if _MSC_VER > 1000 17#pragma once 18#endif 19 20#if !defined(_INC_ERRNO) 21#define _INC_ERRNO 22 23#if !defined(_WIN32) 24#error ERROR: Only Win32 targets supported! 25#endif 26 27#include <winsock.h> 28 29#if defined(__cplusplus) 30extern "C" { 31#endif 32 33 34 35/* Define _CRTIMP */ 36 37#ifndef _CRTIMP 38#if defined(_DLL) 39#define _CRTIMP __declspec(dllimport) 40#else /* ndef _DLL */ 41#define _CRTIMP 42#endif /* _DLL */ 43#endif /* _CRTIMP */ 44 45 46/* Define __cdecl for non-Microsoft compilers */ 47 48#if ( !defined(_MSC_VER) && !defined(__cdecl) ) 49#define __cdecl 50#endif 51 52/* Define _CRTAPI1 (for compatibility with the NT SDK) */ 53 54#if !defined(_CRTAPI1) 55#if _MSC_VER >= 800 && _M_IX86 >= 300 56#define _CRTAPI1 __cdecl 57#else 58#define _CRTAPI1 59#endif 60#endif 61 62#if !defined(PTW32_STATIC_LIB) 63# if defined(PTW32_BUILD) 64# define PTW32_DLLPORT __declspec (dllexport) 65# else 66# define PTW32_DLLPORT __declspec (dllimport) 67# endif 68#else 69# define PTW32_DLLPORT 70#endif 71 72/* declare reference to errno */ 73 74#if (defined(_MT) || defined(_MD) || defined(_DLL)) && !defined(_MAC) 75PTW32_DLLPORT int * __cdecl _errno(void); 76#define errno (*_errno()) 77#else /* ndef _MT && ndef _MD && ndef _DLL */ 78_CRTIMP extern int errno; 79#endif /* _MT || _MD || _DLL */ 80 81/* Error Codes */ 82 83#define EPERM 1 84#define ENOENT 2 85#define ESRCH 3 86#define EINTR 4 87#define EIO 5 88#define ENXIO 6 89#define E2BIG 7 90#define ENOEXEC 8 91#define EBADF 9 92#define ECHILD 10 93#define EAGAIN 11 94#define ENOMEM 12 95#define EACCES 13 96#define EFAULT 14 97#define EBUSY 16 98#define EEXIST 17 99#define EXDEV 18 100#define ENODEV 19 101#define ENOTDIR 20 102#define EISDIR 21 103#define EINVAL 22 104#define ENFILE 23 105#define EMFILE 24 106#define ENOTTY 25 107#define EFBIG 27 108#define ENOSPC 28 109#define ESPIPE 29 110#define EROFS 30 111#define EMLINK 31 112#define EPIPE 32 113#define EDOM 33 114#define ERANGE 34 115#define EDEADLK 36 116 117/* defined differently in winsock.h on WinCE */ 118#if !defined(ENAMETOOLONG) 119#define ENAMETOOLONG 38 120#endif 121 122#define ENOLCK 39 123#define ENOSYS 40 124 125/* defined differently in winsock.h on WinCE */ 126#if !defined(ENOTEMPTY) 127#define ENOTEMPTY 41 128#endif 129 130#define EILSEQ 42 131 132/* POSIX 2008 - robust mutexes */ 133#define EOWNERDEAD 43 134#define ENOTRECOVERABLE 44 135 136/* 137 * Support EDEADLOCK for compatibiity with older MS-C versions. 138 */ 139#define EDEADLOCK EDEADLK 140 141#if defined(__cplusplus) 142} 143#endif 144 145#endif /* _INC_ERRNO */ 146