DEENESPTFRRUARHIKOZHNL

module ara::diag — Diagnostics

Spezifikation: AUTOSAR_AP_SWS_Diagnostics.pdf (R25-11) · 1055 API-Records

Guide du moduleGÉNÉRÉ PAR IA

Fournit des services de diagnostic standardisés, les protocoles UDS et SOVD ainsi qu'une gestion centrale de la mémoire des défauts.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2d21a18c42f9 Provenance Questions ouvertes (1)
Ancre causale : R25-11 Valable à partir de R25-11 Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Fournit des services de diagnostic standardisés, les protocoles UDS et SOVD ainsi qu'une gestion centrale de la mémoire des défauts.

Dans l'AUTOSAR Adaptive Platform, le cluster fonctionnel Diagnostic Management fournit l'infrastructure centrale pour le diagnostic de véhicule classique UDS et moderne SOVD (AUTOSAR_AP_EXP_SWArchitecture p. 150). En tant que démon de plateforme, il termine les couches de transport telles que DoIP, pilote les gestionnaires de protocole et transmet les requêtes de diagnostic aux Adaptive Applications via des interfaces de callback à typage fort ([SWS_DM_00311]). En même temps, le module prend en charge la surveillance des défauts, le déparasitage temporel et par compteur ainsi que la gestion de la mémoire des défauts. Les applications activent les fonctions de service via un modèle déclaratif d'offre, ce qui sépare nettement la logique applicative et le traitement du protocole.

Dans l'AUTOSAR Adaptive Platform, le cluster fonctionnel Diagnostic Management (ara::diag) fournit l'infrastructure centrale basée sur un démon pour le traitement de la communication de diagnostic adaptée aux véhicules (AUTOSAR_AP_EXP_SWArchitecture p. 150). Il découple les gestionnaires de protocole spécifiques au transport (comme DoIP ou CAN-TP) du cœur de diagnostic proprement dit (UdsTransportProtocolMgr) et permet ainsi une terminaison et une transmission uniformes des requêtes de diagnostic (AUTOSAR_AP_EXP_SWArchitecture p. 164).

G Tester Diagnose-Client / Tester (UDS / SOVD) DM «aapFunctionalCluster» Diagnostic Management (daemon-based) Tester->DM SOVD REST / HTTP TPH «aapNativeInterface» UdsTransportProtocolHandler (DoIP / CAN-TP) Tester->TPH Transport Frames DM->TPH Transmit() AA Adaptive Application (Service Provider / Client) DM->AA Port Interfaces / Callbacks (Routine / DataIdentifier) SM «aapFunctionalCluster» State Management (Reset / Rapid Shutdown) DM->SM EcuResetRequest TPH->DM UdsMessage / HandleMessage() AA->DM Offer() / MonitorAction / DTCInformation

Diagramme de contexte : intégration du démon de Diagnostic Management entre gestionnaires de transport, Adaptive Applications et testeurs externes. Sources : AUTOSAR_AP_EXP_SWArchitecture p. 150, AUTOSAR_AP_EXP_SWArchitecture p. 164, AUTOSAR_AP_EXP_SWArchitecture p. 168

Pour le traitement des services, le module implémente un modèle de mise à disposition déclaratif : le démon de diagnostic réalise les interfaces de port, tandis que les Adaptive Applications enregistrent des callbacks de service pour les DataIdentifier, les routines ou les transferts par blocs et contrôlent leur disponibilité via Offer() ou StopOffer() ([SWS_DM_00557], AUTOSAR_AP_EXP_SWArchitecture p. 156). Les messages entrants sont traités sans faille via des mécanismes d'indication et de transmission à deux niveaux (IndicateMessage et HandleMessage) ([SWS_DM_00309], [SWS_DM_00311]).

Traitement de la requête UDS et transmission à l'applicationDiagnosetesterTransport HandlerGestion des diagnosticsAdaptive ApplicationUDS Request FrameIndicateMessage(sourceAddr, targetAddr, ...)pair<kAccept, UdsMessagePtr>altUDS Request akzeptiertHandleMessage(UdsMessagePtr)Service Callback (z. B. Read / Start)Future<OperationOutput>Transmit(UdsMessageConstPtr, channelId)UDS Positive / Negative ResponseUDS Request abgelehnt / FehlerNotifyMessageFailure(UdsMessagePtr)

Diagramme de séquence : flux de contrôle de bout en bout d'une requête UDS depuis la couche de transport jusqu'à l'application utilisatrice en passant par le gestionnaire de diagnostic. Sources : [SWS_DM_00309], [SWS_DM_00311], [SWS_DM_00327], AUTOSAR_SWS_Diagnostics p. 130

En plus des fonctions UDS classiques, le cluster gère des moniteurs de diagnostic, exécute les déparasitages configurés et persiste les défauts qualifiés dans la mémoire des défauts primaire (DTCInformation) ([SWS_DM_00664], SWS_Diagnostics p. 225). Les standards étendus tels qu'ISO 13400-2 (DoIP) et ASAM SOVD (Service-Oriented Vehicle Diagnostics) sont intégrés de manière transparente dans la plateforme via des interfaces spécialisées pour les lignes d'activation, les authentifications et les données utiles JSON hiérarchiques ([SWS_DM_00834], [SWS_DM_02370], AUTOSAR_AP_EXP_SWArchitecture p. 170).

Rôle architectural et limites système du Diagnostic Management

Dans l'AUTOSAR Adaptive Platform (release R25-11), le cluster fonctionnel Diagnostic Management (ara::diag) constitue le point névralgique central pour le diagnostic embarqué et externe du véhicule (AUTOSAR_AP_EXP_SWArchitecture p. 150). Sur le plan architectural, le module est conçu comme un service d'arrière-plan basé sur un démon («aapFunctionalCluster» Diagnostic Management daemon-based). Il termine les protocoles de diagnostic physiques et logiques, gère le contexte global de diagnostic et fournit l'infrastructure middleware par laquelle les Adaptive Applications individuelles peuvent mettre à disposition des données et des routines liées au diagnostic (AUTOSAR_AP_EXP_SWArchitecture p. 156).

Le paysage des interfaces se divise principalement en deux catégories : les interfaces de port modélisées, qui sont configurées via le manifeste AUTOSAR et liées aux processus applicatifs, ainsi que les interfaces d'exécution C++ natives (AUTOSAR_AP_EXP_SWArchitecture p. 150). Parmi les interfaces natives figure notamment la classe Conversation, par laquelle les applications peuvent interroger les états de session actuels ([SWS_DM_00696]), déterminer les niveaux de sécurité ([SWS_DM_00698]) ou inspecter les conversations de diagnostic actives ([SWS_DM_00783]). Interprétation : la séparation stricte entre le démon de diagnostic central et les processus utilisateurs a vraisemblablement été choisie afin de garantir des temps de réponse déterministes vis-à-vis des testeurs externes, même lors de redémarrages de processus d'applications individuelles. Question Q-2e2ea8eb9d415fed (ouverte)

