mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-04 14:29:39 +00:00
Included patch #5938: changed raw_pcb.protocol from u16_t to u8_t since for IPv4 and IPv6, proto is only 8 bits wide. This affects the api, as there, the protocol was u16_t, too.
This commit is contained in:
parent
980af63b8d
commit
81ac03a28b
@ -166,6 +166,12 @@ HISTORY
|
||||
|
||||
++ Bug fixes:
|
||||
|
||||
2007-05-22 Simon Goldschmidt
|
||||
* api_lib.c, api_msg.c, raw.c, api.h, api_msg.h, raw.h: Included patch #5938:
|
||||
changed raw_pcb.protocol from u16_t to u8_t since for IPv4 and IPv6, proto
|
||||
is only 8 bits wide. This affects the api, as there, the protocol was
|
||||
u16_t, too.
|
||||
|
||||
2007-05-18 Simon Goldschmidt
|
||||
* memp.c: addition to patch #5913: smaller pointer was returned but
|
||||
memp_memory was the same size -> did not save memory.
|
||||
|
@ -182,7 +182,7 @@ netbuf_copy_partial(struct netbuf *buf, void *dataptr, u16_t len, u16_t offset)
|
||||
}
|
||||
|
||||
struct
|
||||
netconn *netconn_new_with_proto_and_callback(enum netconn_type t, u16_t proto,
|
||||
netconn *netconn_new_with_proto_and_callback(enum netconn_type t, u8_t proto,
|
||||
void (*callback)(struct netconn *, enum netconn_evt, u16_t len))
|
||||
{
|
||||
struct netconn *conn;
|
||||
@ -218,7 +218,7 @@ netconn *netconn_new_with_proto_and_callback(enum netconn_type t, u16_t proto,
|
||||
#endif /* LWIP_SO_RCVTIMEO */
|
||||
|
||||
msg.function = do_newconn;
|
||||
msg.msg.msg.bc.port = proto; /* misusing the port field */
|
||||
msg.msg.msg.raw_proto = proto;
|
||||
msg.msg.conn = conn;
|
||||
tcpip_apimsg(&msg);
|
||||
|
||||
@ -682,7 +682,7 @@ netconn_join_leave_group (struct netconn *conn,
|
||||
msg.function = do_join_leave_group;
|
||||
msg.msg.conn = conn;
|
||||
msg.msg.msg.bc.ipaddr = (struct ip_addr *)ipaddr;
|
||||
msg.msg.msg.bc.port = join_or_leave;
|
||||
msg.msg.msg.bc.port = join_or_leave; /* misusing the port field */
|
||||
tcpip_apimsg(&msg);
|
||||
return conn->err;
|
||||
}
|
||||
|
@ -293,7 +293,7 @@ pcb_new(struct api_msg_msg *msg)
|
||||
switch(msg->conn->type) {
|
||||
#if LWIP_RAW
|
||||
case NETCONN_RAW:
|
||||
msg->conn->pcb.raw = raw_new(msg->msg.bc.port); /* misusing the port field */
|
||||
msg->conn->pcb.raw = raw_new(msg->msg.raw_proto);
|
||||
if(msg->conn->pcb.raw == NULL) {
|
||||
msg->conn->err = ERR_MEM;
|
||||
break;
|
||||
@ -667,7 +667,7 @@ do_join_leave_group(struct api_msg_msg *msg)
|
||||
case NETCONN_UDPLITE:
|
||||
case NETCONN_UDPNOCHKSUM:
|
||||
case NETCONN_UDP:
|
||||
switch(msg->msg.bc.port){
|
||||
switch(msg->msg.bc.port){ /* misusing the port field */
|
||||
case NETCONN_JOIN: msg->conn->err = igmp_joingroup (netif_default, ((struct ip_addr**)(msg->msg.bc.ipaddr))[0]); break;
|
||||
case NETCONN_LEAVE: msg->conn->err = igmp_leavegroup(netif_default, ((struct ip_addr**)(msg->msg.bc.ipaddr))[0]); break;
|
||||
}
|
||||
|
@ -310,7 +310,7 @@ raw_remove(struct raw_pcb *pcb)
|
||||
* @see raw_remove()
|
||||
*/
|
||||
struct raw_pcb *
|
||||
raw_new(u16_t proto) {
|
||||
raw_new(u8_t proto) {
|
||||
struct raw_pcb *pcb;
|
||||
|
||||
LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_TRACE | 3, ("raw_new\n"));
|
||||
|
@ -143,7 +143,7 @@ struct
|
||||
netconn *netconn_new_with_callback(enum netconn_type t,
|
||||
void (*callback)(struct netconn *, enum netconn_evt, u16_t len));
|
||||
struct
|
||||
netconn *netconn_new_with_proto_and_callback(enum netconn_type t, u16_t proto,
|
||||
netconn *netconn_new_with_proto_and_callback(enum netconn_type t, u8_t proto,
|
||||
void (*callback)(struct netconn *, enum netconn_evt, u16_t len));
|
||||
err_t netconn_delete (struct netconn *conn);
|
||||
enum netconn_type netconn_type (struct netconn *conn);
|
||||
|
@ -67,6 +67,7 @@ struct api_msg_msg {
|
||||
} w;
|
||||
sys_mbox_t mbox;
|
||||
u16_t len;
|
||||
u8_t raw_proto;
|
||||
} msg;
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ struct raw_pcb {
|
||||
|
||||
struct raw_pcb *next;
|
||||
|
||||
u16_t protocol;
|
||||
u8_t protocol;
|
||||
|
||||
u8_t (* recv)(void *arg, struct raw_pcb *pcb, struct pbuf *p,
|
||||
struct ip_addr *addr);
|
||||
@ -57,7 +57,7 @@ struct raw_pcb {
|
||||
|
||||
/* The following functions is the application layer interface to the
|
||||
RAW code. */
|
||||
struct raw_pcb * raw_new (u16_t proto);
|
||||
struct raw_pcb * raw_new (u8_t proto);
|
||||
void raw_remove (struct raw_pcb *pcb);
|
||||
err_t raw_bind (struct raw_pcb *pcb, struct ip_addr *ipaddr);
|
||||
err_t raw_connect (struct raw_pcb *pcb, struct ip_addr *ipaddr);
|
||||
@ -67,11 +67,11 @@ void raw_recv (struct raw_pcb *pcb,
|
||||
struct pbuf *p,
|
||||
struct ip_addr *addr),
|
||||
void *recv_arg);
|
||||
err_t raw_sendto (struct raw_pcb *pcb, struct pbuf *p, struct ip_addr *ipaddr);
|
||||
err_t raw_sendto (struct raw_pcb *pcb, struct pbuf *p, struct ip_addr *ipaddr);
|
||||
err_t raw_send (struct raw_pcb *pcb, struct pbuf *p);
|
||||
|
||||
/* The following functions are the lower layer interface to RAW. */
|
||||
u8_t raw_input (struct pbuf *p, struct netif *inp);
|
||||
u8_t raw_input (struct pbuf *p, struct netif *inp);
|
||||
void raw_init (void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
Loading…
Reference in New Issue
Block a user