bump version
[prads.git] / src / tos.h
blobf25ece168aba2f8fd57944e58b9e38d095d15150
1 /*
3 p0f - ToS database
4 ------------------
6 A list of known and used ToS / priority combinations. Rare settings
7 actually describe the originating network (since specific ISPs tend
8 to set those values for all outgoing traffic). More popular settings
9 are just described per their RFC meaning.
11 The field we examine is actually 8 bits in the following format:
13 PPP TTTT Z
14 | | `- "must be zero" (yeah, sure)
15 | `------ Type of Service
16 `---------- Precedence bits (now used to denote priority)
18 But all this is usually just called "ToS". The "must be zero"
19 value is often, well, not zero, of course.
21 Copyright (C) 2003-2006 by Michal Zalewski <lcamtuf@coredump.cx>
25 #ifndef _HAVE_TOS_H
26 #define _HAVE_TOS_H
28 struct tos_def {
29 uint8_t tos;
30 char* desc;
34 /* THIS LIST MUST BE SORTED FROM LOWEST TO HIGHEST ToS */
36 /* Candidates:
38 1 Tiscali Denmark (must-be-zero!)
39 3 InfoAve (must-be-zero!)
40 5 AOL (must-be-zero!)
41 200 Borlange Sweden
42 96 Nextra
43 28 Menta
44 192 techtelnet.net
48 static struct tos_def tos[] = {
49 { 2, "low cost" }, /* LC */
50 { 4, "high reliability" }, /* HR */
51 { 8, "low delay" }, /* LD */
52 { 12, "DNA.FI / CTINETS" }, /* LD, HR */
53 { 16, "high throughput" }, /* HT */
54 { 32, "priority1" }, /* PRI1 */
55 { 40, "UTFORS Sweden" }, /* PRI1, LD */
56 { 64, "Tiscali Denmark" }, /* PRI2 */
57 { 80, "Bredband Scandinavia" }, /* PRI2, HT */
58 { 112, "Bonet Sweden" }, /* PRI3, HT */
59 { 128, "Cable.BG / Teleca.SE" }, /* PRI4 */
60 { 144, "IPTelecom / Alkar" }, /* PRI4, HT */
61 { 244, "top priority" }, /* PRI7 */
62 { 255, "Arcor IP" }, /* (bad) */
65 #define TOS_CNT (sizeof(tos) / sizeof(struct tos_def))
67 #endif /* ! _HAVE_TOS_H */