G Tester Diagnose-Client / Tester (UDS / SOVD) DM «aapFunctionalCluster» Diagnostic Management (daemon-based) Tester->DM SOVD REST / HTTP TPH «aapNativeInterface» UdsTransportProtocolHandler (DoIP / CAN-TP) Tester->TPH Transport Frames DM->TPH Transmit() AA Adaptive Application (Service Provider / Client) DM->AA Port Interfaces / Callbacks (Routine / DataIdentifier) SM «aapFunctionalCluster» State Management (Reset / Rapid Shutdown) DM->SM EcuResetRequest TPH->DM UdsMessage / HandleMessage() AA->DM Offer() / MonitorAction / DTCInformation

Diagramme de contexte : intégration du démon de Diagnostic Management entre gestionnaires de transport, Adaptive Applications et testeurs externes. Sources : AUTOSAR_AP_EXP_SWArchitecture p. 150, AUTOSAR_AP_EXP_SWArchitecture p. 164, AUTOSAR_AP_EXP_SWArchitecture p. 168

Raccordement de la couche de transport et contrôle du cycle de vie des gestionnaires de protocole

Afin d'agir indépendamment des technologies de réseau spécifiques (comme Ethernet/DoIP ou CAN/ISO-TP), le Diagnostic Management découple le cœur de protocole via des interfaces de transport standardisées (AUTOSAR_AP_EXP_SWArchitecture p. 164). Le cœur générique implémente l'interface UdsTransportProtocolMgr, tandis que les adaptateurs spécifiques au transport sont raccordés en tant que UdsTransportProtocolHandler (AUTOSAR_AP_EXP_SWArchitecture p. 165). Chaque gestionnaire est identifié par un identifiant unique, qui peut être interrogé via GetHandlerID() ([SWS_DM_00325]).

Le contrôle du cycle de vie d'un gestionnaire de transport se divise en phases de fonctionnement déterministes (AUTOSAR_SWS_Diagnostics p. 128) : lors du démarrage, le Diagnostic Management initialise le gestionnaire via Initialize() ([SWS_DM_00319]), puis active le traitement des messages au moyen de Start() ([SWS_DM_00322]). Lors de l'arrêt contrôlé, le gestionnaire invite le gestionnaire via Stop() à fermer les connexions ouvertes ([SWS_DM_00323]), à la suite de quoi le gestionnaire acquitte l'achèvement via HandlerStopped() ([SWS_DM_00314]).

Pour les sessions de diagnostic de longue durée, AUTOSAR spécifie en outre un mécanisme de restauration à travers les cycles de vie des processus (AUTOSAR_SWS_Diagnostics p. 134). Si un canal précédemment persisté peut être rétabli après un redémarrage du gestionnaire de diagnostic, le gestionnaire de transport le signale via NotifyReestablishment() ([SWS_DM_00326]). Le gestionnaire synchronise l'état en interne et le confirme par l'appel de ChannelReestablished() ([SWS_DM_00313]).

Cycle de vie d'un gestionnaire de transport UDSDiagnostic Management (DM_Generic)UdsTransportProtocolHandlerUse Case: InitialisierungsphaseInitialize()kSuccessStart()Use Case: Betriebsphase (Run)Traitement des messages UDS et communication de diagnostic actifsUse Case: Terminierungsphase (Shutdown)Stop()HandlerStopped(handlerId)

Diagramme de séquence : contrôle du cycle de vie d'un gestionnaire de transport UDS par le gestionnaire de diagnostic générique. Sources : [SWS_DM_00314], [SWS_DM_00319], [SWS_DM_00322], [SWS_DM_00323], AUTOSAR_SWS_Diagnostics p. 128

Traitement des services UDS et gestion des requêtes spécifique à l'application

Après la validation du protocole, les messages UDS entrants sont traités étape par étape (AUTOSAR_SWS_Diagnostics p. 130). Tout d'abord, le gestionnaire de transport annonce le début d'un message auprès du gestionnaire via IndicateMessage() afin d'allouer des ressources et des tampons ([SWS_DM_00309]). Le message est encapsulé sous forme de UdsMessage, qui fournit l'adresse source ([SWS_DM_00297]), l'adresse cible ([SWS_DM_00298]) et le type d'adressage ([SWS_DM_00299]). Après réception complète, le gestionnaire transmet l'objet de données au Diagnostic Management via HandleMessage() ([SWS_DM_00311]), les métadonnées spécifiques au canal étant complétées au moyen de AddMetaInfo() ([SWS_DM_00302]).

Dans la release R25-11, l'interaction entre le démon de plateforme et l'application suit un modèle de fourniture de service inversé (AUTOSAR_AP_EXP_SWArchitecture p. 156) : le démon de plateforme réalise les ports de service, tandis que les Adaptive Applications implémentent des méthodes de callback et activent explicitement leur disponibilité pour la transmission via Offer() ([SWS_DM_00557]) ou la suspendent via StopOffer() ([SWS_DM_00558]). Cela s'applique de la même manière aux routines génériques (GenericRoutine [SWS_DM_00552]), aux routines typées (RoutineInterface [SWS_DM_00589] avec Start [SWS_DM_00591]), aux identifiants de données (GenericDataIdentifier [SWS_DM_00634] avec Read [SWS_DM_00636] et Write [SWS_DM_00637]) ainsi qu'aux services UDS génériques (GenericUDSService [SWS_DM_00616] avec HandleMessage [SWS_DM_00618]).

Les transactions de diagnostic de plus longue durée (comme les transferts par blocs via UploadService [SWS_DM_00797], DownloadService [SWS_DM_00787] ou FileTransferService [SWS_DM_01325] selon AUTOSAR_AP_EXP_SWArchitecture p. 163) sont traitées de manière asynchrone via ara::core::Future. Pour éviter le blocage des ressources, les gestionnaires spécifiques à l'application reçoivent une instance de CancellationHandler (AUTOSAR_AP_EXP_SWArchitecture p. 152). Via IsCanceled(), l'application peut vérifier une éventuelle annulation ([SWS_DM_00614]) ou enregistrer une fonction de notification via SetNotifier() ([SWS_DM_00615]). Pour les redémarrages coordonnés, l'interface EcuResetRequest est fournie ([SWS_DM_01010]), laquelle délègue les requêtes de réinitialisation au State Management (AUTOSAR_AP_EXP_SWArchitecture p. 162).

