aboutsummaryrefslogtreecommitdiff
path: root/include/server.h
blob: 488915c23777004d4545e88f043943ef0f960eff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef _SEATD_SERVER_H
#define _SEATD_SERVER_H

#include <stdbool.h>

#include "linked_list.h"
#include "poller.h"

struct client;

struct server {
	bool running;
	struct poller poller;

	struct linked_list seats;
	struct linked_list idle_clients;
};

int server_init(struct server *server);
void server_finish(struct server *server);

struct seat *server_get_seat(struct server *server, const char *seat_name);

int server_handle_connection(int fd, uint32_t mask, void *data);
int server_add_client(struct server *server, int fd);

#endif