summaryrefslogtreecommitdiff
path: root/network.h
blob: 7cc4a2868438a31e18101f3bcec0a7851713d563 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#pragma once

#include <netinet/in.h>

#include "types.h"
#include "table.h"

// ID is the index you got this from
struct remote_server {
	uint64_t distance; // gl if you exceed this

	struct string address;
	struct string name;
	struct string via; // netsplit purposes
	// TODO: metadata
};

struct user_info {
	uint64_t nick_ts;
	uint64_t user_ts;

	struct string server;
	struct string nick;
	struct string hostname;
	struct string vhost;
	struct string ident;
	struct string ip;
	struct string realname;
	struct string opertype;

	struct table metadata;
};

extern struct table network_commands;
extern struct table server_list;
extern struct table user_list;

int resolve(char* address, char* port, struct sockaddr *server);
int initservernetwork(void);