A version of LWIP, provided for backwards compatibility.

Dependents:   AA_DemoBoard DemoBoard HelloServerDemo DemoBoard_RangeIndicator ... more

Embed: (wiki syntax)

« Back to documentation index

api_lib.c File Reference

api_lib.c File Reference

Sequential API External module. More...

Go to the source code of this file.

Functions

struct netconnnetconn_new_with_proto_and_callback (enum netconn_type t, u8_t proto, netconn_callback callback)
 Create a new netconn (of a specific type) that has a callback function.
err_t netconn_delete (struct netconn *conn)
 Close a netconn 'connection' and free its resources.
enum netconn_type netconn_type (struct netconn *conn)
 Get the type of a netconn (as enum netconn_type).
err_t netconn_getaddr (struct netconn *conn, struct ip_addr *addr, u16_t *port, u8_t local)
 Get the local or remote IP address and port of a netconn.
err_t netconn_bind (struct netconn *conn, struct ip_addr *addr, u16_t port)
 Bind a netconn to a specific local IP address and port.
err_t netconn_connect (struct netconn *conn, struct ip_addr *addr, u16_t port)
 Connect a netconn to a specific remote IP address and port.
err_t netconn_disconnect (struct netconn *conn)
 Disconnect a netconn from its current peer (only valid for UDP netconns).
err_t netconn_listen_with_backlog (struct netconn *conn, u8_t backlog)
 Set a TCP netconn into listen mode.
struct netconnnetconn_accept (struct netconn *conn)
 Accept a new connection on a TCP listening netconn.
struct netbuf * netconn_recv (struct netconn *conn)
 Receive data (in form of a netbuf containing a packet buffer) from a netconn.
err_t netconn_sendto (struct netconn *conn, struct netbuf *buf, struct ip_addr *addr, u16_t port)
 Send data (in form of a netbuf) to a specific remote IP address and port.
err_t netconn_send (struct netconn *conn, struct netbuf *buf)
 Send data over a UDP or RAW netconn (that is already connected).
err_t netconn_write (struct netconn *conn, const void *dataptr, int size, u8_t apiflags)
 Send data over a TCP netconn.
