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.
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 */