/*
 * GPL HEADER START
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 only,
 * as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License version 2 for more details (a copy is included
 * in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU General Public License
 * version 2 along with this program; If not, see
 * http://www.gnu.org/licenses/gpl-2.0.txt
 *
 * GPL HEADER END
 */
/*
 * Copyright (C) 2011 FUJITSU LIMITED.  All rights reserved.
 *
 * Copyright (c) 2013, Intel Corporation.
 */

#ifndef LUSTRE_ERRNO_H
#define LUSTRE_ERRNO_H

/*
 * Only "network" errnos, which are defined below, are allowed on wire (or on
 * disk).  Generic routines exist to help translate between these and a subset
 * of the "host" errnos.  Some host errnos (e.g., EDEADLOCK) are intentionally
 * left out.  See also the comment on lustre_errno_hton_mapping[].
 *
 * To maintain compatibility with existing x86 clients and servers, each of
 * these network errnos has the same numerical value as its corresponding host
 * errno on x86.
 */
#define LUSTRE_EPERM		1	/* Operation not permitted */
#define LUSTRE_ENOENT		2	/* No such file or directory */
#define LUSTRE_ESRCH		3	/* No such process */
#define LUSTRE_EINTR		4	/* Interrupted system call */
#define LUSTRE_EIO		5	/* I/O error */
#define LUSTRE_ENXIO		6	/* No such device or address */
#define LUSTRE_E2BIG		7	/* Argument list too long */
#define LUSTRE_ENOEXEC		8	/* Exec format error */
#define LUSTRE_EBADF		9	/* Bad file number */
#define LUSTRE_ECHILD		10	/* No child processes */
#define LUSTRE_EAGAIN		11	/* Try again */
#define LUSTRE_ENOMEM		12	/* Out of memory */
#define LUSTRE_EACCES		13	/* Permission denied */
#define LUSTRE_EFAULT		14	/* Bad address */
#define LUSTRE_ENOTBLK		15	/* Block device required */
#define LUSTRE_EBUSY		16	/* Device or resource busy */
#define LUSTRE_EEXIST		17	/* File exists */
#define LUSTRE_EXDEV		18	/* Cross-device link */
#define LUSTRE_ENODEV		19	/* No such device */
#define LUSTRE_ENOTDIR		20	/* Not a directory */
#define LUSTRE_EISDIR		21	/* Is a directory */
#define LUSTRE_EINVAL		22	/* Invalid argument */
#define LUSTRE_ENFILE		23	/* File table overflow */
#define LUSTRE_EMFILE		24	/* Too many open files */
#define LUSTRE_ENOTTY		25	/* Not a typewriter */
#define LUSTRE_ETXTBSY		26	/* Text file busy */
#define LUSTRE_EFBIG		27	/* File too large */
#define LUSTRE_ENOSPC		28	/* No space left on device */
#define LUSTRE_ESPIPE		29	/* Illegal seek */
#define LUSTRE_EROFS		30	/* Read-only file system */
#define LUSTRE_EMLINK		31	/* Too many links */
#define LUSTRE_EPIPE		32	/* Broken pipe */
#define LUSTRE_EDOM		33	/* Math argument out of domain of
					   func */
#define LUSTRE_ERANGE		34	/* Math result not representable */
#define LUSTRE_EDEADLK		35	/* Resource deadlock would occur */
#define LUSTRE_ENAMETOOLONG	36	/* File name too long */
#define LUSTRE_ENOLCK		37	/* No record locks available */
#define LUSTRE_ENOSYS		38	/* Function not implemented */
#define LUSTRE_ENOTEMPTY	39	/* Directory not empty */
#define LUSTRE_ELOOP		40	/* Too many symbolic links
					   encountered */
