proto.h 2.09 KB
Newer Older
1 2 3 4 5 6 7
/*! \file proto.h
* \brief 
* \author Navid Nikaein
* \date 2011
* \version 1.0 
* \company Eurecom
* \email: navid.nikaein@eurecom.fr
Cedric Roux's avatar
Cedric Roux committed
8 9 10 11 12 13
*/

#include "SIMULATION/ETH_TRANSPORT/defs.h"

#ifndef EMU_PROTO_H_
#define EMU_PROTO_H_
14 15 16

void init_bypass (void);
void bypass_init ( unsigned int (*tx_handlerP) (unsigned char,char*, unsigned int*, unsigned int*),unsigned int (*rx_handlerP) (unsigned char,char*,unsigned int));
17 18
int bypass_rx_data(unsigned int frame, unsigned int last_slot,
                   unsigned int next_slot, uint8_t is_master);
Cedric Roux's avatar
Cedric Roux committed
19 20
void  bypass_signal_mac_phy(unsigned int frame, unsigned int last_slot,
                            unsigned int next_slot, uint8_t is_master);
21 22 23 24 25 26 27 28
#ifndef USER_MODE
int multicast_link_write_sock (int groupP, char *dataP, unsigned int sizeP);
int bypass_tx_handler(unsigned int fifo, int rw);
int bypass_rx_handler(unsigned int fifo, int rw);
#else
void bypass_rx_handler(unsigned int Num_bytes,char *Rx_buffer);
#endif

Cedric Roux's avatar
Cedric Roux committed
29
void bypass_tx_data (emu_transport_info_t Type, unsigned int frame, unsigned int next_slot);
30 31 32 33 34 35 36 37 38

void emulation_tx_rx(void);

unsigned int emul_tx_handler(unsigned char Mode,char *Tx_buffer,unsigned int* Nbytes,unsigned int *Nb_flows);
unsigned int emul_rx_handler(unsigned char Mode,char *rx_buffer, unsigned int Nbytes);

unsigned int emul_rx_data(void);

void emu_transport_info(unsigned int last_slot, unsigned int next_slot);
Raymond Knopp's avatar
 
Raymond Knopp committed
39 40
void fill_phy_enb_vars(unsigned int enb_id, uint8_t CC_id,unsigned int next_slot);
void fill_phy_ue_vars(unsigned int ue_id, uint8_t CC_id,unsigned int last_slot);
41 42 43 44 45 46
void emu_transport_sync(void);
void emu_transport(unsigned int frame, unsigned int last_slot,unsigned int next_slot, lte_subframe_t direction, unsigned char frame_type, int ethernet_flag );
void emu_transport_DL(unsigned int frame, unsigned int last_slot,unsigned int next_slot);
void emu_transport_UL(unsigned int frame, unsigned int last_slot,unsigned int next_slot);
void emu_transport_release(void);

Cedric Roux's avatar
Cedric Roux committed
47 48
int multicast_link_read_data_from_sock(uint8_t eNB_flag);

49 50
void clear_eNB_transport_info(uint8_t);
void clear_UE_transport_info(uint8_t);
51 52
int netlink_init(void);

Cedric Roux's avatar
Cedric Roux committed
53
#endif /* EMU_PROTO_H_ */