/* Copyright (c) 2008-2011 Gluster, Inc. This file is part of GlusterFS. GlusterFS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GlusterFS 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 for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef __COMPAT_ERRNO_H__ #define __COMPAT_ERRNO_H__ #ifndef _CONFIG_H #define _CONFIG_H #include "config.h" #endif #include #define GF_ERROR_CODE_SUCCESS 0 #define GF_ERROR_CODE_UNKNOWN 1024 #define GF_ERRNO_UNKNOWN 1024 #define GF_ERROR_CODE_PERM 1 /* Operation not permitted */ #define GF_ERROR_CODE_NOENT 2 /* No such file or directory */ #define GF_ERROR_CODE_SRCH 3 /* No such process */ #define GF_ERROR_CODE_INTR 4 /* Interrupted system call */ #define GF_ERROR_CODE_IO 5 /* I/O error */ #define GF_ERROR_CODE_NXIO 6 /* No such device or address */ #define GF_ERROR_CODE_2BIG 7 /* Argument list too long */ #define GF_ERROR_CODE_NOEXEC 8 /* Exec format error */ #define GF_ERROR_CODE_BADF 9 /* Bad file number */ #define GF_ERROR_CODE_CHILD 10 /* No child processes */ #define GF_ERROR_CODE_AGAIN 11 /* Try again */ #define GF_ERROR_CODE_NOMEM 12 /* Out of memory */ #define GF_ERROR_CODE_ACCES 13 /* Permission denied */ #define GF_ERROR_CODE_FAULT 14 /* Bad address */ #define GF_ERROR_CODE_NOTBLK 15 /* Block device required */ #define GF_ERROR_CODE_BUSY 16 /* Device or resource busy */ #define GF_ERROR_CODE_EXIST 17 /* File exists */ #define GF_ERROR_CODE_XDEV 18 /* Cross-device link */ #define GF_ERROR_CODE_NODEV 19 /* No such device */ #define GF_ERROR_CODE_NOTDIR 20 /* Not a directory */ #define GF_ERROR_CODE_ISDIR 21 /* Is a directory */ #define GF_ERROR_CODE_INVAL 22 /* Invalid argument */ #define GF_ERROR_CODE_NFILE 23 /* File table overflow */ #define GF_ERROR_CODE_MFILE 24 /* Too many open files */ #define GF_ERROR_CODE_NOTTY 25 /* Not a typewriter */ #define GF_ERROR_CODE_TXTBSY 26 /* Text file busy */ #define GF_ERROR_CODE_FBIG 27 /* File too large */ #define GF_ERROR_CODE_NOSPC 28 /* No space left on device */ #define GF_ERROR_CODE_SPIPE 29 /* Illegal seek */ #define GF_ERROR_CODE_ROFS 30 /* Read-only file system */ #define GF_ERROR_CODE_MLINK 31 /* Too many links */ #define GF_ERROR_CODE_PIPE 32 /* Broken pipe */ #define GF_ERROR_CODE_DOM 33 /* Math argument out of domain of func */ #define GF_ERROR_CODE_RANGE 34 /* Math result not representable */ #define GF_ERROR_CODE_DEADLK 35 /* Resource deadlock would occur */ #define GF_ERROR_CODE_NAMETOOLONG 36 /* File name too long */ #define GF_ERROR_CODE_NOLCK 37 /* No record locks available */ #define GF_ERROR_CODE_NOSYS 38 /* Function not implemented */ #define GF_ERROR_CODE_NOTEMPTY 39 /* Directory not empty */ #define GF_ERROR_CODE_LOOP 40 /* Too many symbolic links encountered */ #define GF_ERROR_CODE_NOMSG 42 /* No message of desired type */ #define GF_ERROR_CODE_IDRM 43 /* Identifier removed */ #define GF_ERROR_CODE_CHRNG 44 /* Channel number out of range */ #define GF_ERROR_CODE_L2NSYNC 45 /* Level 2 not synchronized */ #define GF_ERROR_CODE_L3HLT 46 /* Level 3 halted */ #define GF_ERROR_CODE_L3RST 47 /* Level 3 reset */ #define GF_ERROR_CODE_LNRNG 48 /* Link number out of range */ #define GF_ERROR_CODE_UNATCH 49 /* Protocol driver not attached */ #define GF_ERROR_CODE_NOCSI 50 /* No CSI structure available */ #define GF_ERROR_CODE_L2HLT 51 /* Level 2 halted */ #define GF_ERROR_CODE_BADE 52 /* Invalid exchange */ #define GF_ERROR_CODE_BADR 53 /* Invalid request descriptor */ #define GF_ERROR_CODE_XFULL 54 /* Exchange full */ #define GF_ERROR_CODE_NOANO 55 /* No anode */ #define GF_ERROR_CODE_BADRQC 56 /* Invalid request code */ #define GF_ERROR_CODE_BADSLT 57 /* Invalid slot */ #define GF_ERROR_CODE_BFONT 59 /* Bad font file format */ #define GF_ERROR_CODE_NOSTR 60 /* Device not a stream */ #define GF_ERROR_CODE_NODATA 61 /* No data available */ #define GF_ERROR_CODE_TIME 62 /* Timer expired */ #define GF_ERROR_CODE_NOSR 63 /* Out of streams resources */ #define GF_ERROR_CODE_NONET 64 /* Machine is not on the network */ #define GF_ERROR_CODE_NOPKG 65 /* Package not installed */ #define GF_ERROR_CODE_REMOTE 66 /* Object is remote */ #define GF_ERROR_CODE_NOLINK 67 /* Link has been severed */ #define GF_ERROR_CODE_ADV 68 /* Advertise error */ #define GF_ERROR_CODE_SRMNT 69 /* Srmount error */ #define GF_ERROR_CODE_COMM 70 /* Communication error on send */ #define GF_ERROR_CODE_PROTO 71 /* Protocol error */ #define GF_ERROR_CODE_MULTIHOP 72 /* Multihop attempted */ #define GF_ERROR_CODE_DOTDOT 73 /* RFS specific error */ #define GF_ERROR_CODE_BADMSG 74 /* Not a data message */ #define GF_ERROR_CODE_OVERFLOW 75 /* Value too large for defined data type */ #define GF_ERROR_CODE_NOTUNIQ 76 /* Name not unique on network */ #define GF_ERROR_CODE_BADFD 77 /* File descriptor in bad state */ #define GF_ERROR_CODE_REMCHG 78 /* Remote address changed */ #define GF_ERROR_CODE_LIBACC 79 /* Can not access a needed shared library */ #define GF_ERROR_CODE_LIBBAD 80 /* Accessing a corrupted shared library */ #define GF_ERROR_CODE_LIBSCN 81 /* .lib section in a.out corrupted */ #define GF_ERROR_CODE_LIBMAX 82 /* Attempting to link in too many shared libraries */ #define GF_ERROR_CODE_LIBEXEC 83 /* Cannot exec a shared library directly */ #define GF_ERROR_CODE_ILSEQ 84 /* Illegal byte sequence */ #define GF_ERROR_CODE_RESTART 85 /* Interrupted system call should be restarted */ #define GF_ERROR_CODE_STRPIPE 86 /* Streams pipe error */ #define GF_ERROR_CODE_USERS 87 /* Too many users */ #define GF_ERROR_CODE_NOTSOCK 88 /* Socket operation on non-socket */ #define GF_ERROR_CODE_DESTADDRREQ 89 /* Destination address required */ #define GF_ERROR_CODE_MSGSIZE 90 /* Message too long */ #define GF_ERROR_CODE_PROTOTYPE 91 /* Protocol wrong type for socket */ #define GF_ERROR_CODE_NOPROTOOPT 92 /* Protocol not available */ #define GF_ERROR_CODE_PROTONOSUPPORT 93 /* Protocol not supported */ #define GF_ERROR_CODE_SOCKTNOSUPPORT 94 /* Socket type not supported */ #define GF_ERROR_CODE_OPNOTSUPP 95 /* Operation not supported on transport endpoint */ #define GF_ERROR_CODE_PFNOSUPPORT 96 /* Protocol family not supported */ #define GF_ERROR_CODE_AFNOSUPPORT 97 /* Address family not supported by protocol */ #define GF_ERROR_CODE_ADDRINUSE 98 /* Address already in use */ #define GF_ERROR_CODE_ADDRNOTAVAIL 99 /* Cannot assign requested address */ #define GF_ERROR_CODE_NETDOWN 100 /* Network is down */ #define GF_ERROR_CODE_NETUNREACH 101 /* Network is unreachable */ #define GF_ERROR_CODE_NETRESET 102 /* Network dropped connection because of reset */ #define GF_ERROR_CODE_CONNABORTED 103 /* Software caused connection abort */ #define GF_ERROR_CODE_CONNRESET 104 /* Connection reset by peer */ #define GF_ERROR_CODE_NOBUFS 105 /* No buffer space available */ #define GF_ERROR_CODE_ISCONN 106 /* Transport endpoint is already connected */ #define GF_ERROR_CODE_NOTCONN 107 /* Transport endpoint is not connected */ #define GF_ERROR_CODE_SHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ #define GF_ERROR_CODE_TOOMANYREFS 109 /* Too many references: cannot splice */ #define GF_ERROR_CODE_TIMEDOUT 110 /* Connection timed out */ #define GF_ERROR_CODE_CONNREFUSED 111 /* Connection refused */ #define GF_ERROR_CODE_HOSTDOWN 112 /* Host is down */ #define GF_ERROR_CODE_HOSTUNREACH 113 /* No route to host */ #define GF_ERROR_CODE_ALREADY 114 /* Operation already in progress */ #define GF_ERROR_CODE_INPROGRESS 115 /* Operation now in progress */ #define GF_ERROR_CODE_ALREADY 114 /* Operation already in progress */ #define GF_ERROR_CODE_INPROGRESS 115 /* Operation now in progress */ #define GF_ERROR_CODE_STALE 116 /* Stale NFS file handle */ #define GF_ERROR_CODE_UCLEAN 117 /* Structure needs cleaning */ #define GF_ERROR_CODE_NOTNAM 118 /* Not a XENIX named type file */ #define GF_ERROR_CODE_NAVAIL 119 /* No XENIX semaphores available */ #define GF_ERROR_CODE_ISNAM 120 /* Is a named type file */ #define GF_ERROR_CODE_REMOTEIO 121 /* Remote I/O error */ #define GF_ERROR_CODE_DQUOT 122 /* Quota exceeded */ #define GF_ERROR_CODE_NOMEDIUM 123 /* No medium found */ #define GF_ERROR_CODE_MEDIUMTYPE 124 /* Wrong medium type */ #define GF_ERROR_CODE_CANCELED 125 /* Operation Canceled */ #define GF_ERROR_CODE_NOKEY 126 /* Required key not available */ #define GF_ERROR_CODE_KEYEXPIRED 127 /* Key has expired */ #define GF_ERROR_CODE_KEYREVOKED 128 /* Key has been revoked */ #define GF_ERROR_CODE_KEYREJECTED 129 /* Key was rejected by service */ /* for robust mutexes */ #define GF_ERROR_CODE_OWNERDEAD 130 /* Owner died */ #define GF_ERROR_CODE_NOTRECOVERABLE 131 /* State not recoverable */ /* Should never be seen by user programs */ #define GF_ERROR_CODE_RESTARTSYS 512 #define GF_ERROR_CODE_RESTARTNOINTR 513 #define GF_ERROR_CODE_RESTARTNOHAND 514 /* restart if no handler.. */ #define GF_ERROR_CODE_NOIOCTLCMD 515 /* No ioctl command */ #define GF_ERROR_CODE_RESTART_RESTARTBLOCK 516 /* restart by calling sys_restart_syscall */ /* Defined for the NFSv3 protocol */ #define GF_ERROR_CODE_BADHANDLE 521 /* Illegal NFS file handle */ #define GF_ERROR_CODE_NOTSYNC 522 /* Update synchronization mismatch */ #define GF_ERROR_CODE_BADCOOKIE 523 /* Cookie is stale */ #define GF_ERROR_CODE_NOTSUPP 524 /* Operation is not supported */ #define GF_ERROR_CODE_TOOSMALL 525 /* Buffer or request is too small */ #define GF_ERROR_CODE_SERVERFAULT 526 /* An untranslatable error occurred */ #define GF_ERROR_CODE_BADTYPE 527 /* Type not supported by server */ #define GF_ERROR_CODE_JUKEBOX 528 /* Request initiated, but will not complete before timeout */ #define GF_ERROR_CODE_IOCBQUEUED 529 /* iocb queued, will get completion event */ #define GF_ERROR_CODE_IOCBRETRY 530 /* iocb queued, will trigger a retry */ /* Darwin OS X */ #define GF_ERROR_CODE_NOPOLICY 701 #define GF_ERROR_CODE_BADMACHO 702 #define GF_ERROR_CODE_PWROFF 703 #define GF_ERROR_CODE_DEVERR 704 #define GF_ERROR_CODE_BADARCH 705 #define GF_ERROR_CODE_BADEXEC 706 #define GF_ERROR_CODE_SHLIBVERS 707 /* Solaris */ /* ENOTACTIVE 73 / * Facility is not active */ #define GF_ERROR_CODE_NOTACTIVE 801 /* ELOCKUNMAPPED 72 / * locked lock was unmapped */ #define GF_ERROR_CODE_LOCKUNMAPPED 802 /* BSD system */ #define GF_ERROR_CODE_PROCLIM 901 /* Too many processes */ #define GF_ERROR_CODE_BADRPC 902 /* RPC struct is bad */ #define GF_ERROR_CODE_RPCMISMATCH 903 /* RPC version wrong */ #define GF_ERROR_CODE_PROGUNAVAIL 904 /* RPC prog. not avail */ #define GF_ERROR_CODE_PROGMISMATCH 905 /* Program version wrong */ #define GF_ERROR_CODE_PROCUNAVAIL 905 /* Bad procedure for program */ #define GF_ERROR_CODE_FTYPE 906 /* Inappropriate file type or format */ #define GF_ERROR_CODE_AUTH 907 /* Authentication error */ #define GF_ERROR_CODE_NEEDAUTH 908 /* Need authenticator */ #define GF_ERROR_CODE_DOOFUS 909 /* Programming error */ #define GF_ERROR_CODE_NOATTR GF_ERROR_CODE_NODATA /* Attribute not found */ /* Either one of enodata or enoattr will be there in system */ #ifndef ENOATTR #define ENOATTR ENODATA #endif /* ENOATTR */ #ifndef ENODATA #define ENODATA ENOATTR #endif /* ENODATA */ #ifndef EBADFD #define EBADFD EBADRPC #endif /* EBADFD */ /* These functions are defined for all the OS flags, but content will * be different for each OS flag. */ int32_t gf_errno_to_error (int32_t op_errno); int32_t gf_error_to_errno (int32_t error); #endif /* __COMPAT_ERRNO_H__ */