epoc32/include/libc/sys/errno.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 /*
     2 * Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:
    15 * errno is not a global variable, because that would make using it
    16 * non-reentrant.  Instead, its address is returned by the function __errno.  
    17 * 
    18 *
    19 */
    20 
    21 
    22 
    23 
    24 
    25 
    26 
    27 /**
    28  @file
    29  @publishedAll
    30  @released
    31 */
    32 
    33 #ifndef _SYS_ERRNO_H_
    34 #define _SYS_ERRNO_H_
    35 
    36 #ifdef __cplusplus
    37 extern "C" {
    38 #endif
    39 
    40 #include <_ansi.h>
    41 
    42 #ifndef _REENT_ONLY
    43 
    44 IMPORT_C int *__errno(void);
    45 #define errno		(*__errno())
    46 #endif
    47 
    48 #define	EPERM 1		/* Not super-user */
    49 #define	ENOENT 2	/* No such file or directory */
    50 #define	ESRCH 3		/* No such process */
    51 #define	EINTR 4		/* Interrupted system call */
    52 #define	EIO 5		/* I/O error */
    53 #define	ENXIO 6		/* No such device or address */
    54 #define	E2BIG 7		/* Arg list too long */
    55 #define	ENOEXEC 8	/* Exec format error */
    56 #define	EBADF 9		/* Bad file number */
    57 #define	ECHILD 10	/* No children */
    58 #define	EAGAIN 11	/* No more processes */
    59 #define	ENOMEM 12	/* Not enough core */
    60 #define	EACCES 13	/* Permission denied */
    61 #define	EFAULT 14	/* Bad address */
    62 #define	ENOTBLK 15	/* Block device required */
    63 #define	EBUSY 16	/* Mount device busy */
    64 #define	EEXIST 17	/* File exists */
    65 #define	EXDEV 18	/* Cross-device link */
    66 #define	ENODEV 19	/* No such device */
    67 #define	ENOTDIR 20	/* Not a directory */
    68 #define	EISDIR 21	/* Is a directory */
    69 #define	EINVAL 22	/* Invalid argument */
    70 #define	ENFILE 23	/* Too many open files in system */
    71 #define	EMFILE 24	/* Too many open files */
    72 #define	ENOTTY 25	/* Not a typewriter */
    73 #define	ETXTBSY 26	/* Text file busy */
    74 #define	EFBIG 27	/* File too large */
    75 #define	ENOSPC 28	/* No space left on device */
    76 #define	ESPIPE 29	/* Illegal seek */
    77 #define	EROFS 30	/* Read only file system */
    78 #define	EMLINK 31	/* Too many links */
    79 #define	EPIPE 32	/* Broken pipe */
    80 #define	EDOM 33		/* Math arg out of domain of func */
    81 #define	ERANGE 34	/* Math result not representable */
    82 #define	ENOMSG 35	/* No message of desired type */
    83 #define	EIDRM 36	/* Identifier removed */
    84 #define	ECHRNG 37	/* Channel number out of range */
    85 #define	EL2NSYNC 38	/* Level 2 not synchronized */
    86 #define	EL3HLT 39	/* Level 3 halted */
    87 #define	EL3RST 40	/* Level 3 reset */
    88 #define	ELNRNG 41	/* Link number out of range */
    89 #define	EUNATCH 42	/* Protocol driver not attached */
    90 #define	ENOCSI 43	/* No CSI structure available */
    91 #define	EL2HLT 44	/* Level 2 halted */
    92 #define	EDEADLK 45	/* Deadlock condition */
    93 #define	ENOLCK 46	/* No record locks available */
    94 /* 47 */
    95 /* 48 */
    96 /* 49 */
    97 #define ENOTSOCK 50	/* Not a socket */
    98 #define EADDRNOTAVAIL 51	/* remote address not available */
    99 #define EAFNOSUPPORT 52	/* address not supported by protocol */
   100 #define EISCONN 53	/* socket is already connected */
   101 #define ECONNREFUSED 54	/* remote server refused connection */
   102 #define EADDRINUSE 55	/* address is already in use */
   103 #define ETIMEDOUT 56	/* connection timed out */
   104 /* 57 */
   105 /* 58 */
   106 /* 59 */
   107 #define ENOSTR 60	/* Device not a stream */
   108 #define ENODATA 61	/* No data (for no delay io) */
   109 #define ETIME 62	/* Timer expired */
   110 #define ENOSR 63	/* Out of streams resources */
   111 #define ENONET 64	/* Machine is not on the network */
   112 #define ENOPKG 65	/* Package not installed */
   113 #define EREMOTE 66	/* The object is remote */
   114 #define ENOLINK 67	/* The link has been severed */
   115 #define EADV 68		/* Advertise error */
   116 #define ESRMNT 69	/* Srmount error */
   117 #define	ECOMM 70	/* Communication error on send */
   118 #define EPROTO 71	/* Protocol error */
   119 /* 72 */
   120 /* 73 */
   121 #define	EMULTIHOP 74	/* Multihop attempted */
   122 #define	ELBIN 75	/* Inode is remote (not really error) */
   123 #define	EDOTDOT 76	/* Cross mount point (not really error) */
   124 #define EBADMSG 77	/* Trying to read unreadable message */
   125 /* 78 */
   126 /* 79 */
   127 #define ENOTUNIQ 80	/* Given log. name not unique */
   128 #define EBADFD 81	/* f.d. invalid for this operation */
   129 #define EREMCHG 82	/* Remote address changed */
   130 #define ELIBACC 83	/* Can't access a needed shared lib */
   131 #define ELIBBAD 84	/* Accessing a corrupted shared lib */
   132 #define ELIBSCN 85	/* .lib section in a.out corrupted */
   133 #define ELIBMAX 86	/* Attempting to link in too many libs */
   134 #define ELIBEXEC 87	/* Attempting to exec a shared library */
   135 #define ENOSYS 88	/* Function not implemented */
   136 #define ENMFILE 89      /* No more files */
   137 #define ENOTEMPTY 90	/* Directory not empty */
   138 #define ENAMETOOLONG 91	/* File or path name too long */
   139 
   140 #define EILSEQ		92	/*invalid wide-character encoding*/
   141 
   142 #define __ELASTERROR 2000	/* Users can add values starting here */
   143 #ifdef __cplusplus
   144 }
   145 #endif
   146 #endif /* _SYS_ERRNO_H */