summaryrefslogtreecommitdiffstats
path: root/hw1/server.h
blob: c070c80585daecbf46d1b6099f887c350d4cd2c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef RAS_SERVER_H
#define RAS_SERVER_H

#include "connection.h"

#include <sys/socket.h>

#define RAS_SERVER(x)  ((RasServer*)(x))

typedef struct {
    RasConn conn;
    struct sockaddr_storage addr;
    socklen_t addrlen;
} RasServer;

int  ras_server_init (RasServer* server, RasConnPerm perm, int domain,
        const char* log_file, int id);
void ras_server_destroy (RasServer* server);
int  ras_server_listen (RasServer* server, const char* addr, int arg);

/* Access parent methods */
#define ras_server_log(x, ...) ras_conn_log(RAS_CONN(x), __VA_ARGS__)

#endif /* RAS_SERVER_H */