OpenNet
Adapter_Types.h
Aller à la documentation de ce fichier.
1 
2 // Product OpenNet
3 
11 
12 #pragma once
13 
14 // Includes
16 
17 namespace OpenNetK
18 {
19 
31  typedef struct
32  {
33  uint64_t mBuffer_PA;
34  uint64_t mMarker_PA;
35  uint32_t mPacketQty;
36  uint32_t mSize_byte;
37 
38  uint64_t mBuffer_DA;
39 
40  uint8_t mReserved1[32];
41  }
42  Buffer;
43 
54  typedef struct
55  {
56  uint8_t mAddress[6];
57 
58  uint8_t mReserved[2];
59  }
61 
72  typedef enum
73  {
74  EVENT_TYPE_BUFFER ,
75  EVENT_TYPE_WAIT_CANCEL,
76 
77  EVENT_TYPE_QTY
78  }
79  Event_Type;
80 
92  typedef struct
93  {
94  Event_Type mType ;
95  uint32_t mData ;
96  uint64_t mTimestamp_us;
97  }
98  Event;
99 
111  typedef struct
112  {
113  uint8_t mAddress[4];
114  }
115  IPv4Address;
116 
117  // TODO OpenNetK.Adapter_Types
118  // Normal (Feature) - Ajouter des informations : debug/release
119 
132  typedef struct
133  {
134  uint8_t mMajor ;
135  uint8_t mMinor ;
136  uint8_t mBuild ;
137  uint8_t mCompatibility;
138 
139  uint8_t mReserved0[108];
140 
141  char mCompiled_At[32];
142  char mCompiled_On[32];
143  char mComment [64];
144  char mType [16];
145  }
146  VersionInfo;
147 
159  typedef enum
160  {
161  ADAPTER_TYPE_UNKNOWN = 0,
162 
163  ADAPTER_TYPE_CONNECT = 0x00000001,
164  ADAPTER_TYPE_NULL = 0x00000002,
165 
166  ADAPTER_TYPE_HARDWARE = 0x00000700,
167  ADAPTER_TYPE_HARDWARE_1G = 0x00000100,
168  ADAPTER_TYPE_HARDWARE_10G = 0x00000200,
169  ADAPTER_TYPE_HARDWARE_40G = 0x00000400,
170 
171  ADAPTER_TYPE_TUNNEL = 0x00070000,
172  ADAPTER_TYPE_TUNNEL_FILE = 0x00010000,
173  ADAPTER_TYPE_TUNNEL_IO = 0x00020000,
174  ADAPTER_TYPE_TUNNEL_TCP = 0x00040000,
175 
176  ADAPTER_TYPE_USER = 0x0f000000,
177  ADAPTER_TYPE_USER_0 = 0x01000000,
178  ADAPTER_TYPE_USER_1 = 0x02000000,
179  ADAPTER_TYPE_USER_2 = 0x04000000,
180  ADAPTER_TYPE_USER_3 = 0x08000000,
181 
182  ADAPTER_TYPE_ALL = 0x0f070703
183  }
184  Adapter_Type;
185 
198  typedef struct
199  {
200  uint32_t mPacketSize_byte;
201 
202  uint32_t mReserved0[508];
203 
204  EthernetAddress mEthernetAddress[50];
205 
206  uint8_t mReserved1[112];
207  }
209 
210  // TODO OpenNetK.Adapter
211  // Normal (Feature) - Ajouter la largeur de lien PCIe et la
212  // generation a l'information. Ajouter aussi la vitesse maximum du
213  // lien.
214 
227  typedef struct
228  {
229  Adapter_Type mAdapterType;
230 
231  uint32_t mCommonBufferSize_byte;
232  uint32_t mMaxSpeed_Mb_s ;
233  uint32_t mPacketSize_byte ;
234  uint32_t mRx_Descriptors ;
235  uint32_t mTx_Descriptors ;
236 
237  uint8_t mReserved0[100];
238 
239  EthernetAddress mEthernetAddress;
240 
241  char mComment[128];
242 
243  VersionInfo mVersion_Driver ;
244  VersionInfo mVersion_Hardware;
245  VersionInfo mVersion_ONK_Lib ;
246  }
247  Adapter_Info;
248 
260  typedef struct
261  {
262  struct
263  {
264  unsigned mFullDuplex : 1;
265  unsigned mLinkUp : 1;
266  unsigned mTx_Enabled : 1;
267  unsigned mTx_Off : 1;
268 
269  unsigned mReserved0 : 27;
270 
271  unsigned mLicenseOk : 1;
272  }
273  mFlags;
274 
275  uint32_t mAdapterNo ;
276  uint32_t mBufferCount ;
277  uint32_t mEvaluation_ms;
278  uint32_t mSpeed_Mb_s ;
279  uint32_t mSystemId ;
280 
281  uint8_t mReserved0[40];
282  }
284 
285 }
Cette structure est utilisée pour retourner les informations au sujet d'un adaptateur.
Definition: Adapter_Types.h:227
Cette structure est utilisée pour les adresse IPv4.
Definition: Adapter_Types.h:111
Cette structure est utilisée pour transmettre le événement à l'application.
Definition: Adapter_Types.h:92
Cette structure est utilisée pour passer la configuration.
Definition: Adapter_Types.h:198
Cette structure est utilisée pour les adresses Ethernet.
Definition: Adapter_Types.h:54
Cette structure est utilisée pour retourner l'etat.
Definition: Adapter_Types.h:260
Cette structure est utilisée pour passer les informations au sujet d'un espace mémoire.
Definition: Adapter_Types.h:31
Definition: Adapter.h:26
Cette structure est utilisée pour retourner la version d'un composant.
Definition: Adapter_Types.h:132