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