1/*
2 * LICENSE NOTICE.
3 *
4 * Use of the Microsoft Windows Rally Development Kit is covered under
5 * the Microsoft Windows Rally Development Kit License Agreement,
6 * which is provided within the Microsoft Windows Rally Development
7 * Kit or at http://www.microsoft.com/whdc/rally/rallykit.mspx. If you
8 * want a license from Microsoft to use the software in the Microsoft
9 * Windows Rally Development Kit, you must (1) complete the designated
10 * "licensee" information in the Windows Rally Development Kit License
11 * Agreement, and (2) sign and return the Agreement AS IS to Microsoft
12 * at the address provided in the Agreement.
13 */
14
15/*
16 * Copyright (c) Microsoft Corporation 2005.  All rights reserved.
17 * This software is provided with NO WARRANTY.
18 */
19
20#ifndef BAND_H
21#define BAND_H
22
23#include "util.h"
24
25#define BAND_NMAX 10000
26#define BAND_ALPHA 45
27#define BAND_BETA 2
28#define BAND_GAMMA 10
29#define BAND_TXC 4
30#define BAND_FRAME_TIME 6.667
31#define BAND_BLOCK_TIME 300
32
33// Want 6.67 ms per frame. Equals 20/3.
34#define BAND_MUL_FRAME(_x) (((_x) * 20 +2) / 3)
35
36/* BAND algorithm state */
37typedef struct {
38    uint32_t Ni;
39    uint32_t r;
40    bool_t begun;
41} band_t;
42
43#endif /* BAND_H */
44