SP8EBC-ParaTNC/include/kiss_communication/kiss_communication_nrc_t.h

161 wiersze
6.5 KiB
C

/*
* kiss_communication_nrc_t.h
*
* Enum with Negative Return Codes for sudoUDS diagnostics via KISS
*
* Created on: Jun 27, 2023
* Author: mateusz
*/
#ifndef KISS_COMMUNICATION_KISS_COMMUNICATION_NRC_T_H_
#define KISS_COMMUNICATION_KISS_COMMUNICATION_NRC_T_H_
typedef enum kiss_communication_nrc_t {
NRC_POSITIVE = 0x00,
/**
* This response code indicates that the requested action has been rejected
* by the server. The generalReject response code shall only be implemented
* in the server if none of the negative response codes defined in this
* document meet the needs of the implementation. At no means shall this
* response code be a general replacement for other response codes defined.
*/
NRC_GENERAL_REJECT = 0x10,
/**
* This response code indicates that the requested action will not be taken
* because the server does not support the requested service. The server
* shall send this response code in case the client has sent a request
* message with a service identifier, which is either unknown or not
* supported by the server. Therefore this negative response code is not
* shown in the list of negative response codes to be supported for
* a diagnostic service, because this negative response code is not
* applicable for supported services.
*/
NRC_SERVICE_NOT_SUPPORTED = 0x11,
/**
* This response code indicates that the requested action will not be taken
* because the server does not support the service specific parameters of
* the request message. The server shall send this response code in case
* the client has sent a request message with a known and supported service
* identifier but with "sub function“ which is either unknown or
* not supported.
*/
NRC_SUBFUNCTION_NOT_SUPPORTED = 0x12,
/**
* This response code indicates that the requested action will not be taken
* because the length of the received request message does not match
* the prescribed length for the specified service or the format of
* the parameters do not match the prescribed format for the specified service.
*/
NRC_INCORRECT_MESSAGE_LENGTH_OR_FORMAT = 0x13,
/**
* This response code shall be reported by the server if the response to
* be generated exceeds the maximum number of bytes available by
* the underlying network layer.
*/
NRC_RESPONSE_TOO_LONG = 0x14,
/**
* This response code indicates that the server is temporarily too busy
* to perform the requested operation. In this circumstance the client
* shall perform repetition of the "identical request message" or
* "another request message". The repetition of the request shall be delayed
* by a time specified in the respective implementation documents.
*/
NRC_BUSY_REPEAT_REQUEST = 0x21,
/**
* This response code indicates that the requested action will not be taken
* because the server prerequisite conditions are not met.
*/
NRC_CONDITIONS_NOT_CORRECT = 0x22,
/**
* This response code indicates that the requested action will not be taken
* because the server expects a different sequence of request messages or
* message as sent by the client. This may occur when sequence sensitive
* requests are issued in the wrong order.
*/
NRC_REQUEST_SEQUENCE_ERROR = 0x24,
/**
* This response code indicates that the requested action will not be taken
* because the server has detected that the request message contains
* a parameter which attempts to substitute a value beyond its range of
* authority (e.g. attempting to substitute a data byte of 111 when the data
* is only defined to 100), or which attempts to access a
* dataIdentifier/routineIdentifer that is not supported or not supported
* in active session. This response code shall be implemented for
* all services, which allow the client to read data, write data or
* adjust functions by data in the server.
*/
NRC_REQUEST_OUT_OF_RANGE = 0x31,
/**
* This response code indicates that the requested action will not be taken
* because the server's security strategy has not been satisfied by
* the client. The server shall send this response code if one of the
* following cases occur:
* the test conditions of the server are not met,
* the required message sequence
* e.g. DiagnosticSessionControl, securityAccess is not met,
* the client has sent a request message which requires an unlocked server.
*/
NRC_SECURITY_ACCESS_DENIED = 0x33,
/**
* This response code indicates that the server has not given security
* access because the key sent by the client did not match with the key
* in the server's memory. This counts as an attempt to gain security.
* The server shall remain locked and increment its internal
* securityAccessFailed counter.
*/
NRC_INVALID_KEY = 0x35,
/**
* This response code indicates that the requested action will not be taken
* because the client has unsuccessfully attempted to gain security access
* more times than the server's security strategy will allow.
*/
NRC_EXCEED_NUMBER_OF_ATTEMPTS = 0x36,
/**
* This response code indicates that the request message was received
* correctly, and that all parameters in the request message were valid,
* but the action to be performed is not yet completed and the server is
* not yet ready to receive another request. As soon as the requested
* service has been completed, the server shall send a positive response
* message or negative response message with a response code different
* from this. The negative response message with this response code may be
* repeated by the server until the requested service is completed and
* the final response message is sent. This response code might impact
* the application layer timing parameter values. The detailed specification
* shall be included in the data link specific implementation document.
*/
NRC_REQUEST_CORRECT_RESPONSE_PENDING = 0x78,
/**
* This response code indicates that the requested action will not be taken
* because the server does not support the requested service in the session
* currently active. This response code shall only be used when
* the requested service is known to be supported in another session,
* otherwise response code 0x11 (serviceNotSupported) shall be used.
* This response code is in general supported by each diagnostic service,
* as not otherwise stated in the data link specific implementation
* document, therefore it is not listed in the list of applicable response
* codes of the diagnostic services.
*/
NRC_SERVICE_NOT_SUPPORTED_IN_ACTIVE_SESSION = 0x7F
}kiss_communication_nrc_t;
#endif /* KISS_COMMUNICATION_KISS_COMMUNICATION_NRC_T_H_ */