summaryrefslogtreecommitdiff
path: root/test_general/station/inc/int_context.h
blob: 8e3d4aaa9a7af754758e5a76cd4194eff9429be3 (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
#ifndef INT_CONTEXT_H_
#define INT_CONTEXT_H_

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

#include <cyg/hal/hal_arch.h>
#include <cyg/kernel/kapi.h>
#include <stdio.h>
#include <stdlib.h>

#include "lib/trace.h"

#include "mac/common/timings.h"
#include "mac/common/config.h"
#include "mac/common/store.h"
#include "mac/pbproc/pbproc.h"
#include "mac/sar/sar.h"

#include "cl/cl.h"
#include "hle/hle.h"

u8 sched_stack [CYGNUM_HAL_STACK_SIZE_TYPICAL];
u8 sar_stack [CYGNUM_HAL_STACK_SIZE_TYPICAL];

struct tei_node_t
{
    list_node_t node;
    uint tei;
};
typedef struct tei_node_t tei_node_t;

struct int_station_t
{
    mac_config_t *mac_config;
    mac_store_t *mac_store;
    pbproc_t *pbproc;
    sar_t *sar;
    cl_t *cl;
    hle_t *hle;
    
    
    /** Used to memorize the list of TEI inserted in the mac_Store to remove it
     * in the future. 
     */
    list_t tei_list;
    
    /** pbproc data */
    uint sched_index;
    
    cyg_handle_t sched_handle;
    cyg_thread sched_thread;
    
    /** sar data*/
    cyg_handle_t sar_handle;
    cyg_thread sar_thread;
};
typedef struct int_station_t int_station_t;

#endif /*INT_CONTEXT_H_*/