genericopenlibs/openenvcore/include/errno.h
changeset 0 e4d67989cc36
equal deleted inserted replaced
-1:000000000000 0:e4d67989cc36
       
     1 /*-
       
     2  * © Portions copyright (c) 2005 Nokia Corporation.  All rights reserved.
       
     3  * Copyright (c) 1982, 1986, 1989, 1993
       
     4  *	The Regents of the University of California.  All rights reserved.
       
     5  * (c) UNIX System Laboratories, Inc.
       
     6  * All or some portions of this file are derived from material licensed
       
     7  * to the University of California by American Telephone and Telegraph
       
     8  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
       
     9  * the permission of UNIX System Laboratories, Inc.
       
    10  *
       
    11  * Redistribution and use in source and binary forms, with or without
       
    12  * modification, are permitted provided that the following conditions
       
    13  * are met:
       
    14  * 1. Redistributions of source code must retain the above copyright
       
    15  *    notice, this list of conditions and the following disclaimer.
       
    16  * 2. Redistributions in binary form must reproduce the above copyright
       
    17  *    notice, this list of conditions and the following disclaimer in the
       
    18  *    documentation and/or other materials provided with the distribution.
       
    19  * 4. Neither the name of the University nor the names of its contributors
       
    20  *    may be used to endorse or promote products derived from this software
       
    21  *    without specific prior written permission.
       
    22  *
       
    23  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
       
    24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
       
    25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
       
    26  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
       
    27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
       
    28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
       
    29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
       
    30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
       
    31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
       
    32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
       
    33  * SUCH DAMAGE.
       
    34  *
       
    35  *	@(#)errno.h	8.5 (Berkeley) 1/21/94
       
    36  * $FreeBSD: src/sys/sys/errno.h,v 1.28 2005/04/02 12:33:28 das Exp $
       
    37  */
       
    38 
       
    39 #ifndef _ERRNO_H_
       
    40 #define _ERRNO_H_
       
    41 
       
    42 #ifndef _KERNEL
       
    43 #include <sys/cdefs.h>
       
    44 #ifndef __SYMBIAN32__
       
    45 #include "reent.h"
       
    46 #endif //__SYMBIAN32__
       
    47 __BEGIN_DECLS
       
    48 #ifdef __SYMBIAN32__
       
    49 IMPORT_C int *__errno(void);
       
    50 #endif //__SYMBIAN32__
       
    51 
       
    52 __END_DECLS
       
    53 #ifndef __SYMBIAN32__	
       
    54 #define	errno		(* __error())
       
    55 #else //__SYMBIAN32__
       
    56 #define	errno		(*__errno())
       
    57 #endif //__SYMBIAN32__
       
    58 
       
    59 #endif
       
    60 
       
    61 #define	EPERM		1		/* Operation not permitted */
       
    62 #define	ENOENT		2		/* No such file or directory */
       
    63 #define	ESRCH		3		/* No such process */
       
    64 #define	EINTR		4		/* Interrupted system call */
       
    65 #define	EIO		5		/* Input/output error */
       
    66 #define	ENXIO		6		/* Device not configured */
       
    67 #define	E2BIG		7		/* Argument list too long */
       
    68 #define	ENOEXEC		8		/* Exec format error */
       
    69 #define	EBADF		9		/* Bad file descriptor */
       
    70 #define	ECHILD		10		/* No child processes */
       
    71 #define	EDEADLK		11		/* Resource deadlock avoided */
       
    72 					/* 11 was EAGAIN */
       
    73 #define	ENOMEM		12		/* Cannot allocate memory */
       
    74 #define	EACCES		13		/* Permission denied */
       
    75 #define	EFAULT		14		/* Bad address */
       
    76 #ifndef _POSIX_SOURCE
       
    77 #define	ENOTBLK		15		/* Block device required */
       
    78 #endif //_POSIX_SOURCE
       
    79 #define	EBUSY		16		/* Device busy */
       
    80 #define	EEXIST		17		/* File exists */
       
    81 #define	EXDEV		18		/* Cross-device link */
       
    82 #define	ENODEV		19		/* Operation not supported by device */
       
    83 #define	ENOTDIR		20		/* Not a directory */
       
    84 #define	EISDIR		21		/* Is a directory */
       
    85 #define	EINVAL		22		/* Invalid argument */
       
    86 #define	ENFILE		23		/* Too many open files in system */
       
    87 #define	EMFILE		24		/* Too many open files */
       
    88 #define	ENOTTY		25		/* Inappropriate ioctl for device */
       
    89 #ifndef _POSIX_SOURCE
       
    90 #define	ETXTBSY		26		/* Text file busy */
       
    91 #endif  //_POSIX_SOURCE
       
    92 #define	EFBIG		27		/* File too large */
       
    93 #define	ENOSPC		28		/* No space left on device */
       
    94 #define	ESPIPE		29		/* Illegal seek */
       
    95 #define	EROFS		30		/* Read-only filesystem */
       
    96 #define	EMLINK		31		/* Too many links */
       
    97 #define	EPIPE		32		/* Broken pipe */
       
    98 
       
    99 /* math software */
       
   100 #define	EDOM		33		/* Numerical argument out of domain */
       
   101 #define	ERANGE		34		/* Result too large */
       
   102 
       
   103 /* non-blocking and interrupt i/o */
       
   104 #define	EAGAIN		35		/* Resource temporarily unavailable */
       
   105 #ifndef _POSIX_SOURCE
       
   106 #define	EWOULDBLOCK	EAGAIN		/* Operation would block */
       
   107 #define	EINPROGRESS	36		/* Operation now in progress */
       
   108 #define	EALREADY	37		/* Operation already in progress */
       
   109 
       
   110 /* ipc/network software -- argument errors */
       
   111 #define	ENOTSOCK	38		/* Socket operation on non-socket */
       
   112 #define	EDESTADDRREQ	39		/* Destination address required */
       
   113 #define	EMSGSIZE	40		/* Message too long */
       
   114 #define	EPROTOTYPE	41		/* Protocol wrong type for socket */
       
   115 #define	ENOPROTOOPT	42		/* Protocol not available */
       
   116 #define	EPROTONOSUPPORT	43		/* Protocol not supported */
       
   117 #define	ESOCKTNOSUPPORT	44		/* Socket type not supported */
       
   118 #define	EOPNOTSUPP	45		/* Operation not supported */
       
   119 #define	ENOTSUP		EOPNOTSUPP	/* Operation not supported */
       
   120 #define	EPFNOSUPPORT	46		/* Protocol family not supported */
       
   121 #define	EAFNOSUPPORT	47		/* Address family not supported by protocol family */
       
   122 #define	EADDRINUSE	48		/* Address already in use */
       
   123 #define	EADDRNOTAVAIL	49		/* Can't assign requested address */
       
   124 
       
   125 /* ipc/network software -- operational errors */
       
   126 #define	ENETDOWN	50		/* Network is down */
       
   127 #define	ENETUNREACH	51		/* Network is unreachable */
       
   128 #define	ENETRESET	52		/* Network dropped connection on reset */
       
   129 #define	ECONNABORTED	53		/* Software caused connection abort */
       
   130 #define	ECONNRESET	54		/* Connection reset by peer */
       
   131 #define	ENOBUFS		55		/* No buffer space available */
       
   132 #define	EISCONN		56		/* Socket is already connected */
       
   133 #define	ENOTCONN	57		/* Socket is not connected */
       
   134 #define	ESHUTDOWN	58		/* Can't send after socket shutdown */
       
   135 #define	ETOOMANYREFS	59		/* Too many references: can't splice */
       
   136 #define	ETIMEDOUT	60		/* Operation timed out */
       
   137 #define	ECONNREFUSED	61		/* Connection refused */
       
   138 
       
   139 #define	ELOOP		62		/* Too many levels of symbolic links */
       
   140 #endif /* _POSIX_SOURCE */
       
   141 #define	ENAMETOOLONG	63		/* File name too long */
       
   142 
       
   143 /* should be rearranged */
       
   144 #ifndef _POSIX_SOURCE
       
   145 #define	EHOSTDOWN	64		/* Host is down */
       
   146 #define	EHOSTUNREACH	65		/* No route to host */
       
   147 #endif /* _POSIX_SOURCE */
       
   148 #define	ENOTEMPTY	66		/* Directory not empty */
       
   149 
       
   150 /* quotas & mush */
       
   151 #ifndef _POSIX_SOURCE
       
   152 #define	EPROCLIM	67		/* Too many processes */
       
   153 #define	EUSERS		68		/* Too many users */
       
   154 #define	EDQUOT		69		/* Disc quota exceeded */
       
   155 
       
   156 /* Network File System */
       
   157 #define	ESTALE		70		/* Stale NFS file handle */
       
   158 #define	EREMOTE		71		/* Too many levels of remote in path */
       
   159 #define	EBADRPC		72		/* RPC struct is bad */
       
   160 #define	ERPCMISMATCH	73		/* RPC version wrong */
       
   161 #define	EPROGUNAVAIL	74		/* RPC prog. not avail */
       
   162 #define	EPROGMISMATCH	75		/* Program version wrong */
       
   163 #define	EPROCUNAVAIL	76		/* Bad procedure for program */
       
   164 #endif /* _POSIX_SOURCE */
       
   165 
       
   166 #define	ENOLCK		77		/* No locks available */
       
   167 #define	ENOSYS		78		/* Function not implemented */
       
   168 
       
   169 #ifndef _POSIX_SOURCE
       
   170 #define	EFTYPE		79		/* Inappropriate file type or format */
       
   171 #define	EAUTH		80		/* Authentication error */
       
   172 #define	ENEEDAUTH	81		/* Need authenticator */
       
   173 #define	EIDRM		82		/* Identifier removed */
       
   174 #define	ENOMSG		83		/* No message of desired type */
       
   175 #define	EOVERFLOW	84		/* Value too large to be stored in data type */
       
   176 #define	ECANCELED	85		/* Operation canceled */
       
   177 #define	EILSEQ		86		/* Illegal byte sequence */
       
   178 #define	ENOATTR		87		/* Attribute not found */
       
   179 
       
   180 #define EDOOFUS		88		/* Programming error */
       
   181 #endif /* _POSIX_SOURCE */
       
   182 
       
   183 #define	EBADMSG		89		/* Bad message */
       
   184 #define	EMULTIHOP	90		/* Multihop attempted */
       
   185 #define	ENOLINK		91		/* Link has been severed */
       
   186 #define	EPROTO		92		/* Protocol error */
       
   187 
       
   188 
       
   189 #ifdef _KERNEL
       
   190 /* pseudo-errors returned inside kernel to modify return to process */
       
   191 #define	ERESTART	(-1)		/* restart syscall */
       
   192 #define	EJUSTRETURN	(-2)		/* don't modify regs, just return */
       
   193 #define	ENOIOCTL	(-3)		/* ioctl not handled by this layer */
       
   194 #define	EDIRIOCTL	(-4)		/* do direct ioctl in GEOM */
       
   195 #endif 
       
   196 
       
   197 #ifdef __SYMBIAN32__
       
   198 #define	ECOMM 123	/* Communication error on send */
       
   199 #define __EMAXERRNO     124
       
   200 #endif // __SYMBIAN32__
       
   201 
       
   202 
       
   203 #ifndef _POSIX_SOURCE
       
   204 #ifndef __SYMBIAN32__
       
   205 #define ELAST 92
       
   206 #else
       
   207 #define ELAST  __EMAXERRNO /* Must be equal to largest errno */
       
   208 #endif  //__SYMBIAN32__
       
   209 #endif  /* _POSIX_SOURCE */
       
   210 
       
   211 #endif  // _ERRNO_H_