err_t netconn_close (struct netconn *conn)
 Close a TCP netconn (doesn't delete it).
err_t netconn_join_leave_group (struct netconn *conn, struct ip_addr *multiaddr, struct ip_addr *interface, enum netconn_igmp join_or_leave)
 Join multicast groups for UDP netconns.
err_t netconn_gethostbyname (const char *name, struct ip_addr *addr)
 Execute a DNS query, only one IP address is returned.

Detailed Description

Sequential API External module.

Definition in file 7/Core/lwIP/api/api_lib.c.


Function Documentation

struct netconn* netconn_accept ( struct netconn conn ) [read]

Accept a new connection on a TCP listening netconn.

Parameters:
connthe TCP listen netconn
Returns:
the newly accepted netconn or NULL on timeout

Definition at line 267 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_bind ( struct netconn conn,
struct ip_addr *  addr,
u16_t  port 
)

Bind a netconn to a specific local IP address and port.

Binding one netconn twice might not always be checked correctly!

Parameters:
connthe netconn to bind
addrthe local IP address to bind the netconn to (use IP_ADDR_ANY to bind to all addresses)
portthe local port to bind the netconn to (not used for RAW)
Returns:
ERR_OK if bound, any other err_t on failure

Definition at line 176 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_close ( struct netconn conn )

Close a TCP netconn (doesn't delete it).

Parameters:
connthe TCP netconn to close
Returns:
ERR_OK if the netconn was closed, any other err_t on error

Definition at line 488 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_connect ( struct netconn conn,
struct ip_addr *  addr,
u16_t  port 
)

Connect a netconn to a specific remote IP address and port.

Parameters:
connthe netconn to connect
addrthe remote IP address to connect to
portthe remote port to connect to (no used for RAW)
Returns:
ERR_OK if connected, return value of tcp_/udp_/raw_connect otherwise

Definition at line 199 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_delete ( struct netconn conn )

Close a netconn 'connection' and free its resources.

UDP and RAW connection are completely closed, TCP pcbs might still be in a waitstate after this returns.

Parameters:
connthe netconn to delete
Returns:
ERR_OK if the connection was deleted

Definition at line 103 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_disconnect ( struct netconn conn )

Disconnect a netconn from its current peer (only valid for UDP netconns).

Parameters:
connthe netconn to disconnect
Returns:
TODO: return value is not set here...

Definition at line 221 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_getaddr ( struct netconn conn,
struct ip_addr *  addr,
u16_t *  port,
u8_t  local 
)

Get the local or remote IP address and port of a netconn.

For RAW netconns, this returns the protocol instead of a port!

Parameters:
connthe netconn to query
addra pointer to which to save the IP address
porta pointer to which to save the port (or protocol for RAW)
local1 to get the local IP address, 0 to get the remote one
Returns:
ERR_CONN for invalid connections ERR_OK if the information was retrieved

Definition at line 147 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_gethostbyname ( const char *  name,
struct ip_addr *  addr 
)

Execute a DNS query, only one IP address is returned.

Parameters:
namea string representation of the DNS host name to query
addra preallocated struct ip_addr where to store the resolved IP address
Returns:
ERR_OK: resolving succeeded ERR_MEM: memory error, try again later ERR_ARG: dns client not initialized or invalid hostname ERR_VAL: dns server response was invalid

Definition at line 543 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_join_leave_group ( struct netconn conn,
struct ip_addr *  multiaddr,
struct ip_addr *  interface,
enum netconn_igmp  join_or_leave 
)

Join multicast groups for UDP netconns.

Parameters:
connthe UDP netconn for which to change multicast addresses
multiaddrIP address of the multicast group to join or leave
interfacethe IP address of the network interface on which to send the igmp message
join_or_leaveflag whether to send a join- or leave-message
Returns:
ERR_OK if the action was taken, any err_t on error

Definition at line 512 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_listen_with_backlog ( struct netconn conn,
u8_t  backlog 
)

Set a TCP netconn into listen mode.

Parameters:
connthe tcp netconn to set to listen mode
backlogthe listen backlog, only used if TCP_LISTEN_BACKLOG==1
Returns:
ERR_OK if the netconn was set to listen (UDP and RAW netconns don't return any error (yet?))

Definition at line 242 of file 7/Core/lwIP/api/api_lib.c.

struct netconn* netconn_new_with_proto_and_callback ( enum netconn_type  t,
u8_t  proto,
netconn_callback  callback 
) [read]

Create a new netconn (of a specific type) that has a callback function.

The corresponding pcb is also created.

Parameters:
tthe type of 'connection' to create (
See also:
enum netconn_type)
Parameters:
protothe IP protocol for RAW IP pcbs
callbacka function to call on status changes (RX available, TX'ed)
Returns:
a newly allocated struct netconn or NULL on memory error

Definition at line 68 of file 7/Core/lwIP/api/api_lib.c.

struct netbuf* netconn_recv ( struct netconn conn ) [read]

Receive data (in form of a netbuf containing a packet buffer) from a netconn.

Parameters:
connthe netconn from which to receive data
Returns:
a new netbuf containing received data or NULL on memory error or timeout

Definition at line 306 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_send ( struct netconn conn,
struct netbuf *  buf 
)

Send data over a UDP or RAW netconn (that is already connected).

Parameters:
connthe UDP or RAW netconn over which to send data
bufa netbuf containing the data to send
Returns:
ERR_OK if data was sent, any other err_t on error

Definition at line 436 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_sendto ( struct netconn conn,
struct netbuf *  buf,
struct ip_addr *  addr,
u16_t  port 
)

Send data (in form of a netbuf) to a specific remote IP address and port.

Only to be used for UDP and RAW netconns (not TCP).

Parameters:
connthe netconn over which to send data
bufa netbuf containing the data to send
addrthe remote IP address to which to send the data
portthe remote port to which to send the data
Returns:
ERR_OK if data was sent, any other err_t on error

Definition at line 418 of file 7/Core/lwIP/api/api_lib.c.

enum netconn_type netconn_type ( struct netconn conn )

Get the type of a netconn (as enum netconn_type).

Parameters:
connthe netconn of which to get the type
Returns:
the netconn_type of conn

Definition at line 129 of file 7/Core/lwIP/api/api_lib.c.

err_t netconn_write ( struct netconn conn,
const void *  dataptr,
int  size,
u8_t  apiflags 
)

Send data over a TCP netconn.

Parameters:
connthe TCP netconn over which to send data
dataptrpointer to the application buffer that contains the data to send
sizesize of the application data to send
apiflagscombination of following flags :

  • NETCONN_COPY (0x01) data will be copied into memory belonging to the stack
  • NETCONN_MORE (0x02) for TCP connection, PSH flag will be set on last segment sent
Returns:
ERR_OK if data was sent, any other err_t on error

Definition at line 462 of file 7/Core/lwIP/api/api_lib.c.