aboutsummaryrefslogtreecommitdiff
path: root/scout.h
blob: fc625f2072941130927186248b952c4f931e7aca (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 __LIBSCOUT__
#define __LIBSCOUT__

struct scnode {
	struct scway *way;
	void *dat;
};

struct scway {
	const struct scnode *lto;
	struct scway *alt;
	int len;
};

struct scwaypoint {
	const struct scnode *nod;
	const struct scway *way;
	struct scwaypoint *nxt;
	int len;
};

struct scway *scaddway(struct scnode *, const struct scnode *, int);
struct scwaypoint *scout(const struct scnode *, const struct scnode *, struct scwaypoint *);

#ifdef __LIBSCOUT_INTERNAL__

struct scwaypoint *__scallocwayp(const struct scnode *, const struct scway *);
struct scwaypoint *__scstackfindgetend(struct scwaypoint *, const struct scway *);
void __scstackfree(struct scwaypoint *);
int __scstackgetlen(struct scwaypoint *);

#endif // __LIBSCOUT_INTERNAL__

#endif // __LIBSCOUT__