VSF Documented
vsf_linux_socket_inet_lwip.c File Reference
#include "shell/sys/linux/vsf_linux_cfg.h"
#include "vsf.h"
#include "../../../include/unistd.h"
#include "../../../include/errno.h"
#include "../../../include/sys/socket.h"
#include "../../../include/sys/time.h"
#include "../../../include/net/if.h"
#include "../../../include/netinet/in.h"
#include "../../../include/netinet/tcp.h"
#include "../../../include/arpa/inet.h"
#include "../../../include/ifaddrs.h"
#include "../../../include/poll.h"
#include "../../../include/fcntl.h"
#include "../../../include/linux/netlink.h"
#include "../../../include/linux/rtnetlink.h"
#include "../../../include/linux/if_addr.h"
#include "../vsf_linux_socket.h"
#include "lwip/tcpip.h"
#include "lwip/api.h"
#include "lwip/ip.h"
#include "lwip/tcp.h"
#include "lwip/udp.h"
#include "lwip/dns.h"
#include "lwip/mld6.h"
#include "lwip/igmp.h"
#include <limits.h>

Data Structures

struct  vsf_linux_socket_group_t
 
struct  vsf_linux_socket_inet_priv_t
 
union  vsf_linux_sockaddr_t
 
struct  vsf_linux_socket_netlink_msg_t
 
struct  vsf_linux_socket_netlink_priv_t
 
struct  gethostbyname_param_t
 
struct  addrinfo
 

Macros

#define __VSF_LINUX_FS_CLASS_INHERIT__
 
#define __VSF_LINUX_SOCKET_CLASS_INHERIT__
 
#define __VSF_LINUX_CLASS_INHERIT__
 
#define __VSF_FS_CLASS_INHERIT__
 
#define udp_is_flag_set(__pcb, __flag)
 
#define VSF_LINUX_SOCKET_INET_LWIP_FD_SLOT_EN   0
 
#define netif_get_index(netif)
 
#define LWIP_ASSERT_CORE_LOCKED()
 

Typedefs

typedef struct vsf_linux_socket_group_t vsf_linux_socket_group_t
 
typedef struct vsf_linux_socket_inet_priv_t vsf_linux_socket_inet_priv_t
 
typedef union vsf_linux_sockaddr_t vsf_linux_sockaddr_t
 
typedef struct vsf_linux_socket_netlink_msg_t vsf_linux_socket_netlink_msg_t
 
typedef struct vsf_linux_socket_netlink_priv_t vsf_linux_socket_netlink_priv_t
 
typedef struct gethostbyname_param_t gethostbyname_param_t
 

Functions

int __vsf_linux_socket_inet_fcntl (vsf_linux_fd_t *sfd, int cmd, uintptr_t arg)
 
struct pbuf * pbuf_free_header (struct pbuf *q, u16_t size)
 
struct netif * netif_get_by_index (u8_t idx)
 
err_t netconn_recv_udp_raw_netbuf_flags (struct netconn *conn, struct netbuf **new_buf, u8_t apiflags)
 
err_t netconn_recv_tcp_pbuf_flags (struct netconn *conn, struct pbuf **new_buf, u8_t apiflags)
 
err_t netconn_prepare_delete (struct netconn *conn)
 
int lwip_inet_pton (int af, const char *src, void *dst)
 
const char * lwip_inet_ntop (int af, const void *src, char *dst, socklen_t size)
 
ssize_t sendto (int sockfd, const void *buffer, size_t size, int flags, const struct sockaddr *dst_addr, socklen_t addrlen)
 
ssize_t recvfrom (int sockfd, void *buffer, size_t size, int flags, struct sockaddr *src_addr, socklen_t *addrlen)
 
int vsf_linux_bind_netif (void *netif)
 
int vsf_linux_unbind_netif (void *netif)
 
struct netif * __vsf_linux_ip4_route (const ip4_addr_t *src, const ip4_addr_t *dest)
 
struct netif * __vsf_linux_ip6_route (const ip6_addr_t *src, const ip6_addr_t *dest)
 
int __vsf_linux_ip_main (int argc, char **argv)
 
int __vsf_linux_route_main (int argc, char **argv)
 
int __vsf_linux_ifconfig_main (int argc, char **argv)
 
int getifaddrs (struct ifaddrs **ifaddrs)
 