Traitement de la requête UDS et transmission à l'applicationDiagnosetesterTransport HandlerGestion des diagnosticsAdaptive ApplicationUDS Request FrameIndicateMessage(sourceAddr, targetAddr, ...)pair<kAccept, UdsMessagePtr>altUDS Request akzeptiertHandleMessage(UdsMessagePtr)Service Callback (z. B. Read / Start)Future<OperationOutput>Transmit(UdsMessageConstPtr, channelId)UDS Positive / Negative ResponseUDS Request abgelehnt / FehlerNotifyMessageFailure(UdsMessagePtr)

Diagramme de séquence : flux de contrôle de bout en bout d'une requête UDS depuis la couche de transport jusqu'à l'application utilisatrice en passant par le gestionnaire de diagnostic. Sources : [SWS_DM_00309], [SWS_DM_00311], [SWS_DM_00327], AUTOSAR_SWS_Diagnostics p. 130

Surveillance des événements, déparasitage et gestion de la mémoire des défauts

Pour la détection et la qualification des défauts système, Diagnostic Management implémente un modèle hiérarchique composé de moniteurs et d'événements de diagnostic (SWS_Diagnostics p. 225). Une application instancie un objet Monitor ([SWS_DM_00548]) et signale en continu les résultats de test via ReportMonitorAction() ([SWS_DM_00543]). Le module prend en charge aussi bien des algorithmes de filtrage antirebond basés sur des compteurs que basés sur le temps ([SWS_DM_00549], [SWS_DM_00550]). L'interface Event permet aux applications de déterminer la valeur actuelle de l'octet d'état UDS ([SWS_DM_00649]), de vérifier l'état du filtrage antirebond ([SWS_DM_00654]) ou d'enregistrer des rappels de changement d'état ([SWS_DM_00650]).

Afin de maintenir une faible empreinte de ports dans les systèmes complexes, la plateforme met à disposition des interfaces groupées (AUTOSAR_AP_EXP_SWArchitecture p. 153) : via MultipleMonitor ([SWS_DM_01695]), MultipleEvent ([SWS_DM_01705]) et MultipleCondition ([SWS_DM_01727]), plusieurs canaux de surveillance peuvent être adressés au moyen d'une interface de port commune. La gestion de l'autorisation pour les moniteurs s'effectue via des objets Condition ([SWS_DM_00712]), tandis que OperationCycle ([SWS_DM_00752]) et Indicator ([SWS_DM_00742], SWS_Diagnostics p. 633) pilotent les cycles de fonctionnement et signalent les demandes de voyant d'alerte.

Les événements agrégés aboutissent à la gestion de la mémoire des défauts, qui est exposée via DTCInformation ([SWS_DM_00664], AUTOSAR_AP_EXP_SWArchitecture p. 144). Cette interface permet la lecture des entrées enregistrées ([SWS_DM_00669]), l'effacement sélectif ou global des DTC ([SWS_DM_00671]) et l'activation de l'enregistrement des DTC ([SWS_DM_00674]). En cas de dépassement de capacité de la mémoire primaire, l'application est notifiée via SetEventMemoryOverflowNotifier() ([SWS_DM_00918], [SWS_DM_00919]).

G App Adaptive Application (Fehlererkennung) Mon ara::diag::Monitor ReportMonitorAction() App->Mon kPreFailed / kPrePassed Deb Débruitage (basé sur le temps / compteur) Mon->Deb Aktion melden Evt ara::diag::Event EventStatusByte Deb->Evt Entprellstatus qualifiziert (kTestFailed / kTestPassed) Mem DTCInformation Fehlerspeichereintrag Evt->Mem Changement de statut / DTC actif

Diagramme d'états/d'activités : déroulement depuis l'action du moniteur jusqu'à la qualification du DTC dans la mémoire des défauts en passant par le filtrage antirebond. Sources : [SWS_DM_00543], [SWS_DM_00649], [SWS_DM_00664], SWS_Diagnostics p. 225

Protocoles de diagnostic avancés : intégration DoIP et services SOVD

Pour les réseaux de véhicules basés sur Ethernet, le module intègre des fonctions DoIP dédiées (Diagnostic communication over Internet Protocol selon ISO 13400-2) (AUTOSAR_AP_EXP_SWArchitecture p. 166, AUTOSAR_AP_EXP_SWArchitecture p. 167). Les extensions de plateforme signalent l'état des lignes d'activation physique via DoIPActivationLine::UpdateActivationLineState() ([SWS_DM_00834], AUTOSAR_AP_TPS_ManifestSpecification p. 338). Sur cette base, des messages d'annonce de véhicule (Vehicle Announcement Messages) peuvent être déclenchés via DoIPTriggerVehicleAnnouncement ([SWS_DM_00821], [SWS_DM_00822], AUTOSAR_AP_SWS_Diagnostics p. 108). L'identification de groupe et d'entité est interrogée dynamiquement via DoIPGroupIdentification ([SWS_DM_00722]) et DoIPEntityIdentification ([SWS_DM_01364], [SWS_DM_01366]).

Ligne d'activation DoIP et séquence d'annonceApplikation / Hardware-TreiberDoIPActivationLineDiagnostic Management (DoIP-Daemon)Netzwerk (Broadcast)UpdateActivationLineState(true)Signalisiere LeitungszustandoptisActivationLineDependent == trueGetActivationLineState()trueVehicle Announcement Message (UDP)

Diagramme de séquence : interaction entre l'application, la ligne d'activation et le déclenchement des annonces de véhicule DoIP. Sources : [SWS_DM_00822], [SWS_DM_00834], AUTOSAR_AP_SWS_Diagnostics p. 108

En plus des services UDS classiques, la release R25-11 établit des interfaces natives pour SOVD (Service-Oriented Vehicle Diagnostics, ASAM SOVD / ISO 13170) (AUTOSAR_AP_EXP_SWArchitecture p. 168). Les données de diagnostic structurées sont modélisées via DiagnosticSovdContentElementData ([SWS_DM_02370], AUTOSAR_AP_EXP_SWArchitecture p. 170). Des classes de type STL à sûreté de typage telles que DiagnosticSovdArrayContentElementDataView ([SWS_DM_02245], AUTOSAR_AP_EXP_SWArchitecture p. 172) et DiagnosticSovdRecordContentElementDataView ([SWS_DM_02289], AUTOSAR_AP_EXP_SWArchitecture p. 174) sont disponibles pour manipuler des charges utiles complexes analogues à JSON.

