summaryrefslogtreecommitdiff
path: root/context.h
blob: 7d15ac8248ab765fe6faaeaec5ff877d882fba67 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* $Id$ */
/*
 * Copyright (c) 2005 Dimitri Sokolyuk <demon@vhost.dyndns.org>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#ifndef _CONTEXT_H_
#define _CONTEXT_H_

#define DEFPORT	6881
#define MINPORT	6881
#define MAXPORT	6889

struct btsock {
	int	sockd;
	struct	sockaddr_in sin;
	struct	btsock *next;		/* isn't used yet */
};

struct	btcontext {
	struct	btsock listen;
	struct	btsock *peers;
};

#if 0
LIST_HEAD(btplist, btpeer);
SIMPLEQ_HEAD(btflist, btfile);		/* ??? */

struct btorrent {
	struct	btannonce *annonce;	/* tracker */
	struct	btsock *server;		/* local server */
	struct	btplist *plist;		/* peer list */
	struct	btmeta *meta;		/* meta file */
	struct	btfile *flist;		/* file list */
};
#endif

__BEGIN_DECLS
void	btmainloop(int);
__END_DECLS

#endif /* not _CONTEXT_H_ */