void freeifaddrs (struct ifaddrs *ifaddrs)
 
int __inet_gethostbyname (const char *name, in_addr_t *addr)
 
struct hostentlwip_gethostbyname (const char *name)
 
void lwip_freeaddrinfo (struct addrinfo *ai)
 
int lwip_getaddrinfo (const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res)
 
int getaddrinfo (const char *name, const char *service, const struct addrinfo *hints, struct addrinfo **pai)
 
void freeaddrinfo (struct addrinfo *ai)
 
struct hostentgethostbyname (const char *name)
 
int inet_pton (int af, const char *src, void *dst)
 
const char * inet_ntop (int af, const void *src, char *dst, socklen_t size)
 
int __vsf_linux_socket_inet_procfs_bind (void)
 

Variables

const vsf_linux_socket_op_t vsf_linux_socket_inet_op
 
const vsf_linux_socket_op_t vsf_linux_socket_netlink_op
 

Macro Definition Documentation

◆ __VSF_LINUX_FS_CLASS_INHERIT__

#define __VSF_LINUX_FS_CLASS_INHERIT__

◆ __VSF_LINUX_SOCKET_CLASS_INHERIT__

#define __VSF_LINUX_SOCKET_CLASS_INHERIT__

◆ __VSF_LINUX_CLASS_INHERIT__

#define __VSF_LINUX_CLASS_INHERIT__

◆ __VSF_FS_CLASS_INHERIT__

#define __VSF_FS_CLASS_INHERIT__

◆ udp_is_flag_set

#define udp_is_flag_set ( __pcb,
__flag )
Value:
(((__pcb)->flags & (__flag)) != 0)

◆ VSF_LINUX_SOCKET_INET_LWIP_FD_SLOT_EN

#define VSF_LINUX_SOCKET_INET_LWIP_FD_SLOT_EN   0

◆ netif_get_index

#define netif_get_index ( netif)
Value:
((u8_t)((netif)->num + 1))
unsigned char u8_t
Definition types.h:7

◆ LWIP_ASSERT_CORE_LOCKED

#define LWIP_ASSERT_CORE_LOCKED ( )

Typedef Documentation

◆ vsf_linux_socket_group_t

typedef struct vsf_linux_socket_group_t vsf_linux_socket_group_t

◆ vsf_linux_socket_inet_priv_t

typedef struct vsf_linux_socket_inet_priv_t vsf_linux_socket_inet_priv_t

◆ vsf_linux_sockaddr_t

typedef union vsf_linux_sockaddr_t vsf_linux_sockaddr_t

◆ vsf_linux_socket_netlink_msg_t

typedef struct vsf_linux_socket_netlink_msg_t vsf_linux_socket_netlink_msg_t

◆ vsf_linux_socket_netlink_priv_t

typedef struct vsf_linux_socket_netlink_priv_t vsf_linux_socket_netlink_priv_t

◆ gethostbyname_param_t

typedef struct gethostbyname_param_t gethostbyname_param_t

Function Documentation

◆ __vsf_linux_socket_inet_fcntl()

int __vsf_linux_socket_inet_fcntl ( vsf_linux_fd_t * sfd,
int cmd,
uintptr_t arg )
extern

◆ pbuf_free_header()

struct pbuf * pbuf_free_header ( struct pbuf * q,
u16_t size )
extern

◆ netif_get_by_index()

struct netif * netif_get_by_index ( u8_t idx)

◆ netconn_recv_udp_raw_netbuf_flags()

err_t netconn_recv_udp_raw_netbuf_flags ( struct netconn * conn,
struct netbuf ** new_buf,
u8_t apiflags )

◆ netconn_recv_tcp_pbuf_flags()

err_t netconn_recv_tcp_pbuf_flags ( struct netconn * conn,
struct pbuf ** new_buf,
u8_t apiflags )

◆ netconn_prepare_delete()

err_t netconn_prepare_delete ( struct netconn * conn)

◆ lwip_inet_pton()

int lwip_inet_pton ( int af,
const char * src,
void * dst )

◆ lwip_inet_ntop()

const char * lwip_inet_ntop ( int af,
const void * src,
char * dst,
socklen_t size )

◆ sendto()

ssize_t sendto ( int sockfd,
const void * buffer,
size_t size,
int flags,
const struct sockaddr * dst_addr,
socklen_t addrlen )

◆ recvfrom()

