
#ifndef __IPSERV_H__
#define __IPSERV_H__

#include <oslib/socket.h>

#include "config.h"

#define htons(a) (((a & 0xFF) << 8) | ((a & 0xFF00) >> 8))

typedef struct ipserv_s ipserv;

// listen for incoming connections on a port
ipserv *ipserv_create(const server_config_t *config);

// check if there are any new connection
// returns 0 if 'socket' contains a valid socket or <>0 otherwise
int ipserv_accept(ipserv *serv, socket_s *socket);

// stop listening
void ipserv_close(ipserv *serv);

// get config for server
const server_config_t *ipserv_config(ipserv *serv);

#endif
