Home | History | Annotate | Line # | Download | only in tss
      1 /*++
      2 
      3 Basic defines for TSS error return codes
      4 
      5 --*/
      6 
      7 #ifndef __TSS_ERROR_BASICS_H__
      8 #define __TSS_ERROR_BASICS_H__
      9 
     10 
     11 //
     12 // definitions for the various TSS-SW layers
     13 //
     14 #ifndef TSS_LAYER_TPM
     15 #define TSS_LAYER_TPM   0x0000L     // definition for TPM layer
     16 #endif // TSS_LAYER_TPM
     17 
     18 #define TSS_LAYER_TDDL   0x1000L     // definition for TDDL layer
     19 #define TSS_LAYER_TCS   0x2000L     // definition for TCS layer
     20 
     21 #ifndef TSS_LAYER_TSP
     22 #define TSS_LAYER_TSP   0x3000L     // definition for TSP layer
     23 #endif // TSS_LAYER_TSP
     24 
     25 
     26 //
     27 // definitions for the start points of layer specific error codes
     28 //
     29 #ifndef TSS_COMMON_OFFSET
     30 #define TSS_COMMON_OFFSET   0x000L
     31 #endif // TSS_COMMON_OFFSET
     32 
     33 #define TSS_TDDL_OFFSET    0x080L
     34 #define TSS_TCSI_OFFSET    0x0C0L
     35 
     36 #ifndef TSS_TSPI_OFFSET
     37 #define TSS_TSPI_OFFSET    0x100L
     38 #endif // TSS_TSPI_OFFSET
     39 
     40 #ifndef TSS_VENDOR_OFFSET
     41 #define TSS_VENDOR_OFFSET   0x800L
     42 #endif // TSS_VENDOR_OFFSET
     43 
     44 // do not exceed TSS_MAX_ERROR for vendor specific code values:
     45 #ifndef TSS_MAX_ERROR
     46 #define TSS_MAX_ERROR    0xFFFL
     47 #endif // TSS_MAX_ERROR
     48 
     49 
     50 /* Macros for the construction and interpretation of error codes */
     51 #define TPM_ERROR(code)        (code)
     52 #define TDDL_ERROR(code)       ((code) ? (TSS_LAYER_TDDL | (code)) : (code))
     53 #define TCS_ERROR(code)        ((code) ? (TSS_LAYER_TCS | (code)) : (code))
     54 #define TSP_ERROR(code)        ((code) ? (TSS_LAYER_TSP | (code)) : (code))
     55 #define ERROR_LAYER(error)     ((error) & 0xf000)
     56 #define ERROR_CODE(error)      ((error) & 0x0fff)
     57 
     58 #endif // __TSS_ERROR_BASICS_H__
     59 
     60