OpenNet
Fonctions membres publiques | Fonctions membres protégées | Fonctions membres protégées statiques | Attributs protégés | Liste de tous les membres
Référence de la classe OpenNetK::Hardwareabstract

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&eacuteverouiller 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 &agrave 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.
 
SpinLockmZone0
 Le SpinLock utilisé pour verouille l'accès au matériel.
 

Description détaillée

Cette classe déclare l'interface du materiel.

Note
Cette classe fait partie de l'ensemble de developpement de pilotes (DDK).

Documentation des constructeurs et destructeur

OpenNetK::Hardware::Hardware ( OpenNetK::Adapter_Type  aType,
unsigned int  aPacketSize_byte 
)
protected

Le constructeur par défaut.

Paramètres
aTypeType de l'adaptateur
aPacketSize_byteLa taille maximale des paquets et la valeur par defaut pour la configuration de la taille maximale des paquets
Note
Thread = Initialisation

Documentation des fonctions membres

virtual void OpenNetK::Hardware::D0_Entry ( )
virtual

Entrer dans l'état D0.

Note
Level = Thread, Thread = Initialisation
Voir également
D0_Exit
virtual bool OpenNetK::Hardware::D0_Exit ( )
virtual

Sortir de l'état D0.

Valeurs retournées
falseErreur
trueOK
Note
Level = Thread, Thread = Uninitialisation
Voir également
D0_Exit
unsigned int OpenNetK::Hardware::GetCommonBufferSize ( ) const

Obtenir la taille de l'espace mémoire partagé avec le matériel.

Valeurs retournées
Cettemethode 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é.

Valeurs retournées
Cettemethode retourne la taille maximum configuré pour les paquets en octes.
virtual void OpenNetK::Hardware::GetState ( Adapter_State aState)
pure virtual

Obtenir l'etat courant.

Paramètres
aStateL'instance d'OpenNet_State
Note
Level = SoftInt or Thread, Thread = Queue
virtual void OpenNetK::Hardware::Interrupt_Disable ( )
virtual

Désactiver les interruptions.

Voir également
Interrupt_Enable
virtual void OpenNetK::Hardware::Interrupt_Enable ( )
virtual

Activer les interruptions.

Voir également
Interrupt_Disable, Interrupt_Process
virtual bool OpenNetK::Hardware::Interrupt_Process ( unsigned int  aMessageId,
bool *  aNeedMoreProcessing 
)
virtual

Traiter une interruption.

Paramètres
aMessageIdLe message attaché a l'interruption
aNeedMoreProcessing
Valeurs retournées
falseL'adaptateur n'a pas causé l'interruption.
trueL'adaptateur a causé l'interruption.
Note
Cette methode fait partie du chemin critique.
Voir également
Interrupt_Disable, Interrupt_Enable, Interrupt_Process2
virtual void OpenNetK::Hardware::Interrupt_Process2 ( bool *  aNeedMoreProcessing)
virtual

Traiter une interruption au second niveau.

Paramètres
aNeedMoreProcessing
Note
Cette methode fait partie du chemin critique.
Voir également
Interrupt_Process, Interrupt_Process3
virtual void OpenNetK::Hardware::Interrupt_Process3 ( )
virtual

Traiter une interruption au troisième niveau.

Voir également
Interrupt_Process2
void OpenNetK::Hardware::Lock ( )
inline

Verouiller l'accès au matériel.

Note
Cette méthode fait partie du chemin critique.
Voir également
Unlock, Unlock_AfterReceive, Unlock_AfterReceive_FromThread, Unlock_AfterSend, Unlock_AfterSend_FromThread
void* OpenNetK::Hardware::operator new ( size_t  aSize_byte,
void *  aAddress 
)

Operateur new sans allocation.

Paramètres
aSize_byteLa taille
aAddressL'adresse
Note
Level = Thread, Thread = Initialisation
virtual bool OpenNetK::Hardware::Packet_Drop ( )
pure virtual

Ajouter un espace mémoire à la queue de réception.

Valeurs retournées
falsePas d'espace mémoire disponible
trueOK
virtual void OpenNetK::Hardware::Packet_Receive_NoLock ( Packet aPacket,
volatile long *  aCounter 
)
pure virtual

Ajouter le paquet à la queue de réception.

Paramètres
aPacketLe Packet
aCounterLe compteur d'op´ration
Note
Cette méthode fait partie du chemin critique.
Voir également
Lock, Unlock_AfterReceive
virtual bool OpenNetK::Hardware::Packet_Send ( const void *  aPacket,
unsigned int  aSize_byte,
bool  aPriority,
unsigned int  aRepeatCount = 1 
)
pure virtual

Ajouter le paquet à la queue de transmission.

