#pragma once #include #include typedef struct CharArray { size_t size; size_t capacity; char *data; } char_array_t; char_array_t *char_array_create(int size); void char_array_destroy(char_array_t *array); void char_array_append(char_array_t *array, char *value, size_t length); void char_array_print(const char_array_t *array); void char_array_wipe(char_array_t *array); bool char_array_has_char(char_array_t *array, char c); char *char_array_get_until_char(char_array_t *array, char c); char *char_array_get_bytes(char_array_t *array, size_t length); void char_array_shift_bytes(char_array_t *array, size_t length); SOCKET get_listen_socket();