NetSim Source Code Help
Loading...
Searching...
No Matches
IEEE1609_Interface.h
Go to the documentation of this file.
1
#pragma once
2
/************************************************************************************
3
* Copyright (C) 2020 *
4
* TETCOS, Bangalore. India *
5
* *
6
* Tetcos owns the intellectual property rights in the Product and its content. *
7
* The copying, redistribution, reselling or publication of any or all of the *
8
* Product or its content without express prior written consent of Tetcos is *
9
* prohibited. Ownership and / or any other right relating to the software and all *
10
* intellectual property rights therein shall remain at all times with Tetcos. *
11
* *
12
* Author: Shashi Kant Suman *
13
* *
14
* ---------------------------------------------------------------------------------*/
15
#ifndef _NETSIM_IEEE1609_INTERFACE_H_
16
#define _NETSIM_IEEE1609_INTERFACE_H_
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
typedef
enum
enum_IEEE1609_ChannelType
21
{
22
IEEE1609_ChannelType_CCH
,
23
IEEE1609_ChannelType_SCH
,
24
IEEE1609_ChannelType_GUARD
,
25
}
IEEE1609_CHANNEL_TYPE
;
26
27
typedef
struct
stru_IEEE1609_Buffer
28
{
29
UINT
size
;
30
UINT
max_size
;
31
NetSim_PACKET
*
head
;
32
NetSim_PACKET
*
tail
;
33
}
IEEE1609_BUFFER
,*
PIEEE1609_BUFFER
;
34
35
typedef
struct
stru_IEEE1609_Mac_Var
36
{
37
MAC_LAYER_PROTOCOL
secondary_protocol
;
38
void
*
secondary_protocol_var
;
39
40
double
dSCH_Time
;
41
double
dCCH_Time
;
42
double
dGuard_Time
;
43
44
struct
stru_Channel_Info
45
{
46
IEEE1609_CHANNEL_TYPE
channel_type
;
47
IEEE1609_CHANNEL_TYPE
prevChannel
;
48
double
dStartTime
;
49
double
dEndTime
;
50
}
CHANNEL_INFO
;
51
52
IEEE1609_BUFFER
buffer
[2];
//For CCH and SCH
53
}
IEEE1609_MAC_VAR
, *
PIEEE1609_MAC_VAR
;
54
55
#define GET_IEEE1609_MAC_VAR(nDeviceId,nInterfaceId) ((PIEEE1609_MAC_VAR)DEVICE_MACVAR(nDeviceId,nInterfaceId))
56
#define SET_IEEE1609_MAC_VAR(nDeviceId,nInterfaceId,mac) DEVICE_MACVAR(nDeviceId,nInterfaceId) = ((void*)(mac))
57
#define GET_IEEE1609_CURR_MAC_VAR GET_IEEE1609_MAC_VAR(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId)
58
59
60
typedef
struct
stru_IEEE1609_Phy_Var
61
{
62
MAC_LAYER_PROTOCOL
secondary_protocol
;
63
void
*
secondary_protocol_var
;
64
65
UINT16
nStandardChannel_SCH
;
66
double
dFrequency_SCH
;
67
UINT16
nStandardChannel_CCH
;
68
double
dFrequency_CCH
;
69
}
IEEE1609_PHY_VAR
, *
PIEEE1609_PHY_VAR
;
70
71
#define GET_IEEE1609_PHY_VAR(nDeviceId,nInterfaceId) ((PIEEE1609_PHY_VAR)DEVICE_PHYVAR(nDeviceId,nInterfaceId))
72
#define SET_IEEE1609_PHY_VAR(nDeviceId,nInterfaceId,phy) DEVICE_PHYVAR(nDeviceId,nInterfaceId) = ((void*)(phy))
73
#define GET_IEEE1609_CURR_PHY_VAR GET_IEEE1609_PHY_VAR(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId)
74
75
76
#ifdef __cplusplus
77
}
78
#endif
79
#endif
//_NETSIM_IEEE1609_INTERFACE_H_
PIEEE1609_PHY_VAR
struct stru_IEEE1609_Phy_Var * PIEEE1609_PHY_VAR
IEEE1609_BUFFER
struct stru_IEEE1609_Buffer IEEE1609_BUFFER
IEEE1609_PHY_VAR
struct stru_IEEE1609_Phy_Var IEEE1609_PHY_VAR
IEEE1609_MAC_VAR
struct stru_IEEE1609_Mac_Var IEEE1609_MAC_VAR
enum_IEEE1609_ChannelType
enum_IEEE1609_ChannelType
Definition:
IEEE1609_Interface.h:21
IEEE1609_ChannelType_GUARD
@ IEEE1609_ChannelType_GUARD
Definition:
IEEE1609_Interface.h:24
IEEE1609_ChannelType_CCH
@ IEEE1609_ChannelType_CCH
Definition:
IEEE1609_Interface.h:22
IEEE1609_ChannelType_SCH
@ IEEE1609_ChannelType_SCH
Definition:
IEEE1609_Interface.h:23
PIEEE1609_MAC_VAR
struct stru_IEEE1609_Mac_Var * PIEEE1609_MAC_VAR
PIEEE1609_BUFFER
struct stru_IEEE1609_Buffer * PIEEE1609_BUFFER
IEEE1609_CHANNEL_TYPE
enum enum_IEEE1609_ChannelType IEEE1609_CHANNEL_TYPE
UINT
#define UINT
Definition:
Linux.h:38
UINT16
#define UINT16
Definition:
Linux.h:33
MAC_LAYER_PROTOCOL
enum enum_MACProtocol MAC_LAYER_PROTOCOL
Definition:
main.h:134
stru_IEEE1609_Buffer
Definition:
IEEE1609_Interface.h:28
stru_IEEE1609_Buffer::head
NetSim_PACKET * head
Definition:
IEEE1609_Interface.h:31
stru_IEEE1609_Buffer::tail
NetSim_PACKET * tail
Definition:
IEEE1609_Interface.h:32
stru_IEEE1609_Buffer::max_size
UINT max_size
Definition:
IEEE1609_Interface.h:30
stru_IEEE1609_Buffer::size
UINT size
Definition:
IEEE1609_Interface.h:29
stru_IEEE1609_Mac_Var::stru_Channel_Info
Definition:
IEEE1609_Interface.h:45
stru_IEEE1609_Mac_Var::stru_Channel_Info::dEndTime
double dEndTime
Definition:
IEEE1609_Interface.h:49
stru_IEEE1609_Mac_Var::stru_Channel_Info::prevChannel
IEEE1609_CHANNEL_TYPE prevChannel
Definition:
IEEE1609_Interface.h:47
stru_IEEE1609_Mac_Var::stru_Channel_Info::dStartTime
double dStartTime
Definition:
IEEE1609_Interface.h:48
stru_IEEE1609_Mac_Var::stru_Channel_Info::channel_type
IEEE1609_CHANNEL_TYPE channel_type
Definition:
IEEE1609_Interface.h:46
stru_IEEE1609_Mac_Var
Definition:
IEEE1609_Interface.h:36
stru_IEEE1609_Mac_Var::CHANNEL_INFO
struct stru_IEEE1609_Mac_Var::stru_Channel_Info CHANNEL_INFO
stru_IEEE1609_Mac_Var::buffer
IEEE1609_BUFFER buffer[2]
Definition:
IEEE1609_Interface.h:52
stru_IEEE1609_Mac_Var::dSCH_Time
double dSCH_Time
Definition:
IEEE1609_Interface.h:40
stru_IEEE1609_Mac_Var::dCCH_Time
double dCCH_Time
Definition:
IEEE1609_Interface.h:41
stru_IEEE1609_Mac_Var::secondary_protocol_var
void * secondary_protocol_var
Definition:
IEEE1609_Interface.h:38
stru_IEEE1609_Mac_Var::secondary_protocol
MAC_LAYER_PROTOCOL secondary_protocol
Definition:
IEEE1609_Interface.h:37
stru_IEEE1609_Mac_Var::dGuard_Time
double dGuard_Time
Definition:
IEEE1609_Interface.h:42
stru_IEEE1609_Phy_Var
Definition:
IEEE1609_Interface.h:61
stru_IEEE1609_Phy_Var::nStandardChannel_SCH
UINT16 nStandardChannel_SCH
Definition:
IEEE1609_Interface.h:65
stru_IEEE1609_Phy_Var::secondary_protocol
MAC_LAYER_PROTOCOL secondary_protocol
Definition:
IEEE1609_Interface.h:62
stru_IEEE1609_Phy_Var::nStandardChannel_CCH
UINT16 nStandardChannel_CCH
Definition:
IEEE1609_Interface.h:67
stru_IEEE1609_Phy_Var::secondary_protocol_var
void * secondary_protocol_var
Definition:
IEEE1609_Interface.h:63
stru_IEEE1609_Phy_Var::dFrequency_CCH
double dFrequency_CCH
Definition:
IEEE1609_Interface.h:68
stru_IEEE1609_Phy_Var::dFrequency_SCH
double dFrequency_SCH
Definition:
IEEE1609_Interface.h:66
stru_NetSim_Packet
Definition:
Packet.h:255
ALL
Component 1
Part 4
Include
IEEE1609_Interface.h
Generated on Fri Dec 9 2022 10:22:45 for NetSim Source Code Help by
1.9.5