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