1#ifndef __VSF_LINUX_NETDB_H__
2#define __VSF_LINUX_NETDB_H__
6#if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED
7# include "../sys/socket.h"
17#define AI_PASSIVE 0x0001
18#define AI_CANONNAME 0x0002
19#define AI_NUMERICHOST 0x0004
20#define AI_V4MAPPED 0x0008
22#define AI_ADDRCONFIG 0x0020
23#define AI_NUMERICSERV 0x0400
25#define NI_MAXHOST 1025
45#define h_addr h_addr_list[0]
68#if VSF_LINUX_SOCKET_CFG_WRAPPER == ENABLED
69#define getnameinfo VSF_LINUX_SOCKET_WRAPPER(getnameinfo)
70#define gethostbyaddr VSF_LINUX_SOCKET_WRAPPER(gethostbyaddr)
71#define gai_strerror VSF_LINUX_SOCKET_WRAPPER(gai_strerror)
72#define gethostbyname VSF_LINUX_SOCKET_WRAPPER(gethostbyname)
73#define getaddrinfo VSF_LINUX_SOCKET_WRAPPER(getaddrinfo)
74#define freeaddrinfo VSF_LINUX_SOCKET_WRAPPER(freeaddrinfo)
75#define herror VSF_LINUX_SOCKET_WRAPPER(herror)
76#define hstrerror VSF_LINUX_SOCKET_WRAPPER(hstrerror)
77#define setservent VSF_LINUX_SOCKET_WRAPPER(setservent)
78#define endservent VSF_LINUX_SOCKET_WRAPPER(endservent)
79#define getservent VSF_LINUX_SOCKET_WRAPPER(getservent)
80#define getservbyname VSF_LINUX_SOCKET_WRAPPER(getservbyname)
81#define getservbyport VSF_LINUX_SOCKET_WRAPPER(getservbyport)
84#define h_errno (*__vsf_linux_h_errno())
87#define NI_NAMEREQD (1 << 0)
88#define NI_DGRAM (1 << 1)
89#define NI_NOFQDN (1 << 2)
90#define NI_NUMERICHOST (1 << 3)
91#define NI_NUMERICSERV (1 << 4)
93#define EAI_BADFLAGS -1
99#define EAI_SOCKTYPE -7
100#define EAI_SERVICE -8
101#define EAI_ADDRFAMILY -9
102#define EAI_MEMORY -10
103#define EAI_SYSTEM -11
104#define EAI_OVERFLOW -12
105#define EAI_INPROGRESS -100
106#define EAI_CANCELED -101
107#define EAI_NOTCANCELED -102
108#define EAI_ALLDONE -103
110#define EAI_IDN_ENCODE -105
112#if VSF_LINUX_APPLET_USE_NETDB == ENABLED
131# ifndef __VSF_APPLET__
136#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_NETDB_LIB__))\
137 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_NETDB == ENABLED
139#ifndef VSF_LINUX_APPLET_NETDB_VPLT
140# if VSF_LINUX_USE_APPLET == ENABLED
141# define VSF_LINUX_APPLET_NETDB_VPLT \
142 ((vsf_linux_netdb_vplt_t *)(VSF_LINUX_APPLET_VPLT->netdb_vplt))
144# define VSF_LINUX_APPLET_NETDB_VPLT \
145 ((vsf_linux_netdb_vplt_t *)vsf_vplt((void *)0))
149#define VSF_LINUX_APPLET_NETDB_ENTRY(__NAME) \
150 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_NETDB_VPLT, __NAME)
151#define VSF_LINUX_APPLET_NETDB_IMP(...) \
152 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_NETDB_VPLT, __VA_ARGS__)
166VSF_LINUX_APPLET_NETDB_IMP(
gai_strerror,
const char *,
int errcode) {
168 return VSF_LINUX_APPLET_NETDB_ENTRY(
gai_strerror)(errcode);
172 return VSF_LINUX_APPLET_NETDB_ENTRY(
getnameinfo)(addr, addrlen, host, hostlen, serv, servlen, flags);
174VSF_LINUX_APPLET_NETDB_IMP(
getaddrinfo,
int,
const char *name,
const char *service,
const struct addrinfo *hints,
struct addrinfo **pai) {
176 return VSF_LINUX_APPLET_NETDB_ENTRY(
getaddrinfo)(name, service, hints, pai);
182VSF_LINUX_APPLET_NETDB_IMP(
herror,
void,
const char *s) {
184 VSF_LINUX_APPLET_NETDB_ENTRY(
herror)(s);
186VSF_LINUX_APPLET_NETDB_IMP(
hstrerror,
const char *,
int err) {
188 return VSF_LINUX_APPLET_NETDB_ENTRY(
hstrerror)(err);
190VSF_LINUX_APPLET_NETDB_IMP(
setservent,
void,
int stayopen) {
192 return VSF_LINUX_APPLET_NETDB_ENTRY(
setservent)(stayopen);
194VSF_LINUX_APPLET_NETDB_IMP(
endservent,
void,
void) {
200 return VSF_LINUX_APPLET_NETDB_ENTRY(
getservent)();
202VSF_LINUX_APPLET_NETDB_IMP(
getservbyname,
struct servent *,
const char *name,
const char *proto) {
204 return VSF_LINUX_APPLET_NETDB_ENTRY(
getservbyname)(name, proto);
208 return VSF_LINUX_APPLET_NETDB_ENTRY(
getservbyport)(port, proto);
228 char *serv,
socklen_t servlen,
int flags);
233void herror(
const char *s);
unsigned int uint32_t
Definition lvgl.h:43
#define getservbyport
Definition netdb.h:81
#define setservent
Definition netdb.h:77
#define gethostbyname
Definition netdb.h:72
__VSF_VPLT_DECORATOR__ vsf_linux_netdb_vplt_t vsf_linux_netdb_vplt
Definition vsf_linux_socket.c:745
int * __vsf_linux_h_errno(void)
Definition vsf_linux_socket.c:240
#define getservbyname
Definition netdb.h:80
#define gai_strerror
Definition netdb.h:71
#define getaddrinfo
Definition netdb.h:73
#define herror
Definition netdb.h:75
#define gethostbyaddr
Definition netdb.h:70
#define hstrerror
Definition netdb.h:76
#define getnameinfo
Definition netdb.h:69
#define endservent
Definition netdb.h:78
#define getservent
Definition netdb.h:79
#define freeaddrinfo
Definition netdb.h:74
uint32_t socklen_t
Definition socket.h:70
struct sockaddr * ai_addr
Definition netdb.h:34
char * ai_canonname
Definition netdb.h:35
int ai_socktype
Definition netdb.h:31
int ai_protocol
Definition netdb.h:32
socklen_t ai_addrlen
Definition netdb.h:33
struct addrinfo * ai_next
Definition netdb.h:36
int ai_flags
Definition netdb.h:29
int ai_family
Definition netdb.h:30
int h_addrtype
Definition netdb.h:42
char * h_name
Definition netdb.h:40
char ** h_addr_list
Definition netdb.h:44
int h_length
Definition netdb.h:43
char ** h_aliases
Definition netdb.h:41
uint32_t n_net
Definition netdb.h:52
char ** n_aliases
Definition netdb.h:50
char * n_name
Definition netdb.h:49
int n_addrtype
Definition netdb.h:51
int p_proto
Definition netdb.h:58
char ** p_aliases
Definition netdb.h:57
char * p_name
Definition netdb.h:56
char * s_name
Definition netdb.h:62
char * s_proto
Definition netdb.h:65
char ** s_aliases
Definition netdb.h:63
int s_port
Definition netdb.h:64
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(freeaddrinfo)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(setservent)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(gethostbyname)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(herror)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(getnameinfo)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(gethostbyaddr)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(getservbyname)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(hstrerror)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(getservent)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(__vsf_linux_h_errno)
vsf_vplt_info_t info
Definition netdb.h:114
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(gai_strerror)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(endservent)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(getaddrinfo)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(getservbyport)
vk_av_control_type_t type
Definition vsf_audio.h:170
#define __VSF_VPLT_DECORATOR__
Definition vsf_cfg.h:93
#define VSF_APPLET_VPLT_ENTRY_FUNC_TRACE()
Definition vsf_cfg.h:165