Loading...
Searching...
No Matches
ip.h File Reference

Raw IPv4/IPv6 sock definitions. More...

Detailed Description

#include <errno.h>
#include <stdint.h>
#include <stdlib.h>
#include <sys/types.h>
#include "net/sock.h"
#include "sock_types.h"
+ Include dependency graph for ip.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sock_ip_aux_rx_t
 Auxiliary data provided when receiving using an IP sock object. More...
 
struct  sock_ip_aux_tx_t
 Auxiliary data provided when sending using an IP sock object. More...
 

Typedefs

typedef struct sock_ip sock_ip_t
 Type for a raw IPv4/IPv6 sock object.
 

Functions

int sock_ip_create (sock_ip_t *sock, const sock_ip_ep_t *local, const sock_ip_ep_t *remote, uint8_t proto, uint16_t flags)
 Creates a new raw IPv4/IPv6 sock object.
 
void sock_ip_close (sock_ip_t *sock)
 Closes a raw IPv4/IPv6 sock object.
 
int sock_ip_get_local (sock_ip_t *sock, sock_ip_ep_t *ep)
 Gets the local end point of a raw IPv4/IPv6 sock object.
 
int sock_ip_get_remote (sock_ip_t *sock, sock_ip_ep_t *ep)
 Gets the remote end point of a raw IPv4/IPv6 sock object.
 
ssize_t sock_ip_recv_aux (sock_ip_t *sock, void *data, size_t max_len, uint32_t timeout, sock_ip_ep_t *remote, sock_ip_aux_rx_t *aux)
 Receives a message over IPv4/IPv6 from remote end point.
 
static ssize_t sock_ip_recv (sock_ip_t *sock, void *data, size_t max_len, uint32_t timeout, sock_ip_ep_t *remote)
 Receives a message over IPv4/IPv6 from remote end point.
 
ssize_t sock_ip_recv_buf_aux (sock_ip_t *sock, void **data, void **buf_ctx, uint32_t timeout, sock_ip_ep_t *remote, sock_ip_aux_rx_t *aux)
 Provides stack-internal buffer space containing an IPv4/IPv6 message from remote end point.
 
static ssize_t sock_ip_recv_buf (sock_ip_t *sock, void **data, void **buf_ctx, uint32_t timeout, sock_ip_ep_t *remote)
 Provides stack-internal buffer space containing an IPv4/IPv6 message from remote end point.
 
ssize_t sock_ip_send_aux (sock_ip_t *sock, const void *data, size_t len, uint8_t proto, const sock_ip_ep_t *remote, sock_ip_aux_tx_t *aux)
 Sends a message over IPv4/IPv6 to remote end point.
 
static ssize_t sock_ip_send (sock_ip_t *sock, const void *data, size_t len, uint8_t proto, const sock_ip_ep_t *remote)
 Sends a message over IPv4/IPv6 to remote end point.