1.1 --- a/epoc32/include/libc/sys/errno.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/libc/sys/errno.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,146 @@
1.4 -errno.h
1.5 +/*
1.6 +* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
1.7 +* All rights reserved.
1.8 +* This component and the accompanying materials are made available
1.9 +* 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
1.10 +* which accompanies this distribution, and is available
1.11 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.12 +*
1.13 +* Initial Contributors:
1.14 +* Nokia Corporation - initial contribution.
1.15 +*
1.16 +* Contributors:
1.17 +*
1.18 +* Description:
1.19 +* errno is not a global variable, because that would make using it
1.20 +* non-reentrant. Instead, its address is returned by the function __errno.
1.21 +*
1.22 +*
1.23 +*/
1.24 +
1.25 +
1.26 +
1.27 +
1.28 +
1.29 +
1.30 +
1.31 +/**
1.32 + @file
1.33 + @publishedAll
1.34 + @released
1.35 +*/
1.36 +
1.37 +#ifndef _SYS_ERRNO_H_
1.38 +#define _SYS_ERRNO_H_
1.39 +
1.40 +#ifdef __cplusplus
1.41 +extern "C" {
1.42 +#endif
1.43 +
1.44 +#include <_ansi.h>
1.45 +
1.46 +#ifndef _REENT_ONLY
1.47 +
1.48 +IMPORT_C int *__errno(void);
1.49 +#define errno (*__errno())
1.50 +#endif
1.51 +
1.52 +#define EPERM 1 /* Not super-user */
1.53 +#define ENOENT 2 /* No such file or directory */
1.54 +#define ESRCH 3 /* No such process */
1.55 +#define EINTR 4 /* Interrupted system call */
1.56 +#define EIO 5 /* I/O error */
1.57 +#define ENXIO 6 /* No such device or address */
1.58 +#define E2BIG 7 /* Arg list too long */
1.59 +#define ENOEXEC 8 /* Exec format error */
1.60 +#define EBADF 9 /* Bad file number */
1.61 +#define ECHILD 10 /* No children */
1.62 +#define EAGAIN 11 /* No more processes */
1.63 +#define ENOMEM 12 /* Not enough core */
1.64 +#define EACCES 13 /* Permission denied */
1.65 +#define EFAULT 14 /* Bad address */
1.66 +#define ENOTBLK 15 /* Block device required */
1.67 +#define EBUSY 16 /* Mount device busy */
1.68 +#define EEXIST 17 /* File exists */
1.69 +#define EXDEV 18 /* Cross-device link */
1.70 +#define ENODEV 19 /* No such device */
1.71 +#define ENOTDIR 20 /* Not a directory */
1.72 +#define EISDIR 21 /* Is a directory */
1.73 +#define EINVAL 22 /* Invalid argument */
1.74 +#define ENFILE 23 /* Too many open files in system */
1.75 +#define EMFILE 24 /* Too many open files */
1.76 +#define ENOTTY 25 /* Not a typewriter */
1.77 +#define ETXTBSY 26 /* Text file busy */
1.78 +#define EFBIG 27 /* File too large */
1.79 +#define ENOSPC 28 /* No space left on device */
1.80 +#define ESPIPE 29 /* Illegal seek */
1.81 +#define EROFS 30 /* Read only file system */
1.82 +#define EMLINK 31 /* Too many links */
1.83 +#define EPIPE 32 /* Broken pipe */
1.84 +#define EDOM 33 /* Math arg out of domain of func */
1.85 +#define ERANGE 34 /* Math result not representable */
1.86 +#define ENOMSG 35 /* No message of desired type */
1.87 +#define EIDRM 36 /* Identifier removed */
1.88 +#define ECHRNG 37 /* Channel number out of range */
1.89 +#define EL2NSYNC 38 /* Level 2 not synchronized */
1.90 +#define EL3HLT 39 /* Level 3 halted */
1.91 +#define EL3RST 40 /* Level 3 reset */
1.92 +#define ELNRNG 41 /* Link number out of range */
1.93 +#define EUNATCH 42 /* Protocol driver not attached */
1.94 +#define ENOCSI 43 /* No CSI structure available */
1.95 +#define EL2HLT 44 /* Level 2 halted */
1.96 +#define EDEADLK 45 /* Deadlock condition */
1.97 +#define ENOLCK 46 /* No record locks available */
1.98 +/* 47 */
1.99 +/* 48 */
1.100 +/* 49 */
1.101 +#define ENOTSOCK 50 /* Not a socket */
1.102 +#define EADDRNOTAVAIL 51 /* remote address not available */
1.103 +#define EAFNOSUPPORT 52 /* address not supported by protocol */
1.104 +#define EISCONN 53 /* socket is already connected */
1.105 +#define ECONNREFUSED 54 /* remote server refused connection */
1.106 +#define EADDRINUSE 55 /* address is already in use */
1.107 +#define ETIMEDOUT 56 /* connection timed out */
1.108 +/* 57 */
1.109 +/* 58 */
1.110 +/* 59 */
1.111 +#define ENOSTR 60 /* Device not a stream */
1.112 +#define ENODATA 61 /* No data (for no delay io) */
1.113 +#define ETIME 62 /* Timer expired */
1.114 +#define ENOSR 63 /* Out of streams resources */
1.115 +#define ENONET 64 /* Machine is not on the network */
1.116 +#define ENOPKG 65 /* Package not installed */
1.117 +#define EREMOTE 66 /* The object is remote */
1.118 +#define ENOLINK 67 /* The link has been severed */
1.119 +#define EADV 68 /* Advertise error */
1.120 +#define ESRMNT 69 /* Srmount error */
1.121 +#define ECOMM 70 /* Communication error on send */
1.122 +#define EPROTO 71 /* Protocol error */
1.123 +/* 72 */
1.124 +/* 73 */
1.125 +#define EMULTIHOP 74 /* Multihop attempted */
1.126 +#define ELBIN 75 /* Inode is remote (not really error) */
1.127 +#define EDOTDOT 76 /* Cross mount point (not really error) */
1.128 +#define EBADMSG 77 /* Trying to read unreadable message */
1.129 +/* 78 */
1.130 +/* 79 */
1.131 +#define ENOTUNIQ 80 /* Given log. name not unique */
1.132 +#define EBADFD 81 /* f.d. invalid for this operation */
1.133 +#define EREMCHG 82 /* Remote address changed */
1.134 +#define ELIBACC 83 /* Can't access a needed shared lib */
1.135 +#define ELIBBAD 84 /* Accessing a corrupted shared lib */
1.136 +#define ELIBSCN 85 /* .lib section in a.out corrupted */
1.137 +#define ELIBMAX 86 /* Attempting to link in too many libs */
1.138 +#define ELIBEXEC 87 /* Attempting to exec a shared library */
1.139 +#define ENOSYS 88 /* Function not implemented */
1.140 +#define ENMFILE 89 /* No more files */
1.141 +#define ENOTEMPTY 90 /* Directory not empty */
1.142 +#define ENAMETOOLONG 91 /* File or path name too long */
1.143 +
1.144 +#define EILSEQ 92 /*invalid wide-character encoding*/
1.145 +
1.146 +#define __ELASTERROR 2000 /* Users can add values starting here */
1.147 +#ifdef __cplusplus
1.148 +}
1.149 +#endif
1.150 +#endif /* _SYS_ERRNO_H */