53 void *
operator new(
size_t aSize_byte,
void * aAddress);
156 virtual bool SetMemory(
unsigned int aIndex,
void * aMemory_MA,
unsigned int aSize_byte);
218 virtual bool Interrupt_Process(
unsigned int aMessageId,
bool * aNeedMoreProcessing);
361 virtual void Packet_Send_NoLock(uint64_t aPacket_PA,
const void * aPacket_XA,
unsigned int aSize_byte,
volatile long * aCounter) = 0;
381 virtual bool Packet_Send(
const void * aPacket,
unsigned int aSize_byte,
bool aPriority,
unsigned int aRepeatCount = 1) = 0;
402 virtual unsigned int Statistics_Get(uint32_t * aOut,
unsigned int aOutSize_byte,
bool aReset);
451 void Unlock_AfterReceive(
volatile long * aCounter,
unsigned int aPacketQty);
452 void Unlock_AfterSend (
volatile long * aCounter,
unsigned int aPacketQty);
473 static void SkipDangerousBoundary(uint64_t * aIn_PA, uint8_t ** aIn_XA,
unsigned int aSize_byte, uint64_t * aOut_PA, uint8_t ** aOut_XA);
488 Hardware(OpenNetK::Adapter_Type aType,
unsigned int aPacketSize_byte);
580 inline void Hardware::Tick()
Cette structure est utilisée pour retourner les informations au sujet d'un adaptateur.
Definition: Adapter_Types.h:227
unsigned int GetCommonBufferSize() const
Obtenir la taille de l'espace mémoire partagé avec le matériel.
virtual void Interrupt_Enable()
Activer les interruptions.
void Unlock_AfterReceive_FromThread(volatile long *aCounter, unsigned int aPacketQty, uint32_t aFlags)
Déverouiller l'accès au matériel après avoir programmé des descripteurs de réception.
OpenNet_BufferHeader, OpenNet_PacketInfo (RT)
virtual void ResetMemory()
Réinitialiser toutes les regions de mémoire.
Cette classe cache les information d'un paquet.
Definition: Packet.h:30
Hardware(OpenNetK::Adapter_Type aType, unsigned int aPacketSize_byte)
Le constructeur par défaut.
virtual void Unlock_AfterSend_Internal()=0
La partie de Unlock_AfterSend qui dépend du matériel.
virtual void Interrupt_Disable()
Désactiver les interruptions.
virtual void Tx_Enable()
Activer la transmission.
unsigned int GetPacketSize() const
Obtenir la taille maximum des paquets configuré.
virtual bool Packet_Drop()=0
Ajouter un espace mémoire à la queue de réception.
virtual bool Interrupt_Process(unsigned int aMessageId, bool *aNeedMoreProcessing)
Traiter une interruption.
Cette structure est utilisée pour passer la configuration.
Definition: Adapter_Types.h:198
virtual void Interrupt_Process3()
Traiter une interruption au troisième niveau.
virtual void Statistics_Reset()
Remettre les statistiques à zéro.
void Unlock_AfterSend_FromThread(volatile long *aCounter, unsigned int aPacketQty, uint32_t aFlags)
Déverouiller l'accès au matériel après avoir programmé des descripteurs de transmission.
void Lock()
Verouiller l'accès au matériel.
Definition: Hardware.h:562
Adapter_Config mConfig
La configuration de l'adapteur.
Definition: Hardware.h:518
void Unlock()
Déverouiller.
Definition: SpinLock.h:118
Cette structure est utilisée pour retourner l'etat.
Definition: Adapter_Types.h:260
Interface d'un spinlock.
Definition: SpinLock.h:36
Cette classe déclare l'interface du materiel.
Definition: Hardware.h:37
virtual bool Packet_Send(const void *aPacket, unsigned int aSize_byte, bool aPriority, unsigned int aRepeatCount=1)=0
Ajouter le paquet à la queue de transmission.
virtual unsigned int Statistics_Get(uint32_t *aOut, unsigned int aOutSize_byte, bool aReset)
Obtenir les statistiques.
void Lock()
Verouiller.
Definition: SpinLock.h:113
void Unlock()
Déverouiller l'accès au matériel.
Definition: Hardware.h:567
OpenNetK::Adapter_Config, OpenNetK::Adapter_Info, OpenNetK::Adapter_State, OpenNetK::Buffer, OpenNetK::EthernetAddress, OpenNetK::IPv4Address, OpenNetK::VersionInfo (SDK)
virtual void SetConfig(const Adapter_Config &aConfig)
Changer la configuration.
virtual void Packet_Receive_NoLock(Packet *aPacket, volatile long *aCounter)=0
Ajouter le paquet à la queue de réception.
virtual void GetState(Adapter_State *aState)=0
Obtenir l'etat courant.
virtual bool D0_Exit()
Sortir de l'état D0.
virtual void D0_Entry()
Entrer dans l'état D0.
virtual bool SetMemory(unsigned int aIndex, void *aMemory_MA, unsigned int aSize_byte)
Indique une région de mémoire.
virtual void Unlock_AfterReceive_Internal()=0
La partie de Unlock_AfterReceive qui dépend du matériel.
virtual void Packet_Send_NoLock(uint64_t aPacket_PA, const void *aPacket_XA, unsigned int aSize_byte, volatile long *aCounter)=0
Ajouter le paquet à la queue de transmission.
virtual void SetAdapter(Adapter *aAdapter)
Connecter l'Adaptateur.
bool Tx_IsEnabled() const
La transmission est-elle active?
Definition: Hardware.h:572
virtual void Interrupt_Process2(bool *aNeedMoreProcessing)
Traiter une interruption au second niveau.
Cette classe maintien les informations concernant un adaptateur sur le réseau interne OpenNet...
Definition: Adapter.h:51
static void SkipDangerousBoundary(uint64_t *aIn_PA, uint8_t **aIn_XA, unsigned int aSize_byte, uint64_t *aOut_PA, uint8_t **aOut_XA)
Passer les dangereuses barriere de 64 Kio.
virtual void Tx_Disable()
Désactiver la transmission.
uint32_t mStatistics[64]
La configuration de l'adapteur.
Definition: Hardware.h:534
Adapter_Info mInfo
L'information au sujet de l'adapteur.
Definition: Hardware.h:526
SpinLock * mZone0
Le SpinLock utilisé pour verouille l'accès au matériel.
Definition: Hardware.h:545
virtual void SetCommonBuffer(uint64_t aCommon_PA, void *aCommon_CA)
Associe l'espace de memoire contigue.