summaryrefslogtreecommitdiff
path: root/cesar/cp/sta/mgr/inc/sta_own_data.h
blob: 0e955cd50f4e2e39737afbe80d7e9503e081258e (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
87
88
89
90
91
92
93
94
95
96
#ifndef cp_sta_data_inc_sta_own_data_h
#define cp_sta_data_inc_sta_own_data_h
/* Cesar project {{{
 *
 * Copyright (C) 2008 Spidcom
 *
 * <<<Licence>>>
 *
 * }}} */
/**
 * \file    cp/sta/data/inc/sta_own_data.h
 * \brief   Station own data.
 * \ingroup cp_sta_data
 *
 */

#include "cp/defs.h"

#include "cp/sta/mgr/sta_own_data.h"

/**
 * Station own data.
 */
struct cp_sta_own_data_private_t
{
    /** Public data. */
    cp_sta_own_data_t public;

    /**
     * station's TEI.
     */
    cp_tei_t tei;

    /**
     * Station's Mac address.
     */
    mac_t mac_addr;

    /**
     * Network Password, use by the station to crypt MMEs.
     */
    char npw [CP_NPW_MAX_SIZE + 1];

    /**
     * AVLN's NMK.
     */
    cp_key_t nmk;

    /**
     * Device password.
     */
    char dpw [CP_DPW_MAX_SIZE + 1];

    /**
     * Indicate if the station was CCo during the last use.
     */
    bool was_cco;

    /**
     * Indicate if the station is CCo.
     */
    bool is_cco;

    /**
     * Security level. It can be changed by a specific message or by the
     * HLE. See section 7.10.3.1.3 and section 13.3
     */
    cp_security_level_t security_level;

    /**
     * The PCO Glid.
     */
    u8 pco_glid;

    /**
     * Indicate if the station is authenticated or not.
     */
    bool authenticated;

    /**
     * The Station NID.
     */
    cp_nid_t nid;

    /**
     * The station SNID.
     */
    cp_snid_t snid;

    /**
     * The current TEK.
     */
    cp_key_t tek;
};

#endif /* cp_sta_data_inc_sta_own_data_h */