25#ifndef _NETSIM_SATELLITE_H_
26#define _NETSIM_SATELLITE_H_
35#pragma comment(lib,"Metrics.lib")
36#pragma comment(lib,"NetworkStack.lib")
37#pragma comment(lib,"Mobility.lib")
38#pragma comment(lib,"PropagationModel.lib")
56 {
"USER_TERMINAL",
"SATELLITE",
"SATELLITE_GATEWAY",
"Unknown" };
73 {
"MAC",
"PHY",
"Unknwon" };
81 {
"",
"Satellite_Superframe_Start",
"Satellite_Frame_Start" };
92#define SATELLITE_PROTOCOLDATA_CURRENT() ((ptrSATELLITE_PROTODATA)DEVICE_MACVAR(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId))
107#define SATELLITE_PHY_GET(d,i) (SATELLITE_LAYER_DATA_GET(d,i,SATELLITE_DEVICETYPE_SATELLITE,SATELLITE_LAYER_PHY))
108#define SATELLITE_MAC_GET(d,i) (SATELLITE_LAYER_DATA_GET(d,i,SATELLITE_DEVICETYPE_SATELLITE,SATELLITE_LAYER_MAC))
109#define SATELLITE_UTPHY_GET(d,i) (SATELLITE_LAYER_DATA_GET(d,i,SATELLITE_DEVICETYPE_USER_TERMINAL,SATELLITE_LAYER_PHY))
110#define SATELLITE_UTMAC_GET(d,i) (SATELLITE_LAYER_DATA_GET(d,i,SATELLITE_DEVICETYPE_USER_TERMINAL,SATELLITE_LAYER_MAC))
111#define SATELLITE_GWPHY_GET(d,i) (SATELLITE_LAYER_DATA_GET(d,i,SATELLITE_DEVICETYPE_SATELLITE_GATEWAY,SATELLITE_LAYER_PHY))
112#define SATELLITE_GWMAC_GET(d,i) (SATELLITE_LAYER_DATA_GET(d,i,SATELLITE_DEVICETYPE_SATELLITE_GATEWAY,SATELLITE_LAYER_MAC))
114#define SATELLITE_PHY_SET(d,i,data) (SATELLITE_LAYER_DATA_SET(d,i,SATELLITE_DEVICETYPE_SATELLITE,SATELLITE_LAYER_PHY,data))
115#define SATELLITE_MAC_SET(d,i,data) (SATELLITE_LAYER_DATA_SET(d,i,SATELLITE_DEVICETYPE_SATELLITE,SATELLITE_LAYER_MAC,data))
116#define SATELLITE_UTPHY_SET(d,i,data) (SATELLITE_LAYER_DATA_SET(d,i,SATELLITE_DEVICETYPE_USER_TERMINAL,SATELLITE_LAYER_PHY,data))
117#define SATELLITE_UTMAC_SET(d,i,data) (SATELLITE_LAYER_DATA_SET(d,i,SATELLITE_DEVICETYPE_USER_TERMINAL,SATELLITE_LAYER_MAC,data))
118#define SATELLITE_GWPHY_SET(d,i,data) (SATELLITE_LAYER_DATA_SET(d,i,SATELLITE_DEVICETYPE_SATELLITE_GATEWAY,SATELLITE_LAYER_PHY,data))
119#define SATELLITE_GWMAC_SET(d,i,data) (SATELLITE_LAYER_DATA_SET(d,i,SATELLITE_DEVICETYPE_SATELLITE_GATEWAY,SATELLITE_LAYER_MAC,data))
121#define isSATELLITE(d,i) (SATELLITE_DEVICETYPE_GET(d,i) == SATELLITE_DEVICETYPE_SATELLITE)
122#define isUT(d,i) (SATELLITE_DEVICETYPE_GET(d,i) == SATELLITE_DEVICETYPE_USER_TERMINAL)
123#define isGW(d,i) (SATELLITE_DEVICETYPE_GET(d,i) == SATELLITE_DEVICETYPE_SATELLITE_GATEWAY)
enum enum_SATELLITE_DEVICE_TYPE SATELLITE_DEVICETYPE
void satellite_handle_mac_out()
struct stru_SATELLITE_Protocol_Data * ptrSATELLITE_PROTODATA
static const char * strSATELLITE_DEVICETYPE[]
void print_satellite_log(char *format,...)
void satellite_hdr_init(NETSIM_ID d, NETSIM_ID in, NetSim_PACKET *packet)
bool isSatelliteInterface(NETSIM_ID d, NETSIM_ID in)
enum_SATELLITE_DEVICE_TYPE
@ SATELLITE_DEVICETYPE_SATELLITE_GATEWAY
@ SATELLITE_DEVICETYPE_USER_TERMINAL
@ SATELLITE_DEVICETYPE_UNKNOWN
@ SATELLITE_DEVICETYPE_SATELLITE
SATELLITE_DEVICETYPE SATELLITE_DEVICETYPE_FROM_STR(const char *type)
enum enum_satellite_subevent SATELLITE_SUBEVENT
void satellite_handle_phy_in()
void satellite_log_remove_tab()
void SATELLITE_LAYER_DATA_SET(NETSIM_ID d, NETSIM_ID in, SATELLITE_DEVICETYPE devType, SATELLITE_LAYER layer, void *data)
bool SATELLITE_LAYER_DATA_IsInitialized(NETSIM_ID d, NETSIM_ID in, SATELLITE_DEVICETYPE devType, SATELLITE_LAYER layer)
void * SATELLITE_LAYER_DATA_GET(NETSIM_ID d, NETSIM_ID in, SATELLITE_DEVICETYPE devType, SATELLITE_LAYER layer)
void satellite_log_add_tab()
void fn_NetSim_SATELLITE_Configure_F(void **)
static char * strLINKTYPE[]
void satellite_handle_mac_in()
@ SATELLITE_LAYER_UNKNOWN
static const char * strSATELLITE_LAYER[]
static const char * strSATELLITE_SUBEVENT[]
@ SUBEVENT_SUPERFRAME_START
SATELLITE_DEVICETYPE SATELLITE_DEVICETYPE_GET(NETSIM_ID d, NETSIM_ID in)
enum enum_SATELLITE_LAYER SATELLITE_LAYER
void satellite_handle_phy_out()
enum enum_linktype LINKTYPE
struct stru_SATELLITE_Protocol_Data SATELLITE_PROTODATA
ptrSATELLITE_PROTODATA SATELLITE_PROTOCOLDATA_ALLOC(NETSIM_ID d, NETSIM_ID in)
void SATELLITE_PROTOCOLDATA_FREE(NETSIM_ID d, NETSIM_ID in)
SATELLITE_DEVICETYPE deviceType
void *** SATELLITE_LAYER_DATA