/*
* The Initial Developer of the Original Code is International
* Business Machines Corporation. Portions created by IBM
* Corporation are Copyright (C) 2005 International Business
* Machines Corporation. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the Common Public License as published by
* IBM Corporation; either version 1 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* Common Public License for more details.
*
* You should have received a copy of the Common Public License
* along with this program; if not, a copy can be viewed at
* http://www.opensource.org/licenses/cpl1.0.php.
*/
/*
* Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
*/
#ifndef _TPMTOK_DEFS_H
#define _TPMTOK_DEFS_H
#ifdef __cplusplus
extern "C" {
#endif
#include <tss/tss_defines.h>
/* TSS key type helper */
#define TPMTOK_TSS_KEY_TYPE_MASK 0x000000F0
#define TPMTOK_TSS_KEY_TYPE(x) (x & TPMTOK_TSS_KEY_TYPE_MASK)
#define TPMTOK_TSS_KEY_MIG_TYPE(x) (x & TSS_KEY_MIGRATABLE)
#define TPMTOK_TSS_MAX_ERROR 0x00000FFF
#define TPMTOK_TSS_ERROR_CODE(x) (x & TPMTOK_TSS_MAX_ERROR)
/* key types in the TPM token */
#define TPMTOK_PRIVATE_ROOT_KEY 1
#define TPMTOK_PRIVATE_LEAF_KEY 2
#define TPMTOK_PUBLIC_ROOT_KEY 3
#define TPMTOK_PUBLIC_LEAF_KEY 4
/* key identifiers for the PKCS#11 objects */
#define TPMTOK_PRIVATE_ROOT_KEY_ID "PRIVATE_ROOT_KEY"
#define TPMTOK_PRIVATE_LEAF_KEY_ID "PRIVATE_LEAF_KEY"
#define TPMTOK_PUBLIC_ROOT_KEY_ID "PUBLIC_ROOT_KEY"
#define TPMTOK_PUBLIC_LEAF_KEY_ID "PUBLIC_LEAF_KEY"
#define NULL_HKEY 0
#define NULL_HENCDATA 0
#define NULL_HPOLICY 0
#define NULL_HCONTEXT 0
#define NULL_HPCRS 0
#define LOG(priority, fmt, ...) \
{\
openlog("tpmtoken", LOG_NDELAY|LOG_PID, LOG_USER);\
syslog(priority, "%s " fmt, __FILE__, ##__VA_ARGS__);\
}
#ifndef TSS_UUID_MRK
#define TSS_UUID_MRK {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 11}}
#endif
#ifdef __cplusplus
}
#endif
#endif /* _TPMTOK_DEFS_H */