// Copyright 2009 The Go Authors.  All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package syscall

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

var error [ELAST]string;

func init(){
	error[ENONE] = "No error";
	error[EPERM] = "Operation not permitted";
	error[ENOENT] = "No such file or directory";
	error[ESRCH] = "No such process";
	error[EINTR] = "Interrupted system call";
	error[EIO] = "I/O error";
	error[ENXIO] = "No such device or address";
	error[E2BIG] = "Argument list too long";
	error[ENOEXEC] = "Exec format error";
	error[EBADF] = "Bad file number";
	error[ECHILD] = "No child processes";
	error[EAGAIN] = "Try again";
	error[ENOMEM] = "Out of memory";
	error[EACCES] = "Permission denied";
	error[EFAULT] = "Bad address";
	error[ENOTBLK] = "Block device required";
	error[EBUSY] = "Device or resource busy";
	error[EEXIST] = "File exists";
	error[EXDEV] = "Cross-device link";
	error[ENODEV] = "No such device";
	error[ENOTDIR] = "Not a directory";
	error[EISDIR] = "Is a directory";
	error[EINVAL] = "Invalid argument";
	error[ENFILE] = "File table overflow";
	error[EMFILE] = "Too many open files";
	error[ENOTTY] = "Not a typewriter";
	error[ETXTBSY] = "Text file busy";
	error[EFBIG] = "File too large";
	error[ENOSPC] = "No space left on device";
	error[ESPIPE] = "Illegal seek";
	error[EROFS] = "Read-only file system";
	error[EMLINK] = "Too many links";
	error[EPIPE] = "Broken pipe";
	error[EDOM] = "Math argument out of domain of func";
	error[ERANGE] = "Math result not representable";
	error[EDEADLK] = "Resource deadlock would occur";
	error[ENAMETOOLONG] = "File name too long";
	error[ENOLCK] = "No record locks available";
	error[ENOSYS] = "Function not implemented";
	error[ENOTEMPTY] = "Directory not empty";
	error[ELOOP] = "Too many symbolic links encountered";
	error[ENOMSG] = "No message of desired type";
	error[EIDRM] = "Identifier removed";
	error[ECHRNG] = "Channel number out of range";
	error[EL2NSYNC] = "Level 2 not synchronized";
	error[EL3HLT] = "Level 3 halted";
	error[EL3RST] = "Level 3 reset";
	error[ELNRNG] = "Link number out of range";
	error[EUNATCH] = "Protocol driver not attached";
	error[ENOCSI] = "No CSI structure available";
	error[EL2HLT] = "Level 2 halted";
	error[EBADE] = "Invalid exchange";
	error[EBADR] = "Invalid request descriptor";
	error[EXFULL] = "Exchange full";
	error[ENOANO] = "No anode";
	error[EBADRQC] = "Invalid request code";
	error[EBADSLT] = "Invalid slot";
	error[EBFONT] = "Bad font file format";
	error[ENOSTR] = "Device not a stream";
	error[ENODATA] = "No data available";
	error[ETIME] = "Timer expired";
	error[ENOSR] = "Out of streams resources";
	error[ENONET] = "Machine is not on the network";
	error[ENOPKG] = "Package not installed";
	error[EREMOTE] = "Object is remote";
	error[ENOLINK] = "Link has been severed";
	error[EADV] = "Advertise error";
	error[ESRMNT] = "Srmount error";
	error[ECOMM] = "Communication error on send";
	error[EPROTO] = "Protocol error";
	error[EMULTIHOP] = "Multihop attempted";
	error[EDOTDOT] = "RFS specific error";
	error[EBADMSG] = "Not a data message";
	error[EOVERFLOW] = "Value too large for defined data type";
	error[ENOTUNIQ] = "Name not unique on network";
	error[EBADFD] = "File descriptor in bad state";
	error[EREMCHG] = "Remote address changed";
	error[ELIBACC] = "Can not access a needed shared library";
	error[ELIBBAD] = "Accessing a corrupted shared library";
	error[ELIBSCN] = ".lib section in a.out corrupted";
	error[ELIBMAX] = "Attempting to link in too many shared libraries";
	error[ELIBEXEC] = "Cannot exec a shared library directly";
	error[EILSEQ] = "Illegal byte sequence";
	error[ERESTART] = "Interrupted system call should be restarted";
	error[ESTRPIPE] = "Streams pipe error";
	error[EUSERS] = "Too many users";
	error[ENOTSOCK] = "Socket operation on non-socket";
	error[EDESTADDRREQ] = "Destination address required";
	error[EMSGSIZE] = "Message too long";
	error[EPROTOTYPE] = "Protocol wrong type for socket";
	error[ENOPROTOOPT] = "Protocol not available";
	error[EPROTONOSUPPORT] = "Protocol not supported";
	error[ESOCKTNOSUPPORT] = "Socket type not supported";
	error[EOPNOTSUPP] = "Operation not supported on transport endpoint";
	error[EPFNOSUPPORT] = "Protocol family not supported";
	error[EAFNOSUPPORT] = "Address family not supported by protocol";
	error[EADDRINUSE] = "Address already in use";
	error[EADDRNOTAVAIL] = "Cannot assign requested address";
	error[ENETDOWN] = "Network is down";
	error[ENETUNREACH] = "Network is unreachable";
	error[ENETRESET] = "Network dropped connection because of reset";
	error[ECONNABORTED] = "Software caused connection abort";
	error[ECONNRESET] = "Connection reset by peer";
	error[ENOBUFS] = "No buffer space available";
	error[EISCONN] = "Transport endpoint is already connected";
	error[ENOTCONN] = "Transport endpoint is not connected";
	error[ESHUTDOWN] = "Cannot send after transport endpoint shutdown";
	error[ETOOMANYREFS] = "Too many references: cannot splice";
	error[ETIMEDOUT] = "Connection timed out";
	error[ECONNREFUSED] = "Connection refused";
	error[EHOSTDOWN] = "Host is down";
	error[EHOSTUNREACH] = "No route to host";
	error[EALREADY] = "Operation already in progress";
	error[EINPROGRESS] = "Operation now in progress";
	error[ESTALE] = "Stale NFS file handle";
	error[EUCLEAN] = "Structure needs cleaning";
	error[ENOTNAM] = "Not a XENIX named type file";
	error[ENAVAIL] = "No XENIX semaphores available";
	error[EISNAM] = "Is a named type file";
	error[EREMOTEIO] = "Remote I/O error";
	error[EDQUOT] = "Quota exceeded";
	error[ENOMEDIUM] = "No medium found";
	error[EMEDIUMTYPE] = "Wrong medium type";
	error[ECANCELED] = "Operation Canceled";
	error[ENOKEY] = "Required key not available";
	error[EKEYEXPIRED] = "Key has expired";
	error[EKEYREVOKED] = "Key has been revoked";
	error[EKEYREJECTED] = "Key was rejected by service";
}

func str(val int64) string {  // do it here rather than with fmt to avoid dependency
	if val < 0 {
		return "-" + str(-val);
	}
	var buf [32]byte;  // big enough for int64
	i := len(buf)-1;
	for val >= 10 {
		buf[i] = byte(val%10 + '0');
		i--;
		val /= 10;
	}
	buf[i] = byte(val + '0');
	return string(buf)[i:len(buf)];
}

export func errstr(errno int64) string {
	if errno < 0 || errno >= len(error) {
		return "Error " + str(errno)
	}
	return error[errno]
}
