#ifndef interface_inc_context_h #define interface_inc_context_h /* Cesar project {{{ * * Copyright (C) 2008 Spidcom * * <<>> * * }}} */ /** * \file interface/inc/context.h * \brief Interface context. * \ingroup interface * */ #include "hle/hle.h" #include "lib/circular_buffer.h" #include "mac/common/config.h" #include "interface/interface.h" /** module includes. */ #include "interface/sniffer/sniffer.h" struct interface_t { /** cl context. */ cl_t *cl; /** sar context. */ sar_t *sar; /** hle context. */ hle_t *hle; /** sniffer context. */ interface_sniffer_t *sniffer; /** Mac config. */ mac_config_t *mac_config; /* callbacks functions. */ /** Callback to call on MME reception. */ interface_mme_recv_cb_t mme_recv_cb; /** Callback on buffer add. */ interface_mme_buffer_add_cb_t buffer_add_cb; /** Callback on beacon add. */ interface_beacon_add_cb_t beacon_add_cb; /** Actor user data. */ void *actor_user_data; /** Buffer management. */ u8 *buffer_list[INTERFACE_BUFFER_LIST_NUM_SLOTS]; circular_buffer_t buffers; cyg_mutex_t buffer_mutex; }; #endif /* interface_inc_context_h */