56 typedef void(*Event_Callback)(
void *);
148 volatile uint32_t * mMarker_MA;
153 unsigned mStopRequested : 1;
155 unsigned mReserved : 31;
160 uint32_t mMarkerValue;
161 unsigned int mPacketInfoOffset_byte;
162 volatile long mRx_Counter ;
163 volatile long mTx_Counter ;
167 uint8_t mReserved1[28];
173 void Buffer_SendPackets(
BufferInfo * aBufferInfo);
177 void Interrupt_Process2(
bool * aNeedMoreProcessing);
178 void Interrupt_Process3();
180 int IoCtl(
void * aFileObject,
unsigned int aCode,
const void * aIn,
unsigned int aInSize_byte,
void * aOut,
unsigned int aOutSize_byte);
200 void Buffer_InitHeader_Zone0 (
OpenNet_BufferHeader * aHeader_XA,
const Buffer & aBuffer, Packet * aPackets);
201 bool Buffer_Queue_Zone0 (
const Buffer & aBuffer);
202 void Buffer_Release_Zone0 ();
203 void Buffer_Receive_Zone0 (BufferInfo * aBufferInfo);
204 void Buffer_Send_Zone0 (BufferInfo * aBufferInfo);
205 void Buffer_WriteMarker_Zone0(BufferInfo * aBufferInfo);
207 void Event_Report_Zone0(Event_Type aType, uint32_t aData);
209 void Interrupt_Process2_Px_Zone0();
210 void Interrupt_Process2_Rx_Zone0();
211 void Interrupt_Process2_Tx_Zone0();
216 void Buffer_EventPending_Zone0(BufferInfo * aBufferInfo);
217 void Buffer_PxRunning_Zone0 (BufferInfo * aBufferInfo);
218 void Buffer_RxRunning_Zone0 (BufferInfo * aBufferInfo);
219 void Buffer_TxRunning_Zone0 (BufferInfo * aBufferInfo);
222 void Buffer_Enter_RxProgramming_Zone0(BufferInfo * aBufferInfo,
unsigned int aIndex,
const char * aFrom);
223 void Buffer_Enter_Stopped_Zone0 (BufferInfo * aBufferInfo,
unsigned int aIndex,
const char * aFrom);
227 int IoCtl_Config_Get(Adapter_Config * aOut);
228 int IoCtl_Info_Get (Adapter_Info * aOut)
const;
230 int IoCtl_Config_Set (
const Adapter_Config * aIn, Adapter_Config * aOut);
231 int IoCtl_PacketGenerator_Config_Set(
const PacketGenerator_Config * aIn, PacketGenerator_Config * aOut);
233 int IoCtl_Connect(
const void * aIn,
void * aOut,
void * aFileObject);
235 int IoCtl_Event_Wait (
const void * aIn, Event * aOut,
unsigned int aOutSize_byte);
236 int IoCtl_Statistics_Get(
const void * aIn, uint32_t * aOut,
unsigned int aOutSize_byte)
const;
238 int IoCtl_Event_Wait_Cancel ();
239 int IoCtl_Packet_Drop ();
240 int IoCtl_PacketGenerator_Stop();
241 int IoCtl_Statistics_Reset ();
243 int IoCtl_Tx_Disable ();
244 int IoCtl_Tx_Enable ();
246 int IoCtl_License_Set(
const void * aIn,
void * aOut);
248 int IoCtl_Packet_Send_Ex(
const void * aIn,
unsigned int aInSize_byte);
250 int IoCtl_PacketGenerator_Config_Get(PacketGenerator_Config * aOut);
251 int IoCtl_State_Get (Adapter_State * aOut);
253 int IoCtl_PacketGenerator_Start(
void * aFileObject);
255 int IoCtl_Start(
const Buffer * aIn,
unsigned int aInSize_byte);
257 Adapter ** mAdapters ;
258 unsigned int mAdapterNo;
259 Hardware * mHardware ;
260 unsigned int mSystemId ;
262 void * mConnect_FileObject;
264 PacketGenerator_Config mPacketGenerator_Config ;
265 unsigned int mPacketGenerator_Counter;
266 void * mPacketGenerator_FileObject;
267 long mPacketGenerator_Pending;
269 mutable uint32_t mStatistics[32];
273 mutable uint64_t mStatistics_Start_us;
275 uint32_t mEvaluation_ms;
283 BufferCountAndIndex mBuffer;
286 Event_Callback mEvent_Callback;
287 void * mEvent_Context ;
288 unsigned int mEvent_In ;
289 unsigned int mEvent_Out ;
290 bool mEvent_Pending ;
291 Event mEvents[EVENT_QTY];
Cette structure contient des pointeurs vers les fonctions qui dependes du systeme d'exploitation...
Definition: OSDep.h:178
OpenNet_BufferHeader, OpenNet_PacketInfo (RT)
Cette classe cache les information d'un paquet.
Definition: Packet.h:30
void SetOSDep(OpenNetK_OSDep *aOSDep)
Assigner la structure OSDep.
Cette structure contient les tailles d'espace mémoire qu'un IoCtl accepte.
Definition: IoCtl.h:27
OpenNetK_IoCtl_Info (DDK)
Cette structure est utilisée pour passer les informations au sujet d'un espace mémoire.
Definition: Adapter_Types.h:31
Interface d'un spinlock.
Definition: SpinLock.h:36
Cette classe déclare l'interface du materiel.
Definition: Hardware.h:37
#define OPEN_NET_BUFFER_QTY
Le nombre maximum d'espace mémoire pour un Adapter.
Definition: Constants.h:19
OpenNetK::Adapter_Config, OpenNetK::Adapter_Info, OpenNetK::Adapter_State, OpenNetK::Buffer, OpenNetK::EthernetAddress, OpenNetK::IPv4Address, OpenNetK::VersionInfo (SDK)
void SetHardware(Hardware *aHardware)
Connecter l'instance de la classe Hardware.
static bool IoCtl_GetInfo(unsigned int aCode, OpenNetK_IoCtl_Info *aInfo)
Optenir l'information au sujet d'un code IoCtl.
void Event_RegisterCallback(Event_Callback aCallback, void *aContext)
Assigner la structure OSDep.
OpenNetK::PacketGenerator_Config.
void FileCleanup(void *aFileObject)
Nettoyer à la fermeture d'un fichier.
Cette classe maintien les informations concernant un adaptateur sur le réseau interne OpenNet...
Definition: Adapter.h:51
L'information au sujet d'un espace mémoire. Cette structure n'est pas documenté. Elle peut changer ou...
Definition: Adapter.h:142
unsigned int Event_GetPendingCount() const
Est-ce que des événements sont en attente?