]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: MIT |
ca10883e DS |
2 | /* |
3 | Copyright (c) 2007, 2008 by Juliusz Chroboczek | |
ca10883e DS |
4 | */ |
5 | ||
6 | #ifndef BABEL_SOURCE_H | |
7 | #define BABEL_SOURCE_H | |
8 | ||
9 | #define SOURCE_GC_TIME 200 | |
10 | ||
11 | struct source { | |
12 | struct source *next; | |
13 | unsigned char id[8]; | |
14 | unsigned char prefix[16]; | |
15 | unsigned char plen; | |
16 | unsigned short seqno; | |
17 | unsigned short metric; | |
18 | unsigned short route_count; | |
19 | time_t time; | |
20 | }; | |
21 | ||
22 | struct source *find_source(const unsigned char *id, | |
23 | const unsigned char *p, | |
24 | unsigned char plen, | |
25 | int create, unsigned short seqno); | |
26 | struct source *retain_source(struct source *src); | |
27 | void release_source(struct source *src); | |
28 | int flush_source(struct source *src); | |
29 | void update_source(struct source *src, | |
30 | unsigned short seqno, unsigned short metric); | |
31 | void expire_sources(void); | |
32 | void check_sources_released(void); | |
33 | ||
34 | #endif |