eal/windows: improve compatibility networking headers
Extend compatibility header system to support librte_cmdline. pthread.h has to include windows.h, which exposes struct in_addr, etc. conflicting with compatibility headers. WIN32_LEAN_AND_MEAN macro is required to disable this behavior. Use rte_windows.h to define WIN32_LEAN_AND_MEAN for pthread library. Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
This commit is contained in:
parent
b5741b5704
commit
f40a74cfcf
30
lib/librte_eal/windows/include/arpa/inet.h
Normal file
30
lib/librte_eal/windows/include/arpa/inet.h
Normal file
@ -0,0 +1,30 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause
|
||||
* Copyright (c) 2020 Dmitry Kozlyuk
|
||||
*/
|
||||
|
||||
#ifndef _ARPA_INET_H_
|
||||
#define _ARPA_INET_H_
|
||||
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* Compatibility header
|
||||
*
|
||||
* Although symbols declared here are present on Windows,
|
||||
* including <winsock2.h> would expose too much macros breaking common code.
|
||||
*/
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
/* defined in ws2_32.dll */
|
||||
__attribute__((stdcall))
|
||||
int
|
||||
inet_pton(int af, const char *src, void *dst);
|
||||
|
||||
/* defined in ws2_32.dll */
|
||||
__attribute__((stdcall))
|
||||
const char *
|
||||
inet_ntop(int af, const void *src, char *dst, socklen_t size);
|
||||
|
||||
#endif /* _ARPA_INET_H_ */
|
@ -5,6 +5,8 @@
|
||||
#ifndef _IN_H_
|
||||
#define _IN_H_
|
||||
|
||||
#include <sys/socket.h>
|
||||
|
||||
#define IPPROTO_IP 0
|
||||
#define IPPROTO_HOPOPTS 0
|
||||
#define IPPROTO_ICMP 1
|
||||
@ -22,4 +24,14 @@
|
||||
#define IPPROTO_DSTOPTS 60
|
||||
#define IPPROTO_SCTP 132
|
||||
|
||||
#define INET6_ADDRSTRLEN 46
|
||||
|
||||
struct in_addr {
|
||||
uint32_t s_addr;
|
||||
};
|
||||
|
||||
struct in6_addr {
|
||||
uint8_t s6_addr[16];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
24
lib/librte_eal/windows/include/sys/socket.h
Normal file
24
lib/librte_eal/windows/include/sys/socket.h
Normal file
@ -0,0 +1,24 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause
|
||||
* Copyright (c) 2020 Dmitry Kozlyuk
|
||||
*/
|
||||
|
||||
#ifndef _SYS_SOCKET_H_
|
||||
#define _SYS_SOCKET_H_
|
||||
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* Compatibility header
|
||||
*
|
||||
* Although symbols declared here are present on Windows,
|
||||
* including <winsock2.h> would expose too much macros breaking common code.
|
||||
*/
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#define AF_INET 2
|
||||
#define AF_INET6 23
|
||||
|
||||
typedef size_t socklen_t;
|
||||
|
||||
#endif /* _SYS_SOCKET_H_ */
|
Loading…
x
Reference in New Issue
Block a user