summaryrefslogtreecommitdiff
path: root/test_general/station/int_station_fc.h
blob: 6f05b02976999b5f7466744eef0b884128a54f92 (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
#ifndef INT_STATION_FC_H_
#define INT_STATION_FC_H_

/* Cesar project {{{
 *
 * Copyright (C) 2007 Spidcom
 *
 * <<<Licence>>>
 *
 * }}} */
/**
 * \file    int_station_fc.h
 * \brief   « brief description »
 * \ingroup « module »
 *
 * « long description »
 */

#include "host/station.h"

/**
 * Initialize the configuration of the STA.
 * The parameters we must provide are the TEI of the STA, the SNID and the
 * boolean to indicate the auto generation of the beacon periods.
 * 
 * \param  fcall the fcall context.
 * \param  param  the fcall param
 * \param  msg  the message
 * \param  data  anything
 */
int fc_station_init_config (fcall_ctx_t *fcall, fcall_param_t **param,
        sci_msg_t **msg, void *data);

/**
 * Provide to the STA using the parameters of the function call the station
 * use for the test. Each STA shall known the TEI of the others present in the
 * AVLN.
 *
 * The function call parameters must be
 * - qte  the quantity of TEIs present in the paramters. One for each STA
 * without this one.
 * - tei  The list of TEIs.
 * - mac  the list of mac address.
 *
 * This will be use to add the STA's to the mac store, the STA will keep a
 * list of theses TEI to remove the STA during the uninit procedure.
 *
 * 
 * \param  fcall the fcall context.
 * \param  param  the fcall param
 * \param  msg  the message
 * \param  data  anything
 */
int fc_station_discover (fcall_ctx_t *fcall, fcall_param_t **param,
        sci_msg_t **msg, void *data);

/**
 * Add a link to the Station in order to receive or transmit data.
 * 
 * - type  TX or RX link, it is a short 1 for TX 0 for RX.
 * - bcast  short indicating if the link is a broadcast link
 * - mme   short indicating if the link will be use to transmit MMEs
 * - lid  short indicating if it is a link identitier.
 * - tei  short  the destination station.
 *  
 * \param  fcall the fcall context.
 * \param  param  the fcall param
 * \param  msg  the message
 * \param  data  anything
 */
int fc_station_link_add (fcall_ctx_t *fcall, fcall_param_t **param,
        sci_msg_t **msg, void *data);

/**
 * Remove a link to the Station in order to receive or transmit data.
 * 
 * - type  TX or RX link, it is a short 1 for TX 0 for RX.
 * - bcast  short indicating if the link is a broadcast link
 * - mme   short indicating if the link will be use to transmit MMEs
 * - lid  short indicating if it is a link identitier.
 * - tei  short  the destination station.
 *  
 * \param  fcall the fcall context.
 * \param  param  the fcall param
 * \param  msg  the message
 * \param  data  anything
 */
int fc_station_link_remove (fcall_ctx_t *fcall, fcall_param_t **param,
        sci_msg_t **msg, void *data);

#endif /*INT_STATION_FC_H_*/