Annotation of embedaddon/strongswan/src/libtpmtss/tpm_tss.c, revision 1.1
1.1 ! misho 1: /*
! 2: * Copyright (C) 2016 Andreas Steffen
! 3: * HSR Hochschule fuer Technik Rapperswil
! 4: *
! 5: * This program is free software; you can redistribute it and/or modify it
! 6: * under the terms of the GNU General Public License as published by the
! 7: * Free Software Foundation; either version 2 of the License, or (at your
! 8: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
! 9: *
! 10: * This program is distributed in the hope that it will be useful, but
! 11: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
! 12: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
! 13: * for more details.
! 14: */
! 15:
! 16: #include "tpm_tss.h"
! 17: #include "tpm_tss_tss2.h"
! 18: #include "tpm_tss_trousers.h"
! 19:
! 20: /**
! 21: * Register plugins if built statically
! 22: */
! 23: #ifdef STATIC_PLUGIN_CONSTRUCTORS
! 24: #include "plugin_constructors.c"
! 25: #endif
! 26:
! 27: /**
! 28: * Described in header.
! 29: */
! 30: bool libtpmtss_init(void)
! 31: {
! 32: return tpm_tss_tss2_init();
! 33: }
! 34:
! 35: /**
! 36: * Described in header.
! 37: */
! 38: void libtpmtss_deinit(void)
! 39: {
! 40: tpm_tss_tss2_deinit();
! 41: }
! 42:
! 43: typedef tpm_tss_t*(*tpm_tss_create)(void);
! 44:
! 45: /**
! 46: * See header.
! 47: */
! 48: tpm_tss_t *tpm_tss_probe(tpm_version_t version)
! 49: {
! 50: tpm_tss_create stacks[] = {
! 51: tpm_tss_tss2_create,
! 52: tpm_tss_trousers_create,
! 53: };
! 54: tpm_tss_t *tpm;
! 55: int i;
! 56:
! 57: for (i = 0; i < countof(stacks); i++)
! 58: {
! 59: tpm = stacks[i]();
! 60: if (tpm)
! 61: {
! 62: if (version == TPM_VERSION_ANY || version == tpm->get_version(tpm))
! 63: {
! 64: return tpm;
! 65: }
! 66: }
! 67: }
! 68: return NULL;
! 69: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>