summary refs log tree commit diff
path: root/net.h
blob: 8483120cbe77d20c17fc5718b7108604a9b70991 (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
28
29
30
31
32
33
34
#ifndef NET_H
#define NET_H

#include "buf.h"

#define HOST_MAX 256
#define PATH_MAX 256

enum protocol {
	PROT_UNKNOWN,
	PROT_FILE,
	PROT_GOPHER,
	PROT_GEMINI,
};

enum doc_type {
	TYPE_UNKNOWN,
	TYPE_GOPHERDOC,
	TYPE_GEMTEXT,
	TYPE_PLAIN,
};

struct addr {
	char host[HOST_MAX];
	char path[PATH_MAX];
	size_t host_len, path_len;
	enum protocol prot;
	enum doc_type type;
};

int net_addr(const char *url, struct addr *adr, enum protocol prot_default);
int net_fetch(const struct addr *adr, struct buf *buf);

#endif