LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
libxenon
drivers
lwip
include
lwip
def.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2001-2004 Swedish Institute of Computer Science.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without modification,
6
* are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright notice,
11
* this list of conditions and the following disclaimer in the documentation
12
* and/or other materials provided with the distribution.
13
* 3. The name of the author may not be used to endorse or promote products
14
* derived from this software without specific prior written permission.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25
* OF SUCH DAMAGE.
26
*
27
* This file is part of the lwIP TCP/IP stack.
28
*
29
* Author: Adam Dunkels <adam@sics.se>
30
*
31
*/
32
#ifndef __LWIP_DEF_H__
33
#define __LWIP_DEF_H__
34
35
/* arch.h might define NULL already */
36
#include "
lwip/arch.h
"
37
#include "
lwip/opt.h
"
38
39
#ifdef __cplusplus
40
extern
"C"
{
41
#endif
42
43
#define LWIP_MAX(x , y) (((x) > (y)) ? (x) : (y))
44
#define LWIP_MIN(x , y) (((x) < (y)) ? (x) : (y))
45
46
#ifndef NULL
47
#define NULL ((void *)0)
48
#endif
49
50
/* Endianess-optimized shifting of two u8_t to create one u16_t */
51
#if BYTE_ORDER == LITTLE_ENDIAN
52
#define LWIP_MAKE_U16(a, b) ((a << 8) | b)
53
#else
54
#define LWIP_MAKE_U16(a, b) ((b << 8) | a)
55
#endif
56
57
#ifndef LWIP_PLATFORM_BYTESWAP
58
#define LWIP_PLATFORM_BYTESWAP 0
59
#endif
60
61
#ifndef LWIP_PREFIX_BYTEORDER_FUNCS
62
/* workaround for naming collisions on some platforms */
63
64
#ifdef htons
65
#undef htons
66
#endif
/* htons */
67
#ifdef htonl
68
#undef htonl
69
#endif
/* htonl */
70
#ifdef ntohs
71
#undef ntohs
72
#endif
/* ntohs */
73
#ifdef ntohl
74
#undef ntohl
75
#endif
/* ntohl */
76
77
#define htons(x) lwip_htons(x)
78
#define ntohs(x) lwip_ntohs(x)
79
#define htonl(x) lwip_htonl(x)
80
#define ntohl(x) lwip_ntohl(x)
81
#endif
/* LWIP_PREFIX_BYTEORDER_FUNCS */
82
83
#if BYTE_ORDER == BIG_ENDIAN
84
#define lwip_htons(x) (x)
85
#define lwip_ntohs(x) (x)
86
#define lwip_htonl(x) (x)
87
#define lwip_ntohl(x) (x)
88
#define PP_HTONS(x) (x)
89
#define PP_NTOHS(x) (x)
90
#define PP_HTONL(x) (x)
91
#define PP_NTOHL(x) (x)
92
#else
/* BYTE_ORDER != BIG_ENDIAN */
93
#if LWIP_PLATFORM_BYTESWAP
94
#define lwip_htons(x) LWIP_PLATFORM_HTONS(x)
95
#define lwip_ntohs(x) LWIP_PLATFORM_HTONS(x)
96
#define lwip_htonl(x) LWIP_PLATFORM_HTONL(x)
97
#define lwip_ntohl(x) LWIP_PLATFORM_HTONL(x)
98
#else
/* LWIP_PLATFORM_BYTESWAP */
99
u16_t
lwip_htons
(
u16_t
x);
100
u16_t
lwip_ntohs
(
u16_t
x);
101
u32_t
lwip_htonl
(
u32_t
x);
102
u32_t
lwip_ntohl
(
u32_t
x);
103
#endif
/* LWIP_PLATFORM_BYTESWAP */
104
105
/* These macros should be calculated by the preprocessor and are used
106
with compile-time constants only (so that there is no little-endian
107
overhead at runtime). */
108
#define PP_HTONS(x) ((((x) & 0xff) << 8) | (((x) & 0xff00) >> 8))
109
#define PP_NTOHS(x) PP_HTONS(x)
110
#define PP_HTONL(x) ((((x) & 0xff) << 24) | \
111
(((x) & 0xff00) << 8) | \
112
(((x) & 0xff0000UL) >> 8) | \
113
(((x) & 0xff000000UL) >> 24))
114
#define PP_NTOHL(x) PP_HTONL(x)
115
116
#endif
/* BYTE_ORDER == BIG_ENDIAN */
117
118
#ifdef __cplusplus
119
}
120
#endif
121
122
#endif
/* __LWIP_DEF_H__ */
123
arch.h
u32_t
unsigned int u32_t
Definition:
cc.h:42
u16_t
unsigned short u16_t
Definition:
cc.h:40
lwip_htons
#define lwip_htons(x)
Definition:
def.h:84
lwip_ntohl
#define lwip_ntohl(x)
Definition:
def.h:87
lwip_htonl
#define lwip_htonl(x)
Definition:
def.h:86
lwip_ntohs
#define lwip_ntohs(x)
Definition:
def.h:85
opt.h
Generated by
1.9.5