osdep: Make os-win32.h and os-posix.h handle 'extern "C"' themselves

Both os-win32.h and os-posix.h include system header files. Instead
of having osdep.h include them inside its 'extern "C"' block, make
these headers handle that themselves, so that we don't include the
system headers inside 'extern "C"'.

This doesn't fix any current problems, but it's conceptually the
right way to handle system headers.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Peter Maydell 2021-04-16 14:55:41 +01:00
parent f16a3bf81b
commit 415a9fb880
3 changed files with 20 additions and 4 deletions

View File

@ -131,10 +131,6 @@ QEMU_EXTERN_C int daemon(int, int);
*/
#include "glib-compat.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#include "sysemu/os-win32.h"
#endif
@ -143,6 +139,10 @@ extern "C" {
#include "sysemu/os-posix.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
#include "qemu/typedefs.h"
/*

View File

@ -38,6 +38,10 @@
#include <sys/sysmacros.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
void os_set_line_buffering(void);
void os_set_proc_name(const char *s);
void os_setup_signal_handling(void);
@ -92,4 +96,8 @@ static inline void qemu_funlockfile(FILE *f)
funlockfile(f);
}
#ifdef __cplusplus
}
#endif
#endif

View File

@ -30,6 +30,10 @@
#include <windows.h>
#include <ws2tcpip.h>
#ifdef __cplusplus
extern "C" {
#endif
#if defined(_WIN64)
/* On w64, setjmp is implemented by _setjmp which needs a second parameter.
* If this parameter is NULL, longjump does no stack unwinding.
@ -194,4 +198,8 @@ ssize_t qemu_recv_wrap(int sockfd, void *buf, size_t len, int flags);
ssize_t qemu_recvfrom_wrap(int sockfd, void *buf, size_t len, int flags,
struct sockaddr *addr, socklen_t *addrlen);
#ifdef __cplusplus
}
#endif
#endif