#ifndef _MSL_CERRNO
#define _MSL_CERRNO

#include <ansi_params.h>

#if !_MSL_USING_MW_C_HEADERS
	#include <errno.h>
#else

#include <msl_secure.h>

#ifndef EAGAIN
#define EAGAIN			11	
#endif

#ifndef EDEADLK
#define EDEADLK			35	
#endif

#ifndef ENAMETOOLONG
#define ENAMETOOLONG	36	
#endif

#ifndef ENOSYS
#define ENOSYS			38	
#endif

#ifndef ENOTEMPTY
#define ENOTEMPTY		39	
#endif

#if _MSL_C99										
#ifndef EILSEQ
#define EILSEQ     		88	
#endif
#endif 								

#define E2BIG			 7	
#define EACCES			13	
#define EBADF			 9	
#define EBUSY			16	
#define ECHILD			10	
#define EDEADLOCK	EDEADLK	
#define EDOM			33	
#define EEXIST			17	
#define EFAULT			14	
#define EFBIG			27	
#define EFPOS			40	
#define EINTR			 4	
#define EINVAL			22	
#define EIO				 5	
#define EISDIR			21	
#define EMFILE			24	
#define EMLINK			31	
#define ENFILE			23	
#define ENODEV			19	
#define ENOENT			 2	
#define ENOERR			 0	
#define ENOEXEC			 8	
#define ENOLCK			77	
#define ENOMEM			12	
#define ENOSPC			28	
#define ENOTDIR			20	
#define ENOTTY			25	
#define ENXIO			 6	
#define EPERM			 1	
#define EPIPE			32	
#define ERANGE			34	
#define EROFS			30	
#define ESIGPARM		26	
#define ESPIPE			29	
#define ESRCH			 3	
#define EUNKNOWN		99	
#define EXDEV			18	

#if !defined(_MSL_ERRNO) && !defined(RC_INVOKED)

	_MSL_BEGIN_EXTERN_C
	
		#if _MSL_THREADSAFE && _MSL_LOCALDATA_AVAILABLE
			#include <msl_thread_local_data.h>
			#define errno (_MSL_LOCALDATA(_errno))
			
			#ifdef __MWERKS__
				#if __MWERKS__ >= 0x3200
					#pragma errno_name ...	
				#endif 
			#endif 
		#else
			_MSL_IMP_EXP_C extern int errno;	
			
			#ifdef __MWERKS__
				#if __MWERKS__ >= 0x3200
					#ifndef _ENTERPRISE_C_
					#pragma errno_name errno
					#endif
				#endif 
			#endif 
		#endif 
	
	_MSL_END_EXTERN_C

#endif 

#endif 

#endif 