Pour les transactions SOVD avancées et les mécanismes de protection, le module définit des rôles standardisés : les volumes de données importants (tels que les traces ou les crash-dumps) sont transférés via SovdBulkData ([SWS_DM_01847], [SWS_DM_01854], AUTOSAR_AP_TPS_ManifestSpecification p. 321). Le contrôle d'accès s'effectue par des vérifications de jeton et de proximité via SovdAuthorization ([SWS_DM_01489]) et SovdProximityChallenge ([SWS_DM_01480], [SWS_DM_01493]), tandis que les vérifications de service sont autorisées via SovdServiceValidation ([SWS_DM_01823], [SWS_DM_01827]).

Comportement en cas d'erreur

La gestion des erreurs du module diag repose sur le modèle standard AUTOSAR ara::core::Result<T, ErrorCode> et exclut totalement les états d'erreur silencieux. En fonction de leurs causes fonctionnelles, les erreurs sont réparties en cinq domaines d'erreur spécialisés (ErrorDomain), qui définissent aussi bien des codes d'erreur que les classes d'exception correspondantes :

  • Erreurs de diagnostic générales : Le DiagErrorDomain ([SWS_DM_00520], [SWS_DM_00524]) et le DiagException associé ([SWS_DM_00516]) signalent des erreurs fondamentales de plateforme ou de configuration telles que des arguments non valides ou des instances non initialisées.
  • UDS Negative Response Codes (NRC) : Les rejets protocolaires UDS spécifiques selon ISO 14229 sont représentés via le DiagUdsNrcErrorDomain ([SWS_DM_00532], [SWS_DM_00536]) et DiagUdsNrcException ([SWS_DM_00528]).
  • Erreurs de fourniture de service : Si l'activation ou la désactivation d'interfaces de port échoue, le DiagOfferErrorDomain ([SWS_DM_00992], [SWS_DM_01003]) intervient avec le DiagOfferException ([SWS_DM_00986]).
  • Erreurs de signalement d'événements et de moniteurs : Les erreurs survenues pendant le signalement d'état par les moniteurs sont indiquées par le DiagReportingErrorDomain ([SWS_DM_00999], [SWS_DM_01004]) et DiagReportingException ([SWS_DM_00988]).
  • Erreurs de protocole SOVD : Les erreurs dans les points de terminaison REST, les contenus JSON ou le contrôle d'accès sont signalées via le DiagSovdErrorDomain ([SWS_DM_01812], [SWS_DM_01816]) et DiagSovdException ([SWS_DM_01808]).

Au niveau de la couche de transport, les interruptions de transmission, les débordements de tampon ou les ruptures de connexion sont signalés à Diagnostic Management par le rappel NotifyMessageFailure() ([SWS_DM_00310]). Cela permet au module de libérer sans délai les ressources allouées et, le cas échéant, de déclencher l'envoi de messages de réponse négative au testeur.

