From: Elias Fleckenstein Date: Mon, 25 Apr 2022 16:26:28 +0000 (+0200) Subject: Add winsock initializer X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=da776eb101354d0cf62e9c627a470c51a966f655;p=dragonnet.git Add winsock initializer --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 9690a50..22bd2ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,7 @@ add_compile_options( add_library(dragonnet dragonnet/addr.c + dragonnet/init.c dragonnet/listen.c dragonnet/peer.c dragonnet/recv.c diff --git a/dragonnet/init.c b/dragonnet/init.c new file mode 100644 index 0000000..01ed8d0 --- /dev/null +++ b/dragonnet/init.c @@ -0,0 +1,24 @@ +#include +#include +#include "init.h" +#include "sock.h" + +void dragonnet_init() +{ +#ifdef _WIN32 + printf("[info] initializing winsock\n"); + + WSADATA wsa_data; + if (WSAStartup(0x202, &wsa_data) != 0) { + fprintf(stderr, "[error] failed to initialize winsock\n"); + abort(); + } +#endif +} + +void dragonnet_deinit() +{ +#ifdef _WIN32 + WSACleanup(); +#endif +} diff --git a/dragonnet/init.h b/dragonnet/init.h new file mode 100644 index 0000000..1e84944 --- /dev/null +++ b/dragonnet/init.h @@ -0,0 +1,7 @@ +#ifndef _DRAGONNET_INIT_H_ +#define _DRAGONNET_INIT_H_ + +void dragonnet_init(); +void dragonnet_deinit(); + +#endif // _DRAGONNET_INIT_H_