epoc32/include/stdapis/errno.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
parent 0 061f57f2323e
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
     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_