Paramètres
aPacketLe paquet
aSize_byteLa taille du paquet
aPriorityA vrai pour les paquets prioritaire
aRepeatCountLe nombre de répétition
Valeurs retournées
falseErreur
Note
Level = SoftInt or Thread, Thread = Users
Valeurs retournées
trueOK
virtual void OpenNetK::Hardware::Packet_Send_NoLock ( uint64_t  aPacket_PA,
const void *  aPacket_XA,
unsigned int  aSize_byte,
volatile long *  aCounter 
)
pure virtual

Ajouter le paquet &agrave la queue de transmission.

Paramètres
aPacket_PALes données
aPacket_XALes données (C or M)
aSize_byteLa taille des donneés
aCounterLe compteur d'opération
Note
Cette méthode fait partie du chemin critique.
Voir également
Lock, Unlock_AfterSend
virtual void OpenNetK::Hardware::ResetMemory ( )
virtual

Réinitialiser toutes les regions de mémoire.

Note
Level = Thread, Thread = Uninitialisation
Voir également
SetMemory
virtual void OpenNetK::Hardware::SetAdapter ( Adapter aAdapter)
virtual

Connecter l'Adaptateur.

Paramètres
aAdapterL'Adaptateur
Note
Level = Thread, Thread = Initialisation
virtual void OpenNetK::Hardware::SetCommonBuffer ( uint64_t  aCommon_PA,
void *  aCommon_CA 
)
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

Note
Level = Thread, Thread = Initialisation
virtual void OpenNetK::Hardware::SetConfig ( const Adapter_Config aConfig)
virtual

Changer la configuration.

Paramètres
aConfigLa configuration
Note
Level = SoftInt or Thread, Thread = Users
virtual bool OpenNetK::Hardware::SetMemory ( unsigned int  aIndex,
void *  aMemory_MA,
unsigned int  aSize_byte 
)
virtual

Indique une région de mémoire.

Paramètres
aIndexL'index
aMemory_MAL'adresse virtuelle
aSize_byteLa taille
Valeurs retournées
falseErreur
trueOK
Note
Level = Thread, Thread = Initialisation
Voir également
ResetMemory
static void OpenNetK::Hardware::SkipDangerousBoundary ( uint64_t *  aIn_PA,
uint8_t **  aIn_XA,
unsigned int  aSize_byte,
uint64_t *  aOut_PA,
uint8_t **  aOut_XA 
)
staticprotected

Passer les dangereuses barriere de 64 Kio.

Paramètres
aIn_PA
aIn_XA(C ou M)
aSize_byte
aOut_PA
aOut_XA(C or M)
Note
Thread = Initialisation
virtual unsigned int OpenNetK::Hardware::Statistics_Get ( uint32_t *  aOut,
unsigned int  aOutSize_byte,
bool  aReset 
)
virtual

Obtenir les statistiques.

Paramètres
aOutL'espace mémoire de sortie
aOutSize_byteLa taille de l'espace mémoire de sortie
aResetRemettre les statistiques à zéro après les avoir obtenus
Renvoie
Cette méthode retourne la taille des statistiques écrites dans l'espace mémoire de sortie.
Note
Level = SoftInt or Thread, Thread = Users
virtual void OpenNetK::Hardware::Statistics_Reset ( )
virtual

Remettre les statistiques à zéro.

Note
Level = SoftInt or Thread, Thread = Users
virtual void OpenNetK::Hardware::Tx_Disable ( )
virtual

Désactiver la transmission.

Note
Level = SoftInt or Thread, Thread = Users
virtual void OpenNetK::Hardware::Tx_Enable ( )
virtual

Activer la transmission.

Note
Level = SoftInt or Thread, Thread = Users
bool OpenNetK::Hardware::Tx_IsEnabled ( ) const
inline

La transmission est-elle active?

Valeurs retournées
false
true
Note
Level = SoftInt or Thread, Thread = Users
void OpenNetK::Hardware::Unlock ( )
inline

D&eacuteverouiller l'accès au matériel.

Note
Cette méthode fait partie du chemin critique.
Voir également
Lock
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.

Paramètres
aCounterLe compteur à incrementer
aPacketQtyLe nombre de descripteurs programmés
aFlagsLa valeur à passer à SpinLock::UnlockFromThread
Voir également
Lock
virtual void OpenNetK::Hardware::Unlock_AfterReceive_Internal ( )
protectedpure virtual

La partie de Unlock_AfterReceive qui dépend du matériel.

Note
Cette méthode fait partie du chemin critique.
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.

Paramètres
aCounterLe compteur à incrementer
aPacketQtyLe nombre de descripteurs programmés
aFlagsLa valeur à passer à SpinLock::UnlockFromThread
Voir également
Lock
virtual void OpenNetK::Hardware::Unlock_AfterSend_Internal ( )
protectedpure virtual

La partie de Unlock_AfterSend qui dépend du matériel.

Note
Cette méthode fait partie du chemin critique.

La documentation de cette classe a été générée à partir du fichier suivant :