DECRU-CRYPTO-MIB DEFINITIONS ::= BEGIN
    IMPORTS
	dcrCrypto FROM DECRU-BASE-MIB;

-- General Info
    dcrCryptoInfo OBJECT IDENTIFIER ::= { dcrCrypto 1 }

-- Status group 
    dcrCryptoStatus OBJECT IDENTIFIER ::= { dcrCrypto 2 }

    dcrCrptStatDriver OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Crypto driver status. It is 0, if no error found."
	::= { dcrCryptoStatus 1 }
    dcrCrptStatTamper OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Temper detection status. It is 0, if no intrusion detected."
	::= { dcrCryptoStatus 2 }
    dcrCrptStatSelfTest OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Crypto self-test result. It is 0, if no error found."
	::= { dcrCryptoStatus 3 }
    dcrCrptStatSmartCard OBJECT-TYPE
	SYNTAX INTEGER {
	  initialized(0),
	  notInitialized(1),
	  notFound(2)
	  }
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "System Smart Card status."
	::= { dcrCryptoStatus 4 }
    dcrCrptStatInit OBJECT-TYPE
	SYNTAX INTEGER {
	  ok(0),
	  newCardExpected(1),
	  notFound(2),
	  masterKeyNotLoaded(3),
	  notInitialized(4),
	  unknownError(255)
	  }
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Crypto sub-system initialized status. It is expected to
	    be 0(OK) after DataFort is initialized through Wizard.
	    It is expected to be 4(notInitialized) before Wizard."
	::= { dcrCryptoStatus 5 }

    dcrCrptInterrupt OBJECT IDENTIFIER ::= { dcrCryptoStatus 6 }

    dcrCrptIntMasterKey OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Number of fatal interrupts while master-key operation 
	    inside crypto sub-system. It is 0, if no error occurred."
	::= { dcrCrptInterrupt 1 }
    dcrCrptIntCryptainerKey OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Number of fatal interrupts while cryptainer-key operation 
	    inside crypto sub-system. It is 0, if no error occurred."
	::= { dcrCrptInterrupt 2 }
    dcrCrptIntPublicKey OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Number of fatal interrupts while public-key operation 
	    inside crypto sub-system. It is 0, if no error occurred."
	::= { dcrCrptInterrupt 3 }
    dcrCrptIntPipeFull OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Number of occurences of encryption pipe-full. It is 0, 
	    if no error occurred."
	::= { dcrCrptInterrupt 4 }
    dcrCrptIntLinkStatus OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Link status between microcontroller and its device driver. It is 0, 
	    if no error occurred."
	::= { dcrCrptInterrupt 5 }
    dcrCrptIntFPGAError OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Unrecoverable FPGA error. It is 0, if no error occurred."
	::= { dcrCrptInterrupt 6 }

    dcrCrptNumCards OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Number of crypto cards in the system."
	::= { dcrCryptoStatus 7 }

-- crypto card table
    DcrCrptCardEntry ::=
      SEQUENCE {
        dcrCrptCardIndex INTEGER,
	dcrCrptCardName OCTET STRING,
	dcrCrptCardStatDriver INTEGER,
	dcrCrptCardStatTamper INTEGER,
	dcrCrptCardStatSelfTest INTEGER,
	dcrCrptCardIntMasterKey INTEGER,
	dcrCrptCardIntCryptainerKey INTEGER,
	dcrCrptCardIntPublicKey INTEGER,
	dcrCrptCardIntPipeFull INTEGER,
	dcrCrptCardIntLinkStatus INTEGER,
	dcrCrptCardIntFPGAError INTEGER
      }

    dcrCrptCardTable OBJECT-TYPE 
	SYNTAX SEQUENCE OF DcrCrptCardEntry
	ACCESS  not-accessible
	STATUS current
	DESCRIPTION  
	    "Contains the list of crypto card entries."
	::= { dcrCryptoStatus 8 }

    dcrCrptCardEntry OBJECT-TYPE
	SYNTAX DcrCrptCardEntry
	ACCESS  not-accessible
	STATUS current
	INDEX { dcrCrptCardIndex }
	::= { dcrCrptCardTable 1 }

    dcrCrptCardIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current	
	::= { dcrCrptCardEntry 1 }
    dcrCrptCardName OBJECT-TYPE
	SYNTAX OCTET STRING
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Crypto card name. (example: '/dev/dcrcrypto0')"
	::= { dcrCrptCardEntry 2 }
    dcrCrptCardStatDriver OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Crypto card driver status. It is 0, if no error found."
	::= { dcrCrptCardEntry 3 }
    dcrCrptCardStatTamper OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Crypto card tamper detection status. It is 0, if no intrusion detected."
	::= { dcrCrptCardEntry 4 }
    dcrCrptCardStatSelfTest OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Crypto card self-test result. It is 0, if no error found."
	::= { dcrCrptCardEntry 5 }
    dcrCrptCardIntMasterKey OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION  
	    "Number of fatal interrupts for a card while master-key operation 
	    inside crypto sub-system. It is 0, if no error occurred."
	::= { dcrCrptCardEntry 6 }
    dcrCrptCardIntCryptainerKey OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Number of fatal interrupts for card while cryptainer-key operation 
	    inside crypto sub-system. It is 0, if no error occurred."
	::= { dcrCrptCardEntry 7 }
    dcrCrptCardIntPublicKey OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Number of fatal interrupts for card while public-key operation 
	    inside crypto sub-system. It is 0, if no error occurred."
	::= { dcrCrptCardEntry 8 }
    dcrCrptCardIntPipeFull OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Number of occurences of encryption pipe-full for a card. It is 0, 
	    if no error occurred."
	::= { dcrCrptCardEntry 9 }
    dcrCrptCardIntLinkStatus OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Link status between a card's microcontroller and its device driver. It is
            0, if no error occurred."
	::= { dcrCrptCardEntry 10 }
    dcrCrptCardIntFPGAError OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS current
	DESCRIPTION
	    "Unrecoverable FPGA error for a card. It is 0, if no error occurred."
	::= { dcrCrptCardEntry 11 }
END

