diff options
Diffstat (limited to 'libglusterfs/src/glusterfs/compat-errno.h')
| -rw-r--r-- | libglusterfs/src/glusterfs/compat-errno.h | 238 | 
1 files changed, 238 insertions, 0 deletions
diff --git a/libglusterfs/src/glusterfs/compat-errno.h b/libglusterfs/src/glusterfs/compat-errno.h new file mode 100644 index 00000000000..c4ab09ab0d5 --- /dev/null +++ b/libglusterfs/src/glusterfs/compat-errno.h @@ -0,0 +1,238 @@ +/* +  Copyright (c) 2008-2012 Red Hat, Inc. <http://www.redhat.com> +  This file is part of GlusterFS. + +  This file is licensed to you under your choice of the GNU Lesser +  General Public License, version 3 or any later version (LGPLv3 or +  later), or the GNU General Public License, version 2 (GPLv2), in all +  cases as published by the Free Software Foundation. +*/ + +#ifndef __COMPAT_ERRNO_H__ +#define __COMPAT_ERRNO_H__ + +#include <errno.h> + +#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 */ + +#if !defined(ENODATA) +/* This happens on FreeBSD.  Value borrowed from Linux. */ +#define ENODATA 61 +#endif + +/* 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__ */  | 
