OpenNet
|
Cette classe déclare l'interface du materiel. Plus de détails...
#include <Hardware.h>
Fonctions membres publiques | |
void * | operator new (size_t aSize_byte, void *aAddress) |
Operateur new sans allocation. Plus de détails... | |
unsigned int | GetCommonBufferSize () const |
Obtenir la taille de l'espace mémoire partagé avec le matériel. Plus de détails... | |
unsigned int | GetPacketSize () const |
Obtenir la taille maximum des paquets configuré. Plus de détails... | |
virtual void | GetState (Adapter_State *aState)=0 |
Obtenir l'etat courant. Plus de détails... | |
virtual void | ResetMemory () |
Réinitialiser toutes les regions de mémoire. Plus de détails... | |
virtual void | SetAdapter (Adapter *aAdapter) |
Connecter l'Adaptateur. Plus de détails... | |
virtual void | SetCommonBuffer (uint64_t aCommon_PA, void *aCommon_CA) |
Associe l'espace de memoire contigue. Plus de détails... | |
virtual void | SetConfig (const Adapter_Config &aConfig) |
Changer la configuration. Plus de détails... | |
virtual bool | SetMemory (unsigned int aIndex, void *aMemory_MA, unsigned int aSize_byte) |
Indique une région de mémoire. Plus de détails... | |
virtual void | D0_Entry () |
Entrer dans l'état D0. Plus de détails... | |
virtual bool | D0_Exit () |
Sortir de l'état D0. Plus de détails... | |
virtual void | Interrupt_Disable () |
Désactiver les interruptions. Plus de détails... | |
virtual void | Interrupt_Enable () |
Activer les interruptions. Plus de détails... | |
virtual bool | Interrupt_Process (unsigned int aMessageId, bool *aNeedMoreProcessing) |
Traiter une interruption. Plus de détails... | |
virtual void | Interrupt_Process2 (bool *aNeedMoreProcessing) |
Traiter une interruption au second niveau. Plus de détails... | |
virtual void | Interrupt_Process3 () |
Traiter une interruption au troisième niveau. Plus de détails... | |
void | Lock () |
Verouiller l'accès au matériel. Plus de détails... | |
void | Unlock () |
Déverouiller l'accès au matériel. Plus de détails... | |
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. Plus de détails... | |
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. Plus de détails... | |
virtual bool | Packet_Drop ()=0 |
Ajouter un espace mémoire à la queue de réception. Plus de détails... | |
virtual void | Packet_Receive_NoLock (Packet *aPacket, volatile long *aCounter)=0 |
Ajouter le paquet à la queue de réception. Plus de détails... | |
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. Plus de détails... | |
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. Plus de détails... | |
virtual unsigned int | Statistics_Get (uint32_t *aOut, unsigned int aOutSize_byte, bool aReset) |
Obtenir les statistiques. Plus de détails... | |
virtual void | Statistics_Reset () |
Remettre les statistiques à zéro. Plus de détails... | |
bool | Tx_IsEnabled () const |
La transmission est-elle active? Plus de détails... | |
virtual void | Tx_Disable () |
Désactiver la transmission. Plus de détails... | |
virtual void | Tx_Enable () |
Activer la transmission. Plus de détails... | |
Fonctions membres protégées | |
Hardware (OpenNetK::Adapter_Type aType, unsigned int aPacketSize_byte) | |
Le constructeur par défaut. Plus de détails... | |
virtual void | Unlock_AfterReceive_Internal ()=0 |
La partie de Unlock_AfterReceive qui dépend du matériel. Plus de détails... | |
virtual void | Unlock_AfterSend_Internal ()=0 |
La partie de Unlock_AfterSend qui dépend du matériel. Plus de détails... | |
Fonctions membres protégées statiques | |
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. Plus de détails... | |
Attributs protégés | |
Adapter_Config | mConfig |
La configuration de l'adapteur. | |
Adapter_Info | mInfo |
L'information au sujet de l'adapteur. | |
uint32_t | mStatistics [64] |
La configuration de l'adapteur. | |
SpinLock * | mZone0 |
Le SpinLock utilisé pour verouille l'accès au matériel. | |
Cette classe déclare l'interface du materiel.
|
protected |
Le constructeur par défaut.
aType | Type de l'adaptateur |
aPacketSize_byte | La taille maximale des paquets et la valeur par defaut pour la configuration de la taille maximale des paquets |
|
virtual |
|
virtual |
Sortir de l'état D0.
false | Erreur |
true | OK |
unsigned int OpenNetK::Hardware::GetCommonBufferSize | ( | ) | const |
Obtenir la taille de l'espace mémoire partagé avec le matériel.
Cette | methode retourne la taille nécessaire pour l'espace mémoire partage entre le matériel et le logiciel. |
unsigned int OpenNetK::Hardware::GetPacketSize | ( | ) | const |
Obtenir la taille maximum des paquets configuré.
Cette | methode retourne la taille maximum configuré pour les paquets en octes. |
|
pure virtual |
Obtenir l'etat courant.
aState | L'instance d'OpenNet_State |
|
virtual |
Désactiver les interruptions.
|
virtual |
Activer les interruptions.
|
virtual |
Traiter une interruption.
aMessageId | Le message attaché a l'interruption |
aNeedMoreProcessing |
false | L'adaptateur n'a pas causé l'interruption. |
true | L'adaptateur a causé l'interruption. |
|
virtual |
Traiter une interruption au second niveau.
aNeedMoreProcessing |
|
virtual |
Traiter une interruption au troisième niveau.
|
inline |
Verouiller l'accès au matériel.
void* OpenNetK::Hardware::operator new | ( | size_t | aSize_byte, |
void * | aAddress | ||
) |
Operateur new sans allocation.
aSize_byte | La taille |
aAddress | L'adresse |
|
pure virtual |
Ajouter un espace mémoire à la queue de réception.
false | Pas d'espace mémoire disponible |
true | OK |
|
pure virtual |
|
pure virtual |
Ajouter le paquet à la queue de transmission.
aPacket | Le paquet |
aSize_byte | La taille du paquet |
aPriority | A vrai pour les paquets prioritaire |
aRepeatCount | Le nombre de répétition |
false | Erreur |
true | OK |
|
pure virtual |
Ajouter le paquet à la queue de transmission.
aPacket_PA | Les données |
aPacket_XA | Les données (C or M) |
aSize_byte | La taille des donneés |
aCounter | Le compteur d'opération |
|
virtual |
Réinitialiser toutes les regions de mémoire.
|
virtual |
Connecter l'Adaptateur.
aAdapter | L'Adaptateur |
|
virtual |
Associe l'espace de memoire contigue.
aCommon_PA L'adresse physique utilisée par le matériel aCommon_CA L'adresse virtuelle utilisée par le logiciel
|
virtual |
Changer la configuration.
aConfig | La configuration |
|
virtual |
Indique une région de mémoire.
aIndex | L'index |
aMemory_MA | L'adresse virtuelle |
aSize_byte | La taille |
false | Erreur |
true | OK |
|
staticprotected |
Passer les dangereuses barriere de 64 Kio.
aIn_PA | |
aIn_XA | (C ou M) |
aSize_byte | |
aOut_PA | |
aOut_XA | (C or M) |
|
virtual |
Obtenir les statistiques.
aOut | L'espace mémoire de sortie |
aOutSize_byte | La taille de l'espace mémoire de sortie |
aReset | Remettre les statistiques à zéro après les avoir obtenus |
|
virtual |
Remettre les statistiques à zéro.
|
virtual |
Désactiver la transmission.
|
virtual |
Activer la transmission.
|
inline |
La transmission est-elle active?
false | |
true |
|
inline |
Déverouiller l'accès au matériel.
void OpenNetK::Hardware::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.
aCounter | Le compteur à incrementer |
aPacketQty | Le nombre de descripteurs programmés |
aFlags | La valeur à passer à SpinLock::UnlockFromThread |
|
protectedpure virtual |
La partie de Unlock_AfterReceive qui dépend du matériel.
void OpenNetK::Hardware::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.
aCounter | Le compteur à incrementer |
aPacketQty | Le nombre de descripteurs programmés |
aFlags | La valeur à passer à SpinLock::UnlockFromThread |
|
protectedpure virtual |
La partie de Unlock_AfterSend qui dépend du matériel.