First Commit

This commit is contained in:
Theo Tappe
2026-06-10 16:58:35 +02:00
commit 1e5eeb704f
42 changed files with 4037 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
#ifndef SOCKET_H
#define SOCKET_H
#include "array_list.h"
#include <netinet/in.h>
typedef unsigned long long NET_SIZE;
typedef int Status;
enum NET_STATUS { OK, ERROR, FINISHED, NEXT };
typedef struct Server {
struct sockaddr_in address;
unsigned int address_length;
int file_descriptor;
} Server;
Server *server_create(int port);
void server_listen(Server *server, void (*handler)(int file_descriptor));
void server_delete(Server *server);
typedef struct Client {
struct sockaddr_in address;
unsigned int address_length;
int file_descriptor;
} Client;
typedef struct DataFragment {
void *data;
unsigned long long size;
} DataFragment;
Client *client_create();
void client_disconnect(Client *client);
void client_delete(Client *client);
void client_connect(Client *client, char *host, int port);
DataFragment *data_fragment_create(void *data, unsigned long long size);
void data_fragment_delete(void *data_fragment);
void send_n_data(int file_descriptor, void *data, NET_SIZE data_size);
void receive_n_data(int file_descriptor, void *data, NET_SIZE data_size);
void send_str(int file_descriptor, char *data);
char *receive_str(int file_descriptor);
void send_data(int file_descriptor, void *data, unsigned long long data_size);
DataFragment *receive_data(int file_descriptor);
void send_int(int file_descriptor, int data);
int receive_int(int file_descriptor);
void send_status(int file_descriptor, Status status);
Status receive_status(int file_descriptor);
#endif