api.h, api_lib.c, api_msg.h, api_msg.c: change the struct api_msg_msg to see which parameters are used by which do_xxx function, and to avoid "misusing" parameters (patch #5938).

This commit is contained in:
fbernon
2007-05-22 09:54:00 +00:00
parent 2106f491d0
commit 499f4689be
5 changed files with 82 additions and 66 deletions

View File

@@ -176,7 +176,7 @@ err_t netconn_close (struct netconn *conn);
err_t netconn_join_leave_group (struct netconn *conn,
struct ip_addr *multiaddr,
struct ip_addr *interface,
u16_t join_or_leave);
enum netconn_igmp join_or_leave);
#endif /* LWIP_IGMP */
err_t netconn_err (struct netconn *conn);

View File

@@ -54,19 +54,29 @@ struct api_msg_msg {
struct netconn *conn;
enum netconn_type conntype;
union {
struct pbuf *p;
struct netbuf *b;
struct {
struct netbuf *b; /* do_send */
struct {
u8_t proto;
} n; /* do_newconn */
struct {
struct ip_addr *ipaddr;
u16_t port;
} bc; /* do_newconn, do_bind, do_connect, do_join_leave_group*/
} bc; /* do_bind, do_connect */
struct {
const void *dataptr;
u16_t len;
u8_t copy;
} w; /* do_write */
u16_t len; /* do_recv */
u8_t raw_proto; /* do_newconn */
struct {
u16_t len;
} r; /* do_recv */
#if LWIP_IGMP
struct {
struct ip_addr *multiaddr;
struct ip_addr *interface;
enum netconn_igmp join_or_leave;
} jl; /* do_join_leave_group */
#endif /* LWIP_IGMP */
} msg;
};