⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tpm.h

📁 IBM开发的TPM的驱动, 有少量的例子可以供参考
💻 H
字号:
/****************************************************************************//*                                                                          *//*  TPM.H  24 Apr 2003                                                      *//*                                                                          *//*                           Copyright (C) 2004 IBM                         *//*                                                                          *//****************************************************************************/#ifndef TPM_H#define TPM_H#define ERR_MASK             0x80000000	/* mask to define error state */#define ERR_BAD_RESP         0x80001000	/* response from TPM not formatted correctly */#define ERR_HMAC_FAIL        0x80001001	/* HMAC authorization verification failed */#define ERR_NULL_ARG         0x80001002	/* An argument was NULL that shouldn't be */#define ERR_BAD_ARG          0x80001003	/* An argument had an invalid value */#define ERR_CRYPT_ERR        0x80001004	/* An error occurred in an OpenSSL library call */#define ERR_IO               0x80001005	/* An I/O Error occured */#define ERR_MEM_ERR          0x80001006	/* A memory allocation error occurred */#define TPM_MAX_BUFF_SIZE              4096#define TPM_HASH_SIZE                  20#define TPM_NONCE_SIZE                 20#define TPM_U16_SIZE                   2#define TPM_U32_SIZE                   4#define TPM_PARAMSIZE_OFFSET           TPM_U16_SIZE#define TPM_RETURN_OFFSET              ( TPM_U16_SIZE + TPM_U32_SIZE )#define TPM_DATA_OFFSET                ( TPM_RETURN_OFFSET + TPM_U32_SIZE )#define STORE32(buffer,offset,value)  { *(uint32_t *)&buffer[offset] = htonl(value); }#define STORE16(buffer,offset,value)  { *(uint16_t *)&buffer[offset] = htons(value); }#define STORE32N(buffer,offset,value) { *(uint32_t *)&buffer[offset] = value; }#define STORE16N(buffer,offset,value) { *(uint16_t *)&buffer[offset] = value; }#define LOAD32(buffer,offset)         ( ntohl(*(uint32_t *)&buffer[offset]) )#define LOAD16(buffer,offset)         ( ntohs(*(uint16_t *)&buffer[offset]) )#define LOAD32N(buffer,offset)        ( *(uint32_t *)&buffer[offset] )#define LOAD16N(buffer,offset)        ( *(uint16_t *)&buffer[offset] )#define ADD32(buffer,offset,value)    { STORE32(buffer,offset,( LOAD32(buffer,offset) + value ) )  }#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -