summaryrefslogtreecommitdiff
path: root/cesar/cp/cl_interf/inc/cl_interf.h
blob: 7124498582f89cb760c6ea8b221a4183fa41caa7 (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
#ifndef cp_cl_interf_inc_cl_interf_h
#define cp_cl_interf_inc_cl_interf_h
/* Cesar project {{{
 *
 * Copyright (C) 2008 Spidcom
 *
 * <<<Licence>>>
 *
 * }}} */
/**
 * \file    cp/cl_interf/inc/cl_interf.h
 * \brief   Private functions.
 * \ingroup cp_cl_interf
 */
#include "cp/cp.h"
#include "mac/common/mfs.h"

/**
 * Receive a MME from the PWL or the HLE.
 * \param  cp  the module context.
 * \param  tei  station's source TEI.
 * \param  buffer  The MME buffer containing the MME.
 * \param  length  The MME length.
 * \param  cl-data  The CL data.
 * \param  hardware_encrypt  Indicate if the MME was Phy encrypted or not.
 *
 */
void
cp_cl_interf_rx_mme (void *cp, cp_tei_t tei,
                     u8 * buffer, uint length, bool cl_data,
                     bool hardware_encrypt);

/**
 * Copy the Fragmented MME into blocks.
 * \param  ctx  the cp module context.
 * \param  tei  the station source TEI.
 * \param  mme  the MME to fragment.
 * \param  length  the MME length.
 * \param  fmi  the FMI MME data.
 * \return  true if it was the last message, false otherwise.
 */
bool
cp_cl_interf_rx_mme_frag (cp_t *ctx, cp_tei_t tei, u8 *mme, uint length,
                          uint fmi);

#endif /* cp_cl_interf_inc_cl_interf_h */