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