#define LUSTRE_ENOMSG		42	/* No message of desired type */
#define LUSTRE_EIDRM		43	/* Identifier removed */
#define LUSTRE_ECHRNG		44	/* Channel number out of range */
#define LUSTRE_EL2NSYNC		45	/* Level 2 not synchronized */
#define LUSTRE_EL3HLT		46	/* Level 3 halted */
#define LUSTRE_EL3RST		47	/* Level 3 reset */
#define LUSTRE_ELNRNG		48	/* Link number out of range */
#define LUSTRE_EUNATCH		49	/* Protocol driver not attached */
#define LUSTRE_ENOCSI		50	/* No CSI structure available */
#define LUSTRE_EL2HLT		51	/* Level 2 halted */
#define LUSTRE_EBADE		52	/* Invalid exchange */
#define LUSTRE_EBADR		53	/* Invalid request descriptor */
#define LUSTRE_EXFULL		54	/* Exchange full */
#define LUSTRE_ENOANO		55	/* No anode */
#define LUSTRE_EBADRQC		56	/* Invalid request code */
#define LUSTRE_EBADSLT		57	/* Invalid slot */
#define LUSTRE_EBFONT		59	/* Bad font file format */
#define LUSTRE_ENOSTR		60	/* Device not a stream */
#define LUSTRE_ENODATA		61	/* No data available */
#define LUSTRE_ETIME		62	/* Timer expired */
#define LUSTRE_ENOSR		63	/* Out of streams resources */
#define LUSTRE_ENONET		64	/* Machine is not on the network */
#define LUSTRE_ENOPKG		65	/* Package not installed */
#define LUSTRE_EREMOTE		66	/* Object is remote */
#define LUSTRE_ENOLINK		67	/* Link has been severed */
#define LUSTRE_EADV		68	/* Advertise error */
#define LUSTRE_ESRMNT		69	/* Srmount error */
#define LUSTRE_ECOMM		70	/* Communication error on send */
#define LUSTRE_EPROTO		71	/* Protocol error */
#define LUSTRE_EMULTIHOP	72	/* Multihop attempted */
#define LUSTRE_EDOTDOT		73	/* RFS specific error */
#define LUSTRE_EBADMSG		74	/* Not a data message */
#define LUSTRE_EOVERFLOW	75	/* Value too large for defined data
					   type */
#define LUSTRE_ENOTUNIQ		76	/* Name not unique on network */
#define LUSTRE_EBADFD		77	/* File descriptor in bad state */
#define LUSTRE_EREMCHG		78	/* Remote address changed */
#define LUSTRE_ELIBACC		79	/* Can not access a needed shared
					   library */
#define LUSTRE_ELIBBAD		80	/* Accessing a corrupted shared
					   library */
#define LUSTRE_ELIBSCN		81	/* .lib section in a.out corrupted */
#define LUSTRE_ELIBMAX		82	/* Attempting to link in too many shared
					   libraries */
#define LUSTRE_ELIBEXEC		83	/* Cannot exec a shared library
					   directly */
#define LUSTRE_EILSEQ		84	/* Illegal byte sequence */
#define LUSTRE_ERESTART		85	/* Interrupted system call should be
					   restarted */
#define LUSTRE_ESTRPIPE		86	/* Streams pipe error */
#define LUSTRE_EUSERS		87	/* Too many users */
#define LUSTRE_ENOTSOCK		88	/* Socket operation on non-socket */
#define LUSTRE_EDESTADDRREQ	89	/* Destination address required */
#define LUSTRE_EMSGSIZE		90	/* Message too long */
#define LUSTRE_EPROTOTYPE	91	/* Protocol wrong type for socket */
#define LUSTRE_ENOPROTOOPT	92	/* Protocol not available */
#define LUSTRE_EPROTONOSUPPORT	93	/* Protocol not supported */
#define LUSTRE_ESOCKTNOSUPPORT	94	/* Socket type not supported */
#define LUSTRE_EOPNOTSUPP	95	/* Operation not supported on transport
					   endpoint */
#define LUSTRE_EPFNOSUPPORT	96	/* Protocol family not supported */
#define LUSTRE_EAFNOSUPPORT	97	/* Address family not supported by
					   protocol */
#define LUSTRE_EADDRINUSE	98	/* Address already in use */
#define LUSTRE_EADDRNOTAVAIL	99	/* Cannot assign requested address */
#define LUSTRE_ENETDOWN		100	/* Network is down */
#define LUSTRE_ENETUNREACH	101	/* Network is unreachable */
#define LUSTRE_ENETRESET	102	/* Network dropped connection because of
					   reset */
