mirror of
https://github.com/open-goal/jak-project
synced 2026-06-23 09:29:56 -04:00
7b6d732a77
* goalc: cleanup goalc's main method and add nrepl listener socket * deps: add standalone ASIO for sockets * lint: formatting * common: make a common interface for creating a server socket * goalc: setup new repl server * deps: remove asio * goalc: debug issues, nrepl is working again * git: rename files * attempt to fix linux function call * test * scripts: make the error message even more obvious.... * goalc: make suggested changes, still can't reconnect properly * game: pull out single-client logic from XSocketServer * nrepl: supports multiple clients and disconnection/reconnects * goalc: some minor fixes for tests * goalc: save repl history when the compiler reloads * common: add include for linux networking * a few small changes to fix tests * is it the assert? * change thread start order and add a print to an assert Co-authored-by: water <awaterford111445@gmail.com>
39 lines
979 B
C
39 lines
979 B
C
#pragma once
|
|
|
|
/*!
|
|
* @file XSocket.h
|
|
* Cross platform socket library used for the listener.
|
|
*/
|
|
|
|
#ifdef __linux
|
|
#include <sys/socket.h>
|
|
#include <netinet/tcp.h>
|
|
#include <unistd.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/inet.h>
|
|
#elif _WIN32
|
|
#define NOMINMAX
|
|
#define WIN32_LEAN_AND_MEAN
|
|
#include <Windows.h>
|
|
#include <WinSock2.h>
|
|
#endif
|
|
|
|
#ifdef __linux
|
|
const int TCP_SOCKET_LEVEL = SOL_TCP;
|
|
#elif _WIN32
|
|
const int TCP_SOCKET_LEVEL = IPPROTO_TCP;
|
|
#endif
|
|
|
|
int open_socket(int af, int type, int protocol);
|
|
#ifdef __linux
|
|
int accept_socket(int socket, sockaddr* addr, socklen_t* addrLen);
|
|
#elif _WIN32
|
|
int accept_socket(int socket, sockaddr* addr, int* addrLen);
|
|
#endif
|
|
void close_socket(int sock);
|
|
int set_socket_option(int socket, int level, int optname, const void* optval, int optlen);
|
|
int set_socket_timeout(int socket, long microSeconds);
|
|
int write_to_socket(int socket, const char* buf, int len);
|
|
int read_from_socket(int socket, char* buf, int len);
|
|
bool socket_timed_out();
|