// D import file generated from '../../../../libphobos/libdruntime/core/stdc/errno.d'
module core.stdc.errno;
@trusted nothrow 
{
	@property int errno();

	@property int errno(int n);

	extern (C) 
	{
		private extern (C) int getErrno();


		private extern (C) int setErrno(int);


		version (Windows)
		{
			enum EPERM = 1;
			enum ENOENT = 2;
			enum ESRCH = 3;
			enum EINTR = 4;
			enum EIO = 5;
			enum ENXIO = 6;
			enum E2BIG = 7;
			enum ENOEXEC = 8;
			enum EBADF = 9;
			enum ECHILD = 10;
			enum EAGAIN = 11;
			enum ENOMEM = 12;
			enum EACCES = 13;
			enum EFAULT = 14;
			enum EBUSY = 16;
			enum EEXIST = 17;
			enum EXDEV = 18;
			enum ENODEV = 19;
			enum ENOTDIR = 20;
			enum EISDIR = 21;
			enum EINVAL = 22;
			enum ENFILE = 23;
			enum EMFILE = 24;
			enum ENOTTY = 25;
			enum EFBIG = 27;
			enum ENOSPC = 28;
			enum ESPIPE = 29;
			enum EROFS = 30;
			enum EMLINK = 31;
			enum EPIPE = 32;
			enum EDOM = 33;
			enum ERANGE = 34;
			enum EDEADLK = 36;
			enum ENAMETOOLONG = 38;
			enum ENOLCK = 39;
			enum ENOSYS = 40;
			enum ENOTEMPTY = 41;
			enum EILSEQ = 42;
			enum EDEADLOCK = EDEADLK;
		}
		else
		{
			version (linux)
			{
				enum EPERM = 1;
				enum ENOENT = 2;
				enum ESRCH = 3;
				enum EINTR = 4;
				enum EIO = 5;
				enum ENXIO = 6;
				enum E2BIG = 7;
				enum ENOEXEC = 8;
				enum EBADF = 9;
				enum ECHILD = 10;
				enum EAGAIN = 11;
				enum ENOMEM = 12;
				enum EACCES = 13;
				enum EFAULT = 14;
				enum ENOTBLK = 15;
				enum EBUSY = 16;
				enum EEXIST = 17;
				enum EXDEV = 18;
				enum ENODEV = 19;
				enum ENOTDIR = 20;
				enum EISDIR = 21;
				enum EINVAL = 22;
				enum ENFILE = 23;
				enum EMFILE = 24;
				enum ENOTTY = 25;
				enum ETXTBSY = 26;
				enum EFBIG = 27;
				enum ENOSPC = 28;
				enum ESPIPE = 29;
				enum EROFS = 30;
				enum EMLINK = 31;
				enum EPIPE = 32;
				enum EDOM = 33;
				enum ERANGE = 34;
				enum EDEADLK = 35;
				enum ENAMETOOLONG = 36;
				enum ENOLCK = 37;
				enum ENOSYS = 38;
				enum ENOTEMPTY = 39;
				enum ELOOP = 40;
				enum EWOULDBLOCK = EAGAIN;
				enum ENOMSG = 42;
				enum EIDRM = 43;
				enum ECHRNG = 44;
				enum EL2NSYNC = 45;
				enum EL3HLT = 46;
				enum EL3RST = 47;
				enum ELNRNG = 48;
				enum EUNATCH = 49;
				enum ENOCSI = 50;
				enum EL2HLT = 51;
				enum EBADE = 52;
				enum EBADR = 53;
				enum EXFULL = 54;
				enum ENOANO = 55;
				enum EBADRQC = 56;
				enum EBADSLT = 57;
				enum EDEADLOCK = EDEADLK;
				enum EBFONT = 59;
				enum ENOSTR = 60;
				enum ENODATA = 61;
				enum ETIME = 62;
				enum ENOSR = 63;
				enum ENONET = 64;
				enum ENOPKG = 65;
				enum EREMOTE = 66;
				enum ENOLINK = 67;
				enum EADV = 68;
				enum ESRMNT = 69;
				enum ECOMM = 70;
				enum EPROTO = 71;
				enum EMULTIHOP = 72;
				enum EDOTDOT = 73;
				enum EBADMSG = 74;
				enum EOVERFLOW = 75;
				enum ENOTUNIQ = 76;
				enum EBADFD = 77;
				enum EREMCHG = 78;
				enum ELIBACC = 79;
				enum ELIBBAD = 80;
				enum ELIBSCN = 81;
				enum ELIBMAX = 82;
				enum ELIBEXEC = 83;
				enum EILSEQ = 84;
				enum ERESTART = 85;
				enum ESTRPIPE = 86;
				enum EUSERS = 87;
				enum ENOTSOCK = 88;
				enum EDESTADDRREQ = 89;
				enum EMSGSIZE = 90;
				enum EPROTOTYPE = 91;
				enum ENOPROTOOPT = 92;
				enum EPROTONOSUPPORT = 93;
				enum ESOCKTNOSUPPORT = 94;
				enum EOPNOTSUPP = 95;
				enum EPFNOSUPPORT = 96;
				enum EAFNOSUPPORT = 97;
				enum EADDRINUSE = 98;
				enum EADDRNOTAVAIL = 99;
				enum ENETDOWN = 100;
				enum ENETUNREACH = 101;
				enum ENETRESET = 102;
				enum ECONNABORTED = 103;
				enum ECONNRESET = 104;
				enum ENOBUFS = 105;
				enum EISCONN = 106;
				enum ENOTCONN = 107;
				enum ESHUTDOWN = 108;
				enum ETOOMANYREFS = 109;
				enum ETIMEDOUT = 110;
				enum ECONNREFUSED = 111;
				enum EHOSTDOWN = 112;
				enum EHOSTUNREACH = 113;
				enum EALREADY = 114;
				enum EINPROGRESS = 115;
				enum ESTALE = 116;
				enum EUCLEAN = 117;
				enum ENOTNAM = 118;
				enum ENAVAIL = 119;
				enum EISNAM = 120;
				enum EREMOTEIO = 121;
				enum EDQUOT = 122;
				enum ENOMEDIUM = 123;
				enum EMEDIUMTYPE = 124;
				enum ECANCELED = 125;
				enum ENOKEY = 126;
				enum EKEYEXPIRED = 127;
				enum EKEYREVOKED = 128;
				enum EKEYREJECTED = 129;
				enum EOWNERDEAD = 130;
				enum ENOTRECOVERABLE = 131;
			}
			else
			{
				version (OSX)
				{
					enum EPERM = 1;
					enum ENOENT = 2;
					enum ESRCH = 3;
					enum EINTR = 4;
					enum EIO = 5;
					enum ENXIO = 6;
					enum E2BIG = 7;
					enum ENOEXEC = 8;
					enum EBADF = 9;
					enum ECHILD = 10;
					enum EDEADLK = 11;
					enum ENOMEM = 12;
					enum EACCES = 13;
					enum EFAULT = 14;
					enum EBUSY = 16;
					enum EEXIST = 17;
					enum EXDEV = 18;
					enum ENODEV = 19;
					enum ENOTDIR = 20;
					enum EISDIR = 21;
					enum EINVAL = 22;
					enum ENFILE = 23;
					enum EMFILE = 24;
					enum ENOTTY = 25;
					enum ETXTBSY = 26;
					enum EFBIG = 27;
					enum ENOSPC = 28;
					enum ESPIPE = 29;
					enum EROFS = 30;
					enum EMLINK = 31;
					enum EPIPE = 32;
					enum EDOM = 33;
					enum ERANGE = 34;
					enum EAGAIN = 35;
					enum EWOULDBLOCK = EAGAIN;
					enum EINPROGRESS = 36;
					enum EALREADY = 37;
					enum ENOTSOCK = 38;
					enum EDESTADDRREQ = 39;
					enum EMSGSIZE = 40;
					enum EPROTOTYPE = 41;
					enum ENOPROTOOPT = 42;
					enum EPROTONOSUPPORT = 43;
					enum ENOTSUP = 45;
					enum EOPNOTSUPP = ENOTSUP;
					enum EAFNOSUPPORT = 47;
					enum EADDRINUSE = 48;
					enum EADDRNOTAVAIL = 49;
					enum ENETDOWN = 50;
					enum ENETUNREACH = 51;
					enum ENETRESET = 52;
					enum ECONNABORTED = 53;
					enum ECONNRESET = 54;
					enum ENOBUFS = 55;
					enum EISCONN = 56;
					enum ENOTCONN = 57;
					enum ETIMEDOUT = 60;
					enum ECONNREFUSED = 61;
					enum ELOOP = 62;
					enum ENAMETOOLONG = 63;
					enum EHOSTUNREACH = 65;
					enum ENOTEMPTY = 66;
					enum EDQUOT = 69;
					enum ESTALE = 70;
					enum ENOLCK = 77;
					enum ENOSYS = 78;
					enum EOVERFLOW = 84;
					enum ECANCELED = 89;
					enum EIDRM = 90;
					enum ENOMSG = 91;
					enum EILSEQ = 92;
					enum EBADMSG = 94;
					enum EMULTIHOP = 95;
					enum ENODATA = 96;
					enum ENOLINK = 97;
					enum ENOSR = 98;
					enum ENOSTR = 99;
					enum EPROTO = 100;
					enum ETIME = 101;
					enum ELAST = 101;
				}
				else
				{
					version (FreeBSD)
					{
						enum EPERM = 1;
						enum ENOENT = 2;
						enum ESRCH = 3;
						enum EINTR = 4;
						enum EIO = 5;
						enum ENXIO = 6;
						enum E2BIG = 7;
						enum ENOEXEC = 8;
						enum EBADF = 9;
						enum ECHILD = 10;
						enum EDEADLK = 11;
						enum ENOMEM = 12;
						enum EACCES = 13;
						enum EFAULT = 14;
						enum ENOTBLK = 15;
						enum EBUSY = 16;
						enum EEXIST = 17;
						enum EXDEV = 18;
						enum ENODEV = 19;
						enum ENOTDIR = 20;
						enum EISDIR = 21;
						enum EINVAL = 22;
						enum ENFILE = 23;
						enum EMFILE = 24;
						enum ENOTTY = 25;
						enum ETXTBSY = 26;
						enum EFBIG = 27;
						enum ENOSPC = 28;
						enum ESPIPE = 29;
						enum EROFS = 30;
						enum EMLINK = 31;
						enum EPIPE = 32;
						enum EDOM = 33;
						enum ERANGE = 34;
						enum EAGAIN = 35;
						enum EWOULDBLOCK = EAGAIN;
						enum EINPROGRESS = 36;
						enum EALREADY = 37;
						enum ENOTSOCK = 38;
						enum EDESTADDRREQ = 39;
						enum EMSGSIZE = 40;
						enum EPROTOTYPE = 41;
						enum ENOPROTOOPT = 42;
						enum EPROTONOSUPPORT = 43;
						enum ENOTSUP = 45;
						enum EOPNOTSUPP = ENOTSUP;
						enum EAFNOSUPPORT = 47;
						enum EADDRINUSE = 48;
						enum EADDRNOTAVAIL = 49;
						enum ENETDOWN = 50;
						enum ENETUNREACH = 51;
						enum ENETRESET = 52;
						enum ECONNABORTED = 53;
						enum ECONNRESET = 54;
						enum ENOBUFS = 55;
						enum EISCONN = 56;
						enum ENOTCONN = 57;
						enum ESHUTDOWN = 58;
						enum ETOOMANYREFS = 59;
						enum ETIMEDOUT = 60;
						enum ECONNREFUSED = 61;
						enum ELOOP = 62;
						enum ENAMETOOLONG = 63;
						enum EHOSTUNREACH = 65;
						enum ENOTEMPTY = 66;
						enum EPROCLIM = 67;
						enum EUSERS = 68;
						enum EDQUOT = 69;
						enum ESTALE = 70;
						enum EREMOTE = 71;
						enum EBADRPC = 72;
						enum ERPCMISMATCH = 73;
						enum EPROGUNAVAIL = 74;
						enum EPROGMISMATCH = 75;
						enum EPROCUNAVAIL = 76;
						enum ENOLCK = 77;
						enum ENOSYS = 78;
						enum EFTYPE = 79;
						enum EAUTH = 80;
						enum ENEEDAUTH = 81;
						enum EIDRM = 82;
						enum ENOMSG = 83;
						enum EOVERFLOW = 84;
						enum ECANCELED = 85;
						enum EILSEQ = 86;
						enum ENOATTR = 87;
						enum EDOOFUS = 88;
						enum EBADMSG = 89;
						enum EMULTIHOP = 90;
						enum ENOLINK = 91;
						enum EPROTO = 92;
						enum ELAST = 92;
					}
					else
					{
						version (Solaris)
						{
							enum EPERM = 1;
							enum ENOENT = 2;
							enum ESRCH = 3;
							enum EINTR = 4;
							enum EIO = 5;
							enum ENXIO = 6;
							enum E2BIG = 7;
							enum ENOEXEC = 8;
							enum EBADF = 9;
							enum ECHILD = 10;
							enum EAGAIN = 11;
							enum ENOMEM = 12;
							enum EACCES = 13;
							enum EFAULT = 14;
							enum ENOTBLK = 15;
							enum EBUSY = 16;
							enum EEXIST = 17;
							enum EXDEV = 18;
							enum ENODEV = 19;
							enum ENOTDIR = 20;
							enum EISDIR = 21;
							enum EINVAL = 22;
							enum ENFILE = 23;
							enum EMFILE = 24;
							enum ENOTTY = 25;
							enum ETXTBSY = 26;
							enum EFBIG = 27;
							enum ENOSPC = 28;
							enum ESPIPE = 29;
							enum EROFS = 30;
							enum EMLINK = 31;
							enum EPIPE = 32;
							enum EDOM = 33;
							enum ERANGE = 34;
							enum ENOMSG = 35;
							enum EIDRM = 36;
							enum ECHRNG = 37;
							enum EL2NSYNC = 38;
							enum EL3HLT = 39;
							enum EL3RST = 40;
							enum ELNRNG = 41;
							enum EUNATCH = 42;
							enum ENOCSI = 43;
							enum EL2HLT = 44;
							enum EDEADLK = 45;
							enum ENOLCK = 46;
							enum ECANCELED = 47;
							enum ENOTSUP = 48;
							enum EDQUOT = 49;
							enum EBADE = 50;
							enum EBADR = 51;
							enum EXFULL = 52;
							enum ENOANO = 53;
							enum EBADRQC = 54;
							enum EBADSLT = 55;
							enum EDEADLOCK = 56;
							enum EBFONT = 57;
							enum EOWNERDEAD = 58;
							enum ENOTRECOVERABLE = 59;
							enum ENOSTR = 60;
							enum ENODATA = 61;
							enum ETIME = 62;
							enum ENOSR = 63;
							enum ENONET = 64;
							enum ENOPKG = 65;
							enum EREMOTE = 66;
							enum ENOLINK = 67;
							enum EADV = 68;
							enum ESRMNT = 69;
							enum ECOMM = 70;
							enum EPROTO = 71;
							enum ELOCKUNMAPPED = 72;
							enum ENOTACTIVE = 73;
							enum EMULTIHOP = 74;
							enum EBADMSG = 77;
							enum ENAMETOOLONG = 78;
							enum EOVERFLOW = 79;
							enum ENOTUNIQ = 80;
							enum EBADFD = 81;
							enum EREMCHG = 82;
							enum ELIBACC = 83;
							enum ELIBBAD = 84;
							enum ELIBSCN = 85;
							enum ELIBMAX = 86;
							enum ELIBEXEC = 87;
							enum EILSEQ = 88;
							enum ENOSYS = 89;
							enum ELOOP = 90;
							enum ERESTART = 91;
							enum ESTRPIPE = 92;
							enum ENOTEMPTY = 93;
							enum EUSERS = 94;
							enum ENOTSOCK = 95;
							enum EDESTADDRREQ = 96;
							enum EMSGSIZE = 97;
							enum EPROTOTYPE = 98;
							enum ENOPROTOOPT = 99;
							enum EPROTONOSUPPORT = 120;
							enum ESOCKTNOSUPPORT = 121;
							enum EOPNOTSUPP = 122;
							enum EPFNOSUPPORT = 123;
							enum EAFNOSUPPORT = 124;
							enum EADDRINUSE = 125;
							enum EADDRNOTAVAIL = 126;
							enum ENETDOWN = 127;
							enum ENETUNREACH = 128;
							enum ENETRESET = 129;
							enum ECONNABORTED = 130;
							enum ECONNRESET = 131;
							enum ENOBUFS = 132;
							enum EISCONN = 133;
							enum ENOTCONN = 134;
							enum ESHUTDOWN = 143;
							enum ETOOMANYREFS = 144;
							enum ETIMEDOUT = 145;
							enum ECONNREFUSED = 146;
							enum EHOSTDOWN = 147;
							enum EHOSTUNREACH = 148;
							enum EWOULDBLOCK = EAGAIN;
							enum EALREADY = 149;
							enum EINPROGRESS = 150;
							enum ESTALE = 151;
						}
						else
						{
							static assert(false,"Unsupported platform");
						}
					}
				}
			}
		}
	}
}