#define LUSTRE_ECONNABORTED	103	/* Software caused connection abort */
#define LUSTRE_ECONNRESET	104	/* Connection reset by peer */
#define LUSTRE_ENOBUFS		105	/* No buffer space available */
#define LUSTRE_EISCONN		106	/* Transport endpoint is already
					   connected */
#define LUSTRE_ENOTCONN		107	/* Transport endpoint is not
					   connected */
#define LUSTRE_ESHUTDOWN	108	/* Cannot send after transport endpoint
					   shutdown */
#define LUSTRE_ETOOMANYREFS	109	/* Too many references: cannot splice */
#define LUSTRE_ETIMEDOUT	110	/* Connection timed out */
#define LUSTRE_ECONNREFUSED	111	/* Connection refused */
#define LUSTRE_EHOSTDOWN	112	/* Host is down */
#define LUSTRE_EHOSTUNREACH	113	/* No route to host */
#define LUSTRE_EALREADY		114	/* Operation already in progress */
#define LUSTRE_EINPROGRESS	115	/* Operation now in progress */
#define LUSTRE_ESTALE		116	/* Stale file handle */
#define LUSTRE_EUCLEAN		117	/* Structure needs cleaning */
#define LUSTRE_ENOTNAM		118	/* Not a XENIX named type file */
#define LUSTRE_ENAVAIL		119	/* No XENIX semaphores available */
#define LUSTRE_EISNAM		120	/* Is a named type file */
#define LUSTRE_EREMOTEIO	121	/* Remote I/O error */
#define LUSTRE_EDQUOT		122	/* Quota exceeded */
#define LUSTRE_ENOMEDIUM	123	/* No medium found */
#define LUSTRE_EMEDIUMTYPE	124	/* Wrong medium type */
#define LUSTRE_ECANCELED	125	/* Operation Canceled */
#define LUSTRE_ENOKEY		126	/* Required key not available */
#define LUSTRE_EKEYEXPIRED	127	/* Key has expired */
#define LUSTRE_EKEYREVOKED	128	/* Key has been revoked */
#define LUSTRE_EKEYREJECTED	129	/* Key was rejected by service */
#define LUSTRE_EOWNERDEAD	130	/* Owner died */
#define LUSTRE_ENOTRECOVERABLE	131	/* State not recoverable */
#define LUSTRE_ERESTARTSYS	512
#define LUSTRE_ERESTARTNOINTR	513
#define LUSTRE_ERESTARTNOHAND	514	/* restart if no handler.. */
#define LUSTRE_ENOIOCTLCMD	515	/* No ioctl command */
#define LUSTRE_ERESTART_RESTARTBLOCK 516 /* restart by calling
					    sys_restart_syscall */
#define LUSTRE_EBADHANDLE	521	/* Illegal NFS file handle */
#define LUSTRE_ENOTSYNC		522	/* Update synchronization mismatch */
#define LUSTRE_EBADCOOKIE	523	/* Cookie is stale */
#define LUSTRE_ENOTSUPP		524	/* Operation is not supported */
#define LUSTRE_ETOOSMALL	525	/* Buffer or request is too small */
#define LUSTRE_ESERVERFAULT	526	/* An untranslatable error occurred */
#define LUSTRE_EBADTYPE		527	/* Type not supported by server */
#define LUSTRE_EJUKEBOX		528	/* Request initiated, but will not
					   complete before timeout */
#define LUSTRE_EIOCBQUEUED	529	/* iocb queued, will get completion
					   event */
#define LUSTRE_EIOCBRETRY	530	/* iocb queued, will trigger a retry */

/*
 * Translations are optimized away on x86.  Host errnos that shouldn't be put
 * on wire could leak through as a result.  Do not count on this side effect.
 */
#ifdef CONFIG_LUSTRE_TRANSLATE_ERRNOS
unsigned int lustre_errno_hton(unsigned int h);
unsigned int lustre_errno_ntoh(unsigned int n);
#else
#define lustre_errno_hton(h) (h)
#define lustre_errno_ntoh(n) (n)
#endif

#endif /* LUSTRE_ERRNO_H */
