diff options
author | Andreas Fuchs <andreas.fuchs@sit.fraunhofer.de> | 2017-11-28 16:24:43 +0100 |
---|---|---|
committer | Philip Tricca <philip.b.tricca@intel.com> | 2017-12-05 22:28:47 -0500 |
commit | e66804b9ad5864a73a3a6260c22a98a125dce3ca (patch) | |
tree | b6b63b178f60b3c321de0f037d310ce4cd5698ac /include | |
parent | 14d344f98a8584a427c959897822a784ca7ab2d3 (diff) | |
download | tpm2-tss-e66804b9ad5864a73a3a6260c22a98a125dce3ca.tar.gz |
Headers: Fixing macros for error levels (to rc layers)
The names of error macros changed with the latest spec.
Notably, ERROR_LEVEL turned to RC_LAYER.
Also adding RCs for the MUAPI.
Also banning non-standard APP_RC_LAYER into the tpmclient
test suit.
Signed-off-by: Andreas Fuchs <andreas.fuchs@sit.fraunhofer.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/sapi/tss2_common.h | 101 | ||||
-rw-r--r-- | include/sapi/tss2_mu.h | 7 |
2 files changed, 58 insertions, 50 deletions
diff --git a/include/sapi/tss2_common.h b/include/sapi/tss2_common.h index c4799ce7..0075ca92 100644 --- a/include/sapi/tss2_common.h +++ b/include/sapi/tss2_common.h @@ -77,27 +77,26 @@ typedef struct { // This macro is used to indicate the level of the error: use 5 and 6th // nibble for error level. -#define TSS2_RC_LEVEL_SHIFT 16 +#define TSS2_RC_LAYER_SHIFT 16 -#define TSS2_ERROR_LEVEL( level ) ( level << TSS2_RC_LEVEL_SHIFT ) +#define TSS2_RC_LAYER( level ) ( level << TSS2_RC_LAYER_SHIFT ) // // Error code levels. These indicate what level in the software stack // the error codes are coming from. // -#define TSS2_TPM_ERROR_LEVEL TSS2_ERROR_LEVEL(0) -#define TSS2_APP_ERROR_LEVEL TSS2_ERROR_LEVEL(5) -#define TSS2_FEATURE_ERROR_LEVEL TSS2_ERROR_LEVEL(6) -#define TSS2_ESAPI_ERROR_LEVEL TSS2_ERROR_LEVEL(7) -#define TSS2_SYS_ERROR_LEVEL TSS2_ERROR_LEVEL(8) -#define TSS2_SYS_PART2_ERROR_LEVEL TSS2_ERROR_LEVEL(9) -#define TSS2_TCTI_ERROR_LEVEL TSS2_ERROR_LEVEL(10) -#define TSS2_RESMGRTPM_ERROR_LEVEL TSS2_ERROR_LEVEL(11) -#define TSS2_RESMGR_ERROR_LEVEL TSS2_ERROR_LEVEL(12) -#define TSS2_DRIVER_ERROR_LEVEL TSS2_ERROR_LEVEL(13) - -#define TSS2_ERROR_LEVEL_MASK TSS2_ERROR_LEVEL(0xff) +#define TSS2_TPM_RC_LAYER TSS2_RC_LAYER(0) +#define TSS2_FEATURE_RC_LAYER TSS2_RC_LAYER(6) +#define TSS2_ESAPI_RC_LAYER TSS2_RC_LAYER(7) +#define TSS2_SYS_RC_LAYER TSS2_RC_LAYER(8) +#define TSS2_MU_RC_LAYER TSS2_RC_LAYER(9) +#define TSS2_TCTI_RC_LAYER TSS2_RC_LAYER(10) +#define TSS2_RESMGRTPM_RC_LAYER TSS2_RC_LAYER(11) +#define TSS2_RESMGR_RC_LAYER TSS2_RC_LAYER(12) +#define TSS2_DRIVER_RC_LAYER TSS2_RC_LAYER(13) + +#define TSS2_RC_LAYER_MASK TSS2_RC_LAYER(0xff) /** * Error Codes @@ -105,7 +104,7 @@ typedef struct { // // Base error codes -// These are not returned directly, but are combined with an ERROR_LEVEL to +// These are not returned directly, but are combined with an RC_LAYER to // produce the error codes for each layer. // #define TSS2_BASE_RC_GENERAL_FAILURE 1 /* Catch all for all errors @@ -152,66 +151,80 @@ typedef struct { // TCTI error codes // -#define TSS2_TCTI_RC_GENERAL_FAILURE ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_GENERAL_FAILURE ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_GENERAL_FAILURE)) -#define TSS2_TCTI_RC_NOT_IMPLEMENTED ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_NOT_IMPLEMENTED ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_NOT_IMPLEMENTED)) -#define TSS2_TCTI_RC_BAD_CONTEXT ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_BAD_CONTEXT ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_BAD_CONTEXT)) -#define TSS2_TCTI_RC_ABI_MISMATCH ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_ABI_MISMATCH ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_ABI_MISMATCH)) -#define TSS2_TCTI_RC_BAD_REFERENCE ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_BAD_REFERENCE ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_BAD_REFERENCE)) -#define TSS2_TCTI_RC_INSUFFICIENT_BUFFER ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_INSUFFICIENT_BUFFER ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_INSUFFICIENT_BUFFER)) -#define TSS2_TCTI_RC_BAD_SEQUENCE ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_BAD_SEQUENCE ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_BAD_SEQUENCE)) -#define TSS2_TCTI_RC_NO_CONNECTION ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_NO_CONNECTION ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_NO_CONNECTION)) -#define TSS2_TCTI_RC_TRY_AGAIN ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_TRY_AGAIN ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_TRY_AGAIN)) -#define TSS2_TCTI_RC_IO_ERROR ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_IO_ERROR ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_IO_ERROR)) -#define TSS2_TCTI_RC_BAD_VALUE ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_BAD_VALUE ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_BAD_VALUE)) -#define TSS2_TCTI_RC_NOT_PERMITTED ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_NOT_PERMITTED ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_NOT_PERMITTED)) -#define TSS2_TCTI_RC_MALFORMED_RESPONSE ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_MALFORMED_RESPONSE ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_MALFORMED_RESPONSE)) -#define TSS2_TCTI_RC_NOT_SUPPORTED ((TSS2_RC)(TSS2_TCTI_ERROR_LEVEL | \ +#define TSS2_TCTI_RC_NOT_SUPPORTED ((TSS2_RC)(TSS2_TCTI_RC_LAYER | \ TSS2_BASE_RC_NOT_SUPPORTED)) // // SAPI error codes // -#define TSS2_SYS_RC_GENERAL_FAILURE ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_GENERAL_FAILURE ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_GENERAL_FAILURE)) -#define TSS2_SYS_RC_ABI_MISMATCH ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_ABI_MISMATCH ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_ABI_MISMATCH)) -#define TSS2_SYS_RC_BAD_REFERENCE ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_BAD_REFERENCE ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_BAD_REFERENCE)) -#define TSS2_SYS_RC_INSUFFICIENT_BUFFER ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_INSUFFICIENT_BUFFER ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_INSUFFICIENT_BUFFER)) -#define TSS2_SYS_RC_BAD_SEQUENCE ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_BAD_SEQUENCE ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_BAD_SEQUENCE)) -#define TSS2_SYS_RC_BAD_VALUE ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_BAD_VALUE ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_BAD_VALUE)) -#define TSS2_SYS_RC_INVALID_SESSIONS ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_INVALID_SESSIONS ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_INVALID_SESSIONS)) -#define TSS2_SYS_RC_NO_DECRYPT_PARAM ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_NO_DECRYPT_PARAM ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_NO_DECRYPT_PARAM)) -#define TSS2_SYS_RC_NO_ENCRYPT_PARAM ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_NO_ENCRYPT_PARAM ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_NO_ENCRYPT_PARAM)) -#define TSS2_SYS_RC_BAD_SIZE ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_BAD_SIZE ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_BAD_SIZE)) -#define TSS2_SYS_RC_MALFORMED_RESPONSE ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_MALFORMED_RESPONSE ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_MALFORMED_RESPONSE)) -#define TSS2_SYS_RC_INSUFFICIENT_CONTEXT ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_INSUFFICIENT_CONTEXT ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_INSUFFICIENT_CONTEXT)) -#define TSS2_SYS_RC_INSUFFICIENT_RESPONSE ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_INSUFFICIENT_RESPONSE ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_INSUFFICIENT_RESPONSE)) -#define TSS2_SYS_RC_INCOMPATIBLE_TCTI ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_INCOMPATIBLE_TCTI ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_INCOMPATIBLE_TCTI)) -#define TSS2_SYS_RC_BAD_TCTI_STRUCTURE ((TSS2_RC)(TSS2_SYS_ERROR_LEVEL | \ +#define TSS2_SYS_RC_BAD_TCTI_STRUCTURE ((TSS2_RC)(TSS2_SYS_RC_LAYER | \ TSS2_BASE_RC_BAD_TCTI_STRUCTURE)) +// +// NUAPI error codes +// +#define TSS2_MU_RC_GENERAL_FAILURE ((TSS2_RC)(TSS2_MU_RC_LAYER | \ + TSS2_BASE_RC_GENERAL_FAILURE)) +#define TSS2_MU_RC_BAD_REFERENCE ((TSS2_RC)(TSS2_MU_RC_LAYER | \ + TSS2_BASE_RC_BAD_REFERENCE)) +#define TSS2_MU_RC_BAD_SIZE ((TSS2_RC)(TSS2_MU_RC_LAYER | \ + TSS2_BASE_RC_BAD_SIZE)) +#define TSS2_MU_RC_BAD_VALUE ((TSS2_RC)(TSS2_MU_RC_LAYER | \ + TSS2_BASE_RC_BAD_VALUE)) +#define TSS2_MU_RC_INSUFFICIENT_BUFFER ((TSS2_RC)(TSS2_MU_RC_LAYER | \ + TSS2_BASE_RC_INSUFFICIENT_BUFFER)) + #endif /* TSS2_COMMON_H */ diff --git a/include/sapi/tss2_mu.h b/include/sapi/tss2_mu.h index d5aab578..0e7d074f 100644 --- a/include/sapi/tss2_mu.h +++ b/include/sapi/tss2_mu.h @@ -31,12 +31,7 @@ #include <stdlib.h> #include <sapi/tpm20.h> - -#define TSS2_TYPES_RC_LAYER TSS2_ERROR_LEVEL(14) -#define TSS2_TYPES_RC_BAD_REFERENCE \ - ((TSS2_RC)(TSS2_TYPES_RC_LAYER | TSS2_BASE_RC_BAD_REFERENCE)) -#define TSS2_TYPES_RC_INSUFFICIENT_BUFFER \ - ((TSS2_RC)(TSS2_TYPES_RC_LAYER | TSS2_BASE_RC_INSUFFICIENT_BUFFER)) +#include <sapi/tss2_common.h> #ifdef __cplusplus extern "C" { |