ssize_t recvfrom ( int sockfd,
void * buffer,
size_t size,
int flags,
struct sockaddr * src_addr,
socklen_t * addrlen )

◆ vsf_linux_bind_netif()

int vsf_linux_bind_netif ( void * netif)

◆ vsf_linux_unbind_netif()

int vsf_linux_unbind_netif ( void * netif)

◆ __vsf_linux_ip4_route()

struct netif * __vsf_linux_ip4_route ( const ip4_addr_t * src,
const ip4_addr_t * dest )

◆ __vsf_linux_ip6_route()

struct netif * __vsf_linux_ip6_route ( const ip6_addr_t * src,
const ip6_addr_t * dest )

◆ __vsf_linux_ip_main()

int __vsf_linux_ip_main ( int argc,
char ** argv )

◆ __vsf_linux_route_main()

int __vsf_linux_route_main ( int argc,
char ** argv )

◆ __vsf_linux_ifconfig_main()

int __vsf_linux_ifconfig_main ( int argc,
char ** argv )

◆ getifaddrs()

int getifaddrs ( struct ifaddrs ** ifaddrs)

◆ freeifaddrs()

void freeifaddrs ( struct ifaddrs * ifaddrs)

◆ __inet_gethostbyname()

int __inet_gethostbyname ( const char * name,
in_addr_t * addr )

◆ lwip_gethostbyname()

struct hostent * lwip_gethostbyname ( const char * name)
extern

◆ lwip_freeaddrinfo()

void lwip_freeaddrinfo ( struct addrinfo * ai)
extern

◆ lwip_getaddrinfo()

int lwip_getaddrinfo ( const char * nodename,
const char * servname,
const struct addrinfo * hints,
struct addrinfo ** res )
extern

◆ getaddrinfo()

int getaddrinfo ( const char * name,
const char * service,
const struct addrinfo * hints,
struct addrinfo ** pai )

◆ freeaddrinfo()

void freeaddrinfo ( struct addrinfo * ai)

◆ gethostbyname()

struct hostent * gethostbyname ( const char * name)

◆ inet_pton()

int inet_pton ( int af,
const char * src,
void * dst )

◆ inet_ntop()

const char * inet_ntop ( int af,
const void * src,
char * dst,
socklen_t size )

◆ __vsf_linux_socket_inet_procfs_bind()

int __vsf_linux_socket_inet_procfs_bind ( void )

Variable Documentation

◆ vsf_linux_socket_inet_op

const vsf_linux_socket_op_t vsf_linux_socket_inet_op
Initial value:
= {
.fdop = {
.priv_size = sizeof(vsf_linux_socket_inet_priv_t),
.fn_fcntl = __vsf_linux_lwip_socket_inet_fcntl,
.fn_read = __vsf_linux_socket_inet_read,
.fn_write = __vsf_linux_socket_inet_write,
.fn_close = __vsf_linux_socket_inet_close,
},
.fn_init = __vsf_linux_socket_inet_init,
.fn_fini = __vsf_linux_socket_inet_fini,
.fn_connect = __vsf_linux_socket_inet_connect,
.fn_listen = __vsf_linux_socket_inet_listen,
.fn_accept = __vsf_linux_socket_inet_accept,
.fn_bind = __vsf_linux_socket_inet_bind,
.fn_getsockopt = __vsf_linux_socket_inet_getsockopt,
.fn_setsockopt = __vsf_linux_socket_inet_setsockopt,
.fn_getpeername = __vsf_linux_socket_inet_getpeername,
.fn_getsockname = __vsf_linux_socket_inet_getsockname,
}
struct vsf_linux_socket_inet_priv_t vsf_linux_socket_inet_priv_t

◆ vsf_linux_socket_netlink_op

const vsf_linux_socket_op_t vsf_linux_socket_netlink_op
Initial value:
= {
.fdop = {
.priv_size = sizeof(vsf_linux_socket_netlink_priv_t),
.fn_read = __vsf_linux_socket_netlink_read,
},
.fn_init = __vsf_linux_socket_netlink_init,
.fn_fini = __vsf_linux_socket_netlink_fini,
.fn_bind = __vsf_linux_socket_netlink_bind,
}
struct vsf_linux_socket_netlink_priv_t vsf_linux_socket_netlink_priv_t
Generated from commit: vsfteam/vsf@ceb53fd