LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
libxenon
drivers
lwip
include
lwip
raw.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_RAW_H__
33
#define __LWIP_RAW_H__
34
35
#include "
lwip/opt.h
"
36
37
#if LWIP_RAW
/* don't build if not configured for use in lwipopts.h */
38
39
#include "
lwip/pbuf.h
"
40
#include "
lwip/def.h
"
41
#include "lwip/ip.h"
42
#include "lwip/ip_addr.h"
43
44
#ifdef __cplusplus
45
extern
"C"
{
46
#endif
47
48
struct
raw_pcb;
49
60
typedef
u8_t
(*raw_recv_fn)(
void
*arg,
struct
raw_pcb *pcb,
struct
pbuf
*p,
61
ip_addr_t
*addr);
62
63
struct
raw_pcb {
64
/* Common members of all PCB types */
65
IP_PCB
;
66
67
struct
raw_pcb *
next
;
68
69
u8_t
protocol;
70
72
raw_recv_fn recv;
73
/* user-supplied argument for the recv callback */
74
void
*recv_arg;
75
};
76
77
/* The following functions is the application layer interface to the
78
RAW code. */
79
struct
raw_pcb * raw_new (
u8_t
proto);
80
void
raw_remove (
struct
raw_pcb *pcb);
81
err_t
raw_bind (
struct
raw_pcb *pcb,
ip_addr_t
*
ipaddr
);
82
err_t
raw_connect (
struct
raw_pcb *pcb,
ip_addr_t
*
ipaddr
);
83
84
void
raw_recv (
struct
raw_pcb *pcb, raw_recv_fn recv,
void
*recv_arg);
85
err_t
raw_sendto (
struct
raw_pcb *pcb,
struct
pbuf
*p,
ip_addr_t
*
ipaddr
);
86
err_t
raw_send (
struct
raw_pcb *pcb,
struct
pbuf
*p);
87
88
/* The following functions are the lower layer interface to RAW. */
89
u8_t
raw_input (
struct
pbuf
*p,
struct
netif
*inp);
90
#define raw_init()
/* Compatibility define, not init needed. */
91
92
#ifdef __cplusplus
93
}
94
#endif
95
96
#endif
/* LWIP_RAW */
97
98
#endif
/* __LWIP_RAW_H__ */
u8_t
unsigned char u8_t
Definition:
cc.h:38
def.h
next
struct ehci_qtd * next
Definition:
ehci.h:27
err_t
s8_t err_t
Definition:
err.h:47
IP_PCB
#define IP_PCB
Definition:
ip.h:76
ip_addr_t
typedefPACK_STRUCT_END struct ip_addr ip_addr_t
Definition:
ip_addr.h:64
ipaddr
ip_addr_t ipaddr
Definition:
network.c:23
opt.h
pbuf.h
netif
Definition:
netif.h:136
pbuf
Definition:
pbuf.h:79
Generated by
1.9.5