UbixOS
2.0
err.c
Go to the documentation of this file.
1
7
/*
8
* Copyright (c) 2001-2004 Swedish Institute of Computer Science.
9
* All rights reserved.
10
*
11
* Redistribution and use in source and binary forms, with or without modification,
12
* are permitted provided that the following conditions are met:
13
*
14
* 1. Redistributions of source code must retain the above copyright notice,
15
* this list of conditions and the following disclaimer.
16
* 2. Redistributions in binary form must reproduce the above copyright notice,
17
* this list of conditions and the following disclaimer in the documentation
18
* and/or other materials provided with the distribution.
19
* 3. The name of the author may not be used to endorse or promote products
20
* derived from this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
27
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
31
* OF SUCH DAMAGE.
32
*
33
* This file is part of the lwIP TCP/IP stack.
34
*
35
* Author: Adam Dunkels <adam@sics.se>
36
*
37
*/
38
39
#include <
net/err.h
>
40
#include <
net/def.h
>
41
#include <
net/sys.h
>
42
43
#include <
net/errno.h
>
44
45
int
errno
;
46
47
#if !NO_SYS
48
50
static
const
int
err_to_errno_table[] = {
51
0,
/* ERR_OK 0 No error, everything OK. */
52
ENOMEM
,
/* ERR_MEM -1 Out of memory error. */
53
ENOBUFS
,
/* ERR_BUF -2 Buffer error. */
54
EWOULDBLOCK
,
/* ERR_TIMEOUT -3 Timeout */
55
EHOSTUNREACH
,
/* ERR_RTE -4 Routing problem. */
56
EINPROGRESS
,
/* ERR_INPROGRESS -5 Operation in progress */
57
EINVAL
,
/* ERR_VAL -6 Illegal value. */
58
EWOULDBLOCK
,
/* ERR_WOULDBLOCK -7 Operation would block. */
59
EADDRINUSE
,
/* ERR_USE -8 Address in use. */
60
EALREADY
,
/* ERR_ALREADY -9 Already connecting. */
61
EISCONN
,
/* ERR_ISCONN -10 Conn already established.*/
62
ENOTCONN
,
/* ERR_CONN -11 Not connected. */
63
-1,
/* ERR_IF -12 Low-level netif error */
64
ECONNABORTED
,
/* ERR_ABRT -13 Connection aborted. */
65
ECONNRESET
,
/* ERR_RST -14 Connection reset. */
66
ENOTCONN
,
/* ERR_CLSD -15 Connection closed. */
67
EIO
/* ERR_ARG -16 Illegal argument. */
68
};
69
70
int
71
err_to_errno
(
err_t
err)
72
{
73
if
((err > 0) || (-err >= (
err_t
)
LWIP_ARRAYSIZE
(err_to_errno_table))) {
74
return
EIO
;
75
}
76
return
err_to_errno_table[-err];
77
}
78
#endif
/* !NO_SYS */
79
80
#ifdef LWIP_DEBUG
81
82
static
const
char
*err_strerr[] = {
83
"Ok."
,
/* ERR_OK 0 */
84
"Out of memory error."
,
/* ERR_MEM -1 */
85
"Buffer error."
,
/* ERR_BUF -2 */
86
"Timeout."
,
/* ERR_TIMEOUT -3 */
87
"Routing problem."
,
/* ERR_RTE -4 */
88
"Operation in progress."
,
/* ERR_INPROGRESS -5 */
89
"Illegal value."
,
/* ERR_VAL -6 */
90
"Operation would block."
,
/* ERR_WOULDBLOCK -7 */
91
"Address in use."
,
/* ERR_USE -8 */
92
"Already connecting."
,
/* ERR_ALREADY -9 */
93
"Already connected."
,
/* ERR_ISCONN -10 */
94
"Not connected."
,
/* ERR_CONN -11 */
95
"Low-level netif error."
,
/* ERR_IF -12 */
96
"Connection aborted."
,
/* ERR_ABRT -13 */
97
"Connection reset."
,
/* ERR_RST -14 */
98
"Connection closed."
,
/* ERR_CLSD -15 */
99
"Illegal argument."
/* ERR_ARG -16 */
100
};
101
108
const
char
*
109
lwip_strerr
(
err_t
err)
110
{
111
if
((err > 0) || (-err >= (
err_t
)
LWIP_ARRAYSIZE
(err_strerr))) {
112
return
"Unknown error."
;
113
}
114
return
err_strerr[-err];
115
}
116
117
#endif
/* LWIP_DEBUG */
sys.h
EISCONN
#define EISCONN
Definition:
errno.h:101
def.h
ENOTCONN
#define ENOTCONN
Definition:
errno.h:102
ECONNABORTED
#define ECONNABORTED
Definition:
errno.h:98
err_to_errno
int err_to_errno(err_t err)
Definition:
err.c:71
EINPROGRESS
#define EINPROGRESS
Definition:
errno.h:76
LWIP_ARRAYSIZE
#define LWIP_ARRAYSIZE(x)
Definition:
def.h:58
EADDRINUSE
#define EADDRINUSE
Definition:
errno.h:91
ECONNRESET
#define ECONNRESET
Definition:
errno.h:99
err.h
errno
int errno
Definition:
err.c:45
EHOSTUNREACH
#define EHOSTUNREACH
Definition:
errno.h:114
ENOMEM
#define ENOMEM
Definition:
errno.h:44
EIO
#define EIO
Definition:
errno.h:36
errno.h
err_t
s8_t err_t
Definition:
err.h:57
EALREADY
#define EALREADY
Definition:
errno.h:77
EWOULDBLOCK
#define EWOULDBLOCK
Definition:
errno.h:75
ENOBUFS
#define ENOBUFS
Definition:
errno.h:100
EINVAL
#define EINVAL
Definition:
errno.h:55
lwip_strerr
#define lwip_strerr(x)
Definition:
err.h:108
net
api
err.c
Generated by
1.8.16