G Core ara::core::Result<T, ErrorCode> DE DiagErrorDomain (Allgemeine Diagnosefehler) Core->DE NRC DiagUdsNrcErrorDomain (ISO 14229 Negative Response Codes) Core->NRC Offer DiagOfferErrorDomain (erreur lors d'Offer / StopOffer) Core->Offer Rep DiagReportingErrorDomain (erreur lors des notifications de moniteur) Core->Rep SOVD DiagSovdErrorDomain (SOVD REST- / Inhaltsfehler) Core->SOVD

Diagramme de classes : architecture des domaines d'erreur et affectation des codes d'exception et d'erreur standardisés dans Diagnostic Management. Sources : [SWS_DM_00520], [SWS_DM_00532], [SWS_DM_00992], [SWS_DM_00999], [SWS_DM_01812]

Preuves détaillées supplémentaires

La base normative du module diag s'appuie sur trois documents de spécification centraux de l'AUTOSAR Adaptive Platform :

Ce guide de module a été généré sur la base des spécifications AUTOSAR Adaptive pour la release R25-11. Toutes les exigences normatives sont issues des documents SWS et d'architecture référencés.

function: 755 variable: 102 class: 79 type alias: 45 struct: 39 enumeration: 35

Carte des thèmes

ara::diag

131
AuthenticationCancellationHandlerClientAuthenticationClientAuthenticationHandleCommunicationControlConditionConversationCounterBasedDataIdentifierConcurrencyTypeDataTransferReadByPullHandlerDataTransferReadByPushHandlerDataTransferReadSessionDataTransferReadSharedDataHandlerDataTransferWriteHandlerDataTransferWriteSessionDiagErrorDomainDiagExceptionDiagnosticServiceDynamicAccessListDiagnosticSovdArrayContentElementDataConstIteratorDiagnosticSovdArrayContentElementDataConstViewDiagnosticSovdArrayContentElementDataIteratorDiagnosticSovdArrayContentElementDataViewDiagnosticSovdContentDataDiagnosticSovdContentElementDataDiagnosticSovdContentElementDataWithKeyDiagnosticSovdRecordContentElementDataConstIteratorDiagnosticSovdRecordContentElementDataConstViewDiagnosticSovdRecordContentElementDataIteratorDiagnosticSovdRecordContentElementDataViewDiagOfferErrorDomainDiagOfferExceptionDiagReportingErrorDomainDiagReportingExceptionDiagSovdErrorDomainDiagSovdExceptionDiagUdsNrcErrorDomainDiagUdsNrcExceptionDoIPActivationLineDoIPEntityIdentificationDoIPGroupIdentificationDoIPPowerModeDoIPTriggerVehicleAnnouncementDownloadServiceDTCInformationDynamicAccessListDiagServiceBuilderEcuResetRequestEventEventStatusByteExternalAuthenticationFileTransferServiceGenericDataIdentifierGenericDiagnosticSovdContentGenericDiagnosticSovdOperationGenericRoutineGenericUDSServiceHttpRedirectIndicatorMetaInfoMonitorMultipleConditionMultipleEventMultipleMonitorOperationCycleReleaseHandlerSecurityAccessServiceValidationSovdAuthorizationSovdBulkDataSovdConfigurationSovdContentConcurrencyTypeSovdOperationExecutionSovdProximityChallengeSovdProximityChallengeTypeSovdServiceValidationSovdSwUpdateTimeBasedTransmitCertificateUploadServiceGetDiagDomainGetDiagOfferDomainGetDiagReportingDomainGetDiagSovdErrorDomainGetDiagUdsNrcDomainMakeErrorCodeActivityStatusTypeConcurrencyTypeConditionTypeConfirmationStatusTypeControlDtcStatusTypeDataTransferExitTypeDebouncingStateDiagErrcDiagnosticSovdContentElementDataTypeDiagnosticSovdPrimitiveContentValueTypeDiagOfferErrcDiagReportingErrcDiagSovdErrcDiagUdsNrcErrcDTCFormatTypeEventStatusBitIndicatorStatusTypeInitMonitorReasonKeyCompareResultTypeMonitorActionOperationExecutionCapabilityOperationExecutionStatusPowerModeTypeProximityChallengeResultTypeSovdRequestMethodSovdUpdatePhaseSovdUpdateStatusTerminateOperationExecutionReasonUdsDtcStatusBitTypeConditionHandleTypeEventHandleTypeEventStatusByteNotifierInitMonitorNotifierMonitorHandleTypeProximityChallengeValidationResultTypeResetRequestTypeSecurityLevelTypeSessionControlTypekCustomResetkDefaultSessionkExtendedDiagnosticSessionkHardResetkKeyOffOnResetkLockedkProgrammingSessionkSafetySystemDiagnosticSessionkSoftReset

Vue détaillée

Sélectionnez une entrée dans le plan.

<DataElement-Namespace>

DiagnosticDataElementInterface class

<DataIdentifier-Namespace>

DiagnosticDataIdentifierInterface class

<ExtendedDataRecord-Namespace>

DiagnosticExtendedDataRecordInterface class

<RoutineInterface-Namespace>

DiagnosticRoutineInterface class

apext::diag::uds_transport

UdsMessage classe

class represents an UDS message exchanged between DM generic core (UdsTransport ProtocolMgr) and a specific implementation of UdsTransportPr

Abstract Class, which a specific UDS Transport Protocol (plugin) shall subclass.

The UdsTransportProtocolMgr class manages the interaction between the Diagnostic Server instance(s) and various UDS Transport Protocols (e.g

UdsTransportProtocolPeriodicHandler class to support 0x2A service from ISO.

ByteSpan alias de type

This is the type of ByteSpan.

using ByteSpan = ara::core::Span<ara::core::Byte>;
ChannelID alias de type

This is the identification of channel on which to transmit.

using ChannelID = std::uint32_t;
UdsMessageConstPtr alias de type

This is the unique_ptr for constant UdsMessages containing a custom deleter as provided by the generic/core DM part towards the UdsTransportLayer-Plugin.

using UdsMessageConstPtr = std::unique_ptr<const UdsMessage, std::function<void(const UdsMessage*)>>;
UdsMessagePtr alias de type

This is the unique_ptr for UdsMessages containing a custom deleter as provided by the generic/ core DM part towards the UdsTransportLayer-Plugin.

using UdsMessagePtr = std::unique_ptr<UdsMessage, std::function<void(UdsMessage*)>>;

UdsTransportProtocolHandler are flexible "plugins", which need an identification.

using UdsTransportProtocolHandlerID = std::uint8_t;

ara::diag

Class to implement the Service Authentication interfaces to application.

CancellationHandler contains a shared state if the processing should be cancelled.

Interface for the application to inform the Diagnostic Server instance about the authentication states and the user roles that are currently

Definition of the ClientAuthenticationHandle which is returned to the application when an AuthenticationState is set by the application.

0x28 CommunicationControl interface

Condition classe

DiagnosticConditionInterface.

Conversation interface.

Represents the parameters for counter-based debouncing.

Specifies the Concurrency type of a DataIdentifier related port.

Handles data transfers initiated by RequestReadFile/-Directory with data pulled by AraDiag from the implementation.

Handles data transfers initiated by RequestReadFile/-Directory with data pushed by the implementation.

Encapsulates all data transfer reading variants.

Handles data transfers initiated by RequestReadFile/-Directory with shared data from the implementation.

Handles data transfers initiated by AddFile, ResumeFile or ReplaceFile ModeOfOperation handling per requested RequestWriteFile.

Encapsulates all data transfer writing variants.

Error domain for diagnostic errors.

hérite de ara::core::ErrorDomain

Exception type thrown by Diag classes.

hérite de ara::core::Exception

Definition of the DiagnosticServiceDynamicAccessList class, which is used by the application to build a DynamicAccessList.

Const iterator for a DiagnosticSovdArrayContentElementData.

Const view on a DiagnosticSovdContentElementData with Array type.

Iterator for a DiagnosticSovdArrayContentElementData.

View on a DiagnosticSovdContentElementData with Array type.

The DiagnosticSovdContentData declaration.

Diagnostic SOVD Abstract Content Data.

A DiagnosticSovdContentElementData with associated key.

Const iterator for a DiagnosticSovdRecordContentElementData.

Const view on a DiagnosticSovdContentElementData with Record type.

Iterator for a DiagnosticSovdRecordContentElementData.

View on a DiagnosticSovdContentElementData with Record type.

Error domain for diagnostic offer errors.

hérite de ara::core::ErrorDomain

Exception type thrown by Diag classes.

hérite de ara::core::Exception

Error domain for diagnostic reporting errors.

hérite de ara::core::ErrorDomain

Exception type thrown by Diag classes.

hérite de ara::core::Exception

Error domain for errors originating from SOVD.

hérite de ara::core::ErrorDomain

Exception type for SOVD thrown by Diag classes.

hérite de ara::core::Exception

Error domain for errors originating from several diagnostic classes.

hérite de ara::core::ErrorDomain

Exception type thrown by Diag classes.

hérite de ara::core::Exception

DiagnosticDoIPActivationLineInterface.

DoIPEntityIdentification class to obtain the EID if required.

DoIPGroupIdentificationInterface.

DiagnosticDoIPPowerModeInterface.

DiagnosticDoIPTriggerVehicleAnnouncement.

Download service interface.

Class to implement operations on DTC informations per configured DiagnosticMemory Destination.

Definition of the DynamicAccessListDiagServiceBuilder class, which is used by the application to build a DynamicAccessList.

Service EcuReset Request interface.

Event classe

Class to implement operations on diagnostic Events.

Current event status byte, bit-encoded.

Definition of the ExternalAuthentication class, which is used by the application to receive an instance of the ClientAuthentication Class re

File Transfer service interface.

Generic DataIdentifier interface.

Generic Diagnostic SOVD Content interface.

Generic Diagnostic SOVD Operation interface .

Generic Routine interface.

Generic UDS interface.

Definition of HTTP-Redirect

Indicator classe

DiagnosticIndicatorInterface provides functionality for handling indicators.

MetaInfo classe

Metainfo interface.

Monitor classe

Class to implement operations on diagnostic Monitor interface.

Class for multiple condition operations.

Class to implement operations on diagnostic Events with the multiple event interfaces.

Class to implement monitor operations on the multiple monitor interfaces.

DiagnosticOperationCycleInterface provides functionality for handling of operation cycles.

ReleaseHandler contains a shared state if the processing should be cancelled.

DiagnosticSecurityAccessInterface.

DiagnosticServiceValidationInterface.

Class to implement the SOVD Authorization interfaces in the application.

Generic SOVD Bulk Data interface.

Generic SOVD Configuration interface.

Specifies the Concurrency type of a SOVD Content related port.

Interface to handle the SOVD Operation Execution .

Class to implement the SOVD proximity_challenge interfaces in the application.

Holds the data returned by the SovdProximityChallenge::GetChallenge()

Class to implement manufacturer-/supplier-specific checks for SOVD in the application.

Class to implement the SovdSwUpdate interface.

TimeBased classe

Represents the parameters for time-based debouncing.

Class to implement the subfunction TransmitCertificate (29 04) of UDS service Authentication as interface to application

Upload service interface.

GetDiagDomain fonction

Obtain the reference to the single global DiagErrorDomain instance.

constexpr const ara::core::ErrorDomain & GetDiagDomain () noexcept;

Obtain the reference to the single global DiagErrorDomain instance.

constexpr const ara::core::ErrorDomain & GetDiagOfferDomain () noexcept;

Obtain the reference to the single global DiagReportingErrorDomain instance.

constexpr const ara::core::ErrorDomain & GetDiagReportingDomain () noexcept;

Obtain the reference to the single global DiagSovdErrorDomain instance.

constexpr const ara::core::ErrorDomain & GetDiagSovdErrorDomain () noexcept;

Obtain the reference to the single global DiagUdsNrcErrorDomain instance.

constexpr const ara::core::ErrorDomain & GetDiagUdsNrcDomain () noexcept;
MakeErrorCode fonction 5

Create a new ErrorCode for DiagErrorDomain with the given support data type.

Surcharges MakeErrorCode 5
ActivityStatusType énumération

Type for current activity status.

enum class ActivityStatusType : std::uint8_t {...};
ConcurrencyType énumération

Specifies the Concurrency types.

enum class ConcurrencyType : std::uint8_t {...};
ConditionType énumération

Type for Condition status.

enum class ConditionType : std::uint8_t {...};

Represents the status of the service processing.

enum class ConfirmationStatusType : std::uint8_t {...};
ControlDtcStatusType énumération

Type for ControlDTCStatus status as requested by UDS service 0x85 ControlDTCSetting.

enum class ControlDtcStatusType : std::uint8_t {...};
DataTransferExitType énumération

Determines transfer exit signal type.

enum class DataTransferExitType : ara::core::Byte {...};
DebouncingState énumération

Debounce status of event.

enum class DebouncingState : std::uint8_t {...};
DiagErrc énumération

Specifies the types of internal errors that can occur upon calling Offer or ReportMonitorAction.

enum class DiagErrc : ara::core::ErrorDomain::CodeType {...};

The type of the SOVD content data.

enum class DiagnosticSovdContentElementDataType : std::uint8_t {...};

The primitive content element value types.

enum class DiagnosticSovdPrimitiveContentValueType : std::uint8_t {...};
DiagOfferErrc énumération

The DiagOfferErrc enumeration defines the error codes for the DiagOfferErrorDomain.

enum class DiagOfferErrc : ara::core::ErrorDomain::CodeType {...};
DiagReportingErrc énumération

The DiagReportingErrc enumeration defines the error codes for the DiagReportingErrorDomain.

enum class DiagReportingErrc : ara::core::ErrorDomain::CodeType {...};
DiagSovdErrc énumération

Specifies the types of errors that can occur in SOVD services.

enum class DiagSovdErrc : ara::core::ErrorDomain::CodeType {...};
DiagUdsNrcErrc énumération

Specifies the types of internal errors that can occur upon calling Offer or ReportMonitorAction. The error codes described are defined in ISO 14229-1:2020 [1], Table A.1 "Negative Response Codes". In AUTOSAR, the three negative response code ranges, 0x00, 0x01-0x7F and 0x80-0xFF are respected, however, the value 0xFF is used to internally indicate, that there is no further processing and no response handling foreseen.

enum class DiagUdsNrcErrc : ara::core::ErrorDomain::CodeType {...};
DTCFormatType énumération

Represents the type of the DTC format according to ISO 14229-1 [30].

enum class DTCFormatType : std::uint8_t {...};
EventStatusBit énumération

Single event status bits.

enum class EventStatusBit : std::uint8_t {...};
IndicatorStatusType énumération

Represents the state of an indicator.

enum class IndicatorStatusType : std::uint8_t {...};
InitMonitorReason énumération

Represents the status information reported to AAs why the monitor may be re-initalized.

enum class InitMonitorReason : std::uint32_t {...};
KeyCompareResultType énumération

Represents the status of the key compare.

enum class KeyCompareResultType : std::uint8_t {...};
MonitorAction énumération

Represents the status information reported by AAs being relevant for error monitoring.

enum class MonitorAction : std::uint32_t {...};

The standard operation execution capabilities .

enum class OperationExecutionCapability : std::uint8_t {...};

The operation execution status .

enum class OperationExecutionStatus : std::uint8_t {...};
PowerModeType énumération

PowerMode as defined in ISO 13400-2 [2].

enum class PowerModeType : std::uint8_t {...};

This is the type of ProximityChallengeResultType.

enum class ProximityChallengeResultType : std::uint8_t {...};
SovdRequestMethod énumération

HTTP method used in the SOVD request.

enum class SovdRequestMethod : std::uint8_t {...};
SovdUpdatePhase énumération

Phase type for a SOVD update.

enum class SovdUpdatePhase : std::uint8_t {...};
SovdUpdateStatus énumération

Status type for a SOVD update .

enum class SovdUpdateStatus : std::uint8_t {...};

The Terminate Operation reason .

enum class TerminateOperationExecutionReason : std::uint8_t {...};
UdsDtcStatusBitType énumération

UDS DTC status bits according to ISO 14229-1.

enum class UdsDtcStatusBitType : std::uint8_t {...};
ConditionHandleType alias de type

Type to identify a condition.

using ConditionHandleType = std::uint8_t;
EventHandleType alias de type

Type to identify an event.

using EventHandleType = std::uint32_t;

Register a notifier function which is called if a diagnostic event is changed.

using EventStatusByteNotifier = std::function<void(EventStatusByte)>;
InitMonitorNotifier alias de type

Notifier function which is called if the monitor needs to be re-initialized.

using InitMonitorNotifier = std::function<void(InitMonitorReason)>;
MonitorHandleType alias de type

Type to identify an monitor .

using MonitorHandleType = std::uint32_t;

This is the type of ProximityChallengeValidationResultType.

using ProximityChallengeValidationResultType = ProximityChallenge ResultType;
ResetRequestType alias de type

The type of the requested reset.

using ResetRequestType = std::uint8_t;
SecurityLevelType alias de type

Type for the active security level. .

using SecurityLevelType = std::uint8_t;
SessionControlType alias de type

Type for the active diagnostic session. .

using SessionControlType = std::uint8_t;
kCustomReset variable

kCustomReset

constexpr ResetRequestType kCustomReset = 3;

Default session according to IS0 14229-1.

constexpr SessionControlType kDefaultSession = 0x01;

Extended diagnostic session according to IS0 14229-1.

constexpr SessionControlType kExtendedDiagnosticSession = 0x03;
kHardReset variable

HardReset.

constexpr ResetRequestType kHardReset = 1;

KeyOffOnReset.

constexpr ResetRequestType kKeyOffOnReset = 2;
kLocked variable

Security level locked.

constexpr SecurityLevelType kLocked = 0x00;

Programming session according to IS0 14229-1.

constexpr SessionControlType kProgrammingSession = 0x02;

Safety system diagnostic session according to IS0 14229-1.

constexpr SessionControlType kSafetySystemDiagnosticSession = 0x04;
kSoftReset variable

SoftReset.

constexpr ResetRequestType kSoftReset = 0;

Namespaces

Diagramme de classes UML du module

Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.

G cluster_1 <DataElement-Namespace> cluster_2 <DataElement-Namespace>::<DataElementInterface> cluster_3 <DataIdentifier-Namespace> cluster_4 <DataIdentifier-Namespace>::<DataIdentifierInterface> cluster_5 <ExtendedDataRecord-Namespace> cluster_6 <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface> cluster_7 <RoutineInterface-Namespace> cluster_8 <RoutineInterface-Namespace>::<RoutineInterface> cluster_9 apext::diag::uds_transport cluster_10 ara::diag cluster_11 ara::diag::CommunicationControl cluster_12 ara::diag::Conversation cluster_13 ara::diag::DTCInformation cluster_14 ara::diag::DoIPEntityIdentification cluster_15 ara::diag::DoIPGroupIdentification cluster_16 ara::diag::DownloadService cluster_17 ara::diag::DynamicAccessListDiagServiceBuilder cluster_18 ara::diag::FileTransferService cluster_19 ara::diag::GenericDataIdentifier cluster_20 ara::diag::GenericDiagnosticSovdOperation cluster_21 ara::diag::GenericRoutine cluster_22 ara::diag::GenericUDSService cluster_23 ara::diag::SovdAuthorization cluster_24 ara::diag::SovdBulkData cluster_25 ara::diag::SovdConfiguration cluster_26 ara::diag::SovdOperationExecution cluster_27 ara::diag::SovdSwUpdate cluster_28 ara::diag::UploadService n_DataElement_Namespace____DataElementInterface_750 <DataElementInterface> n_DataElement_Namespace____DataElementInterface____DataElement_ReadOutp608 «struct» <DataElement>ReadOutput n_DataIdentifier_Namespace____DataIdentifierInterface_960 <DataIdentifierInterface> n_DataIdentifier_Namespace____DataIdentifierInterface____DataIdentifier756 «struct» <DataIdentifier>ReadOutput n_ExtendedDataRecord_Namespace____ExtendedDataRecordElementInterface_765 <ExtendedDataRecordElementInterface> n_ExtendedDataRecord_Namespace____ExtendedDataRecordElementInterface___533 «struct» <ExtendedDataRecordElement>ReadOutput n_RoutineInterface_Namespace____RoutineInterface_950 <RoutineInterface> n_RoutineInterface_Namespace____RoutineInterface____RoutineInterface6_S811 «struct» <RoutineInterface6>StartOutput n_RoutineInterface_Namespace____RoutineInterface____RoutineInterface9_S410 «struct» <RoutineInterface9>StopOutput n_RoutineInterface_Namespace____RoutineInterface____RoutineInterface_Re625 «struct» <RoutineInterface>RequestResultOutput napext__diag__uds_transport__UdsMessage883 UdsMessage napext__diag__uds_transport__UdsTransportProtocolHandler1 UdsTransportProtocolHandler napext__diag__uds_transport__UdsTransportProtocolMgr247 UdsTransportProtocolMgr napext__diag__uds_transport__UdsTransportProtocolPeriodicHandler54 UdsTransportProtocolPeriodicHandler nara__diag__Authentication309 Authentication nara__diag__CancellationHandler489 CancellationHandler nara__diag__ClientAuthentication678 ClientAuthentication nara__diag__ClientAuthenticationHandle939 ClientAuthenticationHandle nara__diag__CommunicationControl599 CommunicationControl nara__diag__Condition778 Condition nara__diag__Conversation235 Conversation nara__diag__CounterBased25 «struct» CounterBased nara__diag__DataIdentifierConcurrencyType801 «struct» DataIdentifierConcurrencyType nara__diag__DataTransferReadByPullHandler313 DataTransferReadByPullHandler nara__diag__DataTransferReadByPushHandler95 DataTransferReadByPushHandler nara__diag__DataTransferReadSession318 DataTransferReadSession nara__diag__DataTransferReadSharedDataHandler544 DataTransferReadSharedDataHandler nara__diag__DataTransferWriteHandler871 DataTransferWriteHandler nara__diag__DataTransferWriteSession996 DataTransferWriteSession nara__diag__DiagErrorDomain167 DiagErrorDomain nara__core__ErrorDomain335 ara::core::ErrorDomain nara__diag__DiagErrorDomain167->nara__core__ErrorDomain335 nara__diag__DiagException942 DiagException nara__core__Exception792 ara::core::Exception nara__diag__DiagException942->nara__core__Exception792 nara__diag__DiagnosticServiceDynamicAccessList408 DiagnosticServiceDynamicAccessList nara__diag__DiagnosticSovdArrayContentElementDataConstIterator518 DiagnosticSovdArrayContentElementDataConstIterator nara__diag__DiagnosticSovdArrayContentElementDataConstView162 DiagnosticSovdArrayContentElementDataConstView nara__diag__DiagnosticSovdArrayContentElementDataIterator554 DiagnosticSovdArrayContentElementDataIterator nara__diag__DiagnosticSovdArrayContentElementDataView429 DiagnosticSovdArrayContentElementDataView nara__diag__DiagnosticSovdContentData509 «struct» DiagnosticSovdContentData nara__diag__DiagnosticSovdContentElementData188 DiagnosticSovdContentElementData nara__diag__DiagnosticSovdContentElementDataWithKey42 DiagnosticSovdContentElementDataWithKey nara__diag__DiagnosticSovdRecordContentElementDataConstIterator644 DiagnosticSovdRecordContentElementDataConstIterator nara__diag__DiagnosticSovdRecordContentElementDataConstView167 DiagnosticSovdRecordContentElementDataConstView nara__diag__DiagnosticSovdRecordContentElementDataIterator471 DiagnosticSovdRecordContentElementDataIterator nara__diag__DiagnosticSovdRecordContentElementDataView16 DiagnosticSovdRecordContentElementDataView nara__diag__DiagOfferErrorDomain584 DiagOfferErrorDomain nara__diag__DiagOfferErrorDomain584->nara__core__ErrorDomain335 nara__diag__DiagOfferException442 DiagOfferException nara__diag__DiagOfferException442->nara__core__Exception792 nara__diag__DiagReportingErrorDomain575 DiagReportingErrorDomain nara__diag__DiagReportingErrorDomain575->nara__core__ErrorDomain335 nara__diag__DiagReportingException911 DiagReportingException nara__diag__DiagReportingException911->nara__core__Exception792 nara__diag__DiagSovdErrorDomain991 DiagSovdErrorDomain nara__diag__DiagSovdErrorDomain991->nara__core__ErrorDomain335 nara__diag__DiagSovdException335 DiagSovdException nara__diag__DiagSovdException335->nara__core__Exception792 nara__diag__DiagUdsNrcErrorDomain838 DiagUdsNrcErrorDomain nara__diag__DiagUdsNrcErrorDomain838->nara__core__ErrorDomain335 nara__diag__DiagUdsNrcException343 DiagUdsNrcException nara__diag__DiagUdsNrcException343->nara__core__Exception792 nara__diag__DoIPActivationLine856 DoIPActivationLine nara__diag__DoIPEntityIdentification87 DoIPEntityIdentification nara__diag__DoIPGroupIdentification259 DoIPGroupIdentification nara__diag__DoIPPowerMode921 DoIPPowerMode nara__diag__DoIPTriggerVehicleAnnouncement193 DoIPTriggerVehicleAnnouncement nara__diag__DownloadService914 DownloadService nara__diag__DTCInformation53 DTCInformation nara__diag__DynamicAccessListDiagServiceBuilder245 DynamicAccessListDiagServiceBuilder nara__diag__EcuResetRequest662 EcuResetRequest nara__diag__Event255 Event nara__diag__EventStatusByte808 «struct» EventStatusByte nara__diag__ExternalAuthentication264 ExternalAuthentication nara__diag__FileTransferService20 FileTransferService nara__diag__GenericDataIdentifier357 GenericDataIdentifier nara__diag__GenericDiagnosticSovdContent32 GenericDiagnosticSovdContent nara__diag__GenericDiagnosticSovdOperation745 GenericDiagnosticSovdOperation nara__diag__GenericRoutine818 GenericRoutine nara__diag__GenericUDSService134 GenericUDSService nara__diag__HttpRedirect903 «struct» HttpRedirect nara__diag__Indicator648 Indicator nara__diag__MetaInfo769 MetaInfo nara__diag__Monitor586 Monitor nara__diag__MultipleCondition516 MultipleCondition nara__diag__MultipleEvent593 MultipleEvent nara__diag__MultipleMonitor546 MultipleMonitor nara__diag__OperationCycle125 OperationCycle nara__diag__ReleaseHandler678 ReleaseHandler nara__diag__SecurityAccess583 SecurityAccess nara__diag__ServiceValidation871 ServiceValidation nara__diag__SovdAuthorization23 SovdAuthorization nara__diag__SovdBulkData992 SovdBulkData nara__diag__SovdConfiguration627 SovdConfiguration nara__diag__SovdContentConcurrencyType404 «struct» SovdContentConcurrencyType nara__diag__SovdOperationExecution800 SovdOperationExecution nara__diag__SovdProximityChallenge981 SovdProximityChallenge nara__diag__SovdProximityChallengeType366 «struct» SovdProximityChallengeType nara__diag__SovdServiceValidation102 SovdServiceValidation nara__diag__SovdSwUpdate737 SovdSwUpdate nara__diag__TimeBased382 «struct» TimeBased nara__diag__TransmitCertificate785 TransmitCertificate nara__diag__UploadService152 UploadService nara__diag__CommunicationControl__ComCtrlRequestParamsType893 «struct» ComCtrlRequestParamsType nara__diag__Conversation__ConversationIdentifierType414 «struct» ConversationIdentifierType nara__diag__DTCInformation__SnapshotDataIdentifierType592 «struct» SnapshotDataIdentifierType nara__diag__DTCInformation__SnapshotDataRecordType1 «struct» SnapshotDataRecordType nara__diag__DTCInformation__SnapshotRecordUpdatedType973 «struct» SnapshotRecordUpdatedType nara__diag__DTCInformation__UdsDtcStatusByteType119 «struct» UdsDtcStatusByteType nara__diag__DoIPEntityIdentification__EntityId720 «struct» EntityId nara__diag__DoIPGroupIdentification__GidStatus478 «struct» GidStatus nara__diag__DownloadService__OperationOutput45 «struct» OperationOutput nara__diag__DynamicAccessListDiagServiceBuilder__ByteRange410 ByteRange nara__diag__FileTransferService__FileSizes857 «struct» FileSizes nara__diag__GenericDataIdentifier__OperationOutput669 «struct» OperationOutput nara__diag__GenericDiagnosticSovdOperation__StartAsynchronousExecutionR4 «struct» StartAsynchronousExecutionResponse nara__diag__GenericDiagnosticSovdOperation__StartSynchronousExecutionRe904 «struct» StartSynchronousExecutionResponse nara__diag__GenericRoutine__OperationOutput174 «struct» OperationOutput nara__diag__GenericUDSService__OperationOutput107 «struct» OperationOutput nara__diag__SovdAuthorization__ValidateAuthorizationOutput846 «struct» ValidateAuthorizationOutput nara__diag__SovdBulkData__BulkDataMetaDataDescriptor441 «struct» BulkDataMetaDataDescriptor nara__diag__SovdBulkData__DeleteByCategoryResult960 «struct» DeleteByCategoryResult nara__diag__SovdBulkData__DeletionError56 «struct» DeletionError nara__diag__SovdConfiguration__SovdConfigurationMetaInfo383 «struct» SovdConfigurationMetaInfo nara__diag__SovdOperationExecution__GetStatusResponse773 «struct» GetStatusResponse nara__diag__SovdSwUpdate__SubProgress643 «struct» SubProgress nara__diag__SovdSwUpdate__UpdatePackageDetails110 «struct» UpdatePackageDetails nara__diag__SovdSwUpdate__UpdatePackageStatus558 «struct» UpdatePackageStatus nara__diag__UploadService__OperationOutput307 «struct» OperationOutput