summaryrefslogtreecommitdiff
path: root/cesar/cp/beacon/defs.h
blob: b38e1e32c5cdf135e3ae5e21a14da49b7f8393d1 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#ifndef cp_beacon_defs_h
#define cp_beacon_defs_h
/* Cesar project {{{
 *
 * Copyright (C) 2008 Spidcom
 *
 * <<<Licence>>>
 *
 * }}} */
/**
 * \file    cp/beacon/defs.h
 * \brief   Definition of all enums and types
 * \ingroup cp_beacon
 *
 */

/** Non coordinated mode. */
enum cp_beacon_non_coordinated_mode_e
{
    CP_BEACON_NON_COORDINATED_NETWORK,
    CP_BEACON_NON_COORDINATED_NETWORK_REPORTED,
    CP_BEACON_NON_COORDINATED_MAX
};

/** Power Saving mode. */
enum cp_beacon_npsm_e
{
    CP_BEACON_NPSM_NOT_ACTIVE,
    CP_BEACON_NPSM_ACTIVE,
    CP_BEACON_NPSM_MAX
};

/** Handover in progress. */
enum cp_beacon_hoip_e
{
    CP_BEACON_HOIP_FALSE,
    CP_BEACON_HOIP_TRUE,
    CP_BEACON_HOIP_MAX
};

/** CCo Cap. */
enum cp_beacon_cco_cap_e
{
    CP_BEACON_CCO_LEVEL0,
    CP_BEACON_CCO_LEVEL1,
    CP_BEACON_CCO_LEVEL2,
    CP_BEACON_CCO_LEVEL3
};

/** Bentry header. */
enum cp_bentry_header_t
{
    CP_BENTRY_NON_PERSISTENT_SCHEDULE,
    CP_BENTRY_PERSISTENT_SCHEDULE,
    CP_BENTRY_REGIONS,
    CP_BENTRY_MAC_ADDRESS,
    CP_BENTRY_DISCOVER,
    CP_BENTRY_DISCOVER_INFO,
    CP_BENTRY_BEACON_PERIOD_START_OFFSET,
    CP_BENTRY_ENCRYPTION_KEY_CHANGE,
    CP_BENTRY_CCO_HANDOVER,
    CP_BENTRY_BEACON_RELOCATION,
    CP_BENTRY_AC_LINE_SYNC_COUNTDOWN,
    CP_BENTRY_CHANGE_NUMSLOTS,
    CP_BENTRY_CHANGE_HM,
    CP_BENTRY_CHANGE_SNID,
    CP_BENTRY_RSVD_MIN = 0x0E,
    CP_BENTRY_RSVD_MAX = 0xFE,
    CP_BENTRY_VENDOR=0xFF
};

#define CP_BENTRY_HEADER_IS_BENTRY(val) \
    ((((val)) < CP_BENTRY_RSVD_MIN) || (((val)) == CP_BENTRY_VENDOR))

enum cp_beacon_region_type_t
{
    CP_BEACON_REGION_TYPE_RESERVED,
    CP_BEACON_REGION_TYPE_SHARED_CSMA,
    CP_BEACON_REGION_TYPE_LOCAL_CSMA,
    CP_BEACON_REGION_TYPE_STAYOUT,
    CP_BEACON_REGION_TYPE_PROTECTED,
    CP_BEACON_REGION_TYPE_BEACON,
    CP_BEACON_REGION_TYPE_NB
};

#endif /* cp_beacon_defs_h */