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