summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
Diffstat (limited to 'man')
-rw-r--r--man/Makefile.am1
-rw-r--r--man/Makefile.in566
-rw-r--r--man/man3/Makefile.am90
-rw-r--r--man/man3/Makefile.in532
-rw-r--r--man/man3/Tspi_ChangeAuth.375
-rw-r--r--man/man3/Tspi_ChangeAuthAsym.376
-rw-r--r--man/man3/Tspi_Context_Close.368
-rw-r--r--man/man3/Tspi_Context_CloseObject.369
-rw-r--r--man/man3/Tspi_Context_Connect.369
-rw-r--r--man/man3/Tspi_Context_Create.366
-rw-r--r--man/man3/Tspi_Context_CreateObject.3125
-rw-r--r--man/man3/Tspi_Context_FreeMemory.381
-rw-r--r--man/man3/Tspi_Context_GetCapability.383
-rw-r--r--man/man3/Tspi_Context_GetDefaultPolicy.382
-rw-r--r--man/man3/Tspi_Context_GetKeyByPublicInfo.381
-rw-r--r--man/man3/Tspi_Context_GetKeyByUUID.398
-rw-r--r--man/man3/Tspi_Context_GetRegisteredKeysByUUID.381
-rw-r--r--man/man3/Tspi_Context_GetRegisteredKeysByUUID2.382
-rw-r--r--man/man3/Tspi_Context_GetTpmObject.386
-rw-r--r--man/man3/Tspi_Context_LoadKeyByBlob.398
-rw-r--r--man/man3/Tspi_Context_LoadKeyByUUID.378
-rw-r--r--man/man3/Tspi_Context_RegisterKey.3170
-rw-r--r--man/man3/Tspi_Context_UnregisterKey.3150
-rw-r--r--man/man3/Tspi_DAA_IssueCredential.3103
-rw-r--r--man/man3/Tspi_DAA_IssueInit.3113
-rw-r--r--man/man3/Tspi_DAA_IssueSetup.3100
-rw-r--r--man/man3/Tspi_DAA_IssuerKeyVerification.387
-rw-r--r--man/man3/Tspi_DAA_VerifyInit.386
-rw-r--r--man/man3/Tspi_DAA_VerifySignature.3107
-rw-r--r--man/man3/Tspi_Data_Bind.3116
-rw-r--r--man/man3/Tspi_Data_Seal.383
-rw-r--r--man/man3/Tspi_Data_Unbind.3109
-rw-r--r--man/man3/Tspi_Data_Unseal.381
-rw-r--r--man/man3/Tspi_DecodeBER_TssBlob.377
-rw-r--r--man/man3/Tspi_EncodeDER_TssBlob.377
-rw-r--r--man/man3/Tspi_GetAttribData.389
-rw-r--r--man/man3/Tspi_GetAttribUint32.3105
-rw-r--r--man/man3/Tspi_GetPolicyObject.390
-rw-r--r--man/man3/Tspi_Hash_GetHashValue.398
-rw-r--r--man/man3/Tspi_Hash_SetHashValue.398
-rw-r--r--man/man3/Tspi_Hash_Sign.3108
-rw-r--r--man/man3/Tspi_Hash_UpdateHashValue.399
-rw-r--r--man/man3/Tspi_Hash_VerifySignature.3105
-rw-r--r--man/man3/Tspi_Key_CertifyKey.376
-rw-r--r--man/man3/Tspi_Key_ConvertMigrationBlob.3100
-rw-r--r--man/man3/Tspi_Key_CreateKey.371
-rw-r--r--man/man3/Tspi_Key_CreateMigrationBlob.397
-rw-r--r--man/man3/Tspi_Key_GetPubKey.389
-rw-r--r--man/man3/Tspi_Key_LoadKey.383
-rw-r--r--man/man3/Tspi_Key_UnloadKey.383
-rw-r--r--man/man3/Tspi_Key_WrapKey.372
-rw-r--r--man/man3/Tspi_PcrComposite_GetPcrValue.377
-rw-r--r--man/man3/Tspi_PcrComposite_SelectPcrIndex.369
-rw-r--r--man/man3/Tspi_PcrComposite_SetPcrValue.377
-rw-r--r--man/man3/Tspi_Policy_AssignToObject.386
-rw-r--r--man/man3/Tspi_Policy_FlushSecret.377
-rw-r--r--man/man3/Tspi_Policy_SetSecret.380
-rw-r--r--man/man3/Tspi_SetAttribData.387
-rw-r--r--man/man3/Tspi_SetAttribUint32.3106
-rw-r--r--man/man3/Tspi_TPM_AuthorizeMigrationTicket.384
-rw-r--r--man/man3/Tspi_TPM_CMKSetRestrictions.393
-rw-r--r--man/man3/Tspi_TPM_CertifySelfTest.380
-rw-r--r--man/man3/Tspi_TPM_CheckMaintenancePubKey.3100
-rw-r--r--man/man3/Tspi_TPM_ClearOwner.385
-rw-r--r--man/man3/Tspi_TPM_CollateIdentityRequest.3102
-rw-r--r--man/man3/Tspi_TPM_CreateEndorsementKey.394
-rw-r--r--man/man3/Tspi_TPM_CreateMaintenanceArchive.3107
-rw-r--r--man/man3/Tspi_TPM_DAA_JoinCreateDaaPubKey.3112
-rw-r--r--man/man3/Tspi_TPM_DAA_JoinInit.3119
-rw-r--r--man/man3/Tspi_TPM_DAA_JoinStoreCredential.389
-rw-r--r--man/man3/Tspi_TPM_DAA_Sign.3109
-rw-r--r--man/man3/Tspi_TPM_DirRead.389
-rw-r--r--man/man3/Tspi_TPM_DirWrite.391
-rw-r--r--man/man3/Tspi_TPM_GetAuditDigest.387
-rw-r--r--man/man3/Tspi_TPM_GetCapability.3125
-rw-r--r--man/man3/Tspi_TPM_GetEvent.380
-rw-r--r--man/man3/Tspi_TPM_GetEventLog.378
-rw-r--r--man/man3/Tspi_TPM_GetEvents.386
-rw-r--r--man/man3/Tspi_TPM_GetPubEndorsementKey.3101
-rw-r--r--man/man3/Tspi_TPM_GetRandom.388
-rw-r--r--man/man3/Tspi_TPM_GetStatus.386
-rw-r--r--man/man3/Tspi_TPM_GetTestResult.376
-rw-r--r--man/man3/Tspi_TPM_KillMaintenanceFeature.385
-rw-r--r--man/man3/Tspi_TPM_LoadMaintenancePubKey.3102
-rw-r--r--man/man3/Tspi_TPM_OwnerGetSRKPubKey.387
-rw-r--r--man/man3/Tspi_TPM_PcrExtend.3101
-rw-r--r--man/man3/Tspi_TPM_PcrRead.391
-rw-r--r--man/man3/Tspi_TPM_Quote.383
-rw-r--r--man/man3/Tspi_TPM_Quote2.3100
-rw-r--r--man/man3/Tspi_TPM_SelfTestFull.382
-rw-r--r--man/man3/Tspi_TPM_SetStatus.390
-rw-r--r--man/man3/Tspi_TPM_StirRandom.389
-rw-r--r--man/man3/Tspi_TPM_TakeOwnership.383
-rw-r--r--man/man5/Makefile.am2
-rw-r--r--man/man5/Makefile.in446
-rw-r--r--man/man5/tcsd.conf.5.in129
-rw-r--r--man/man8/Makefile.am2
-rw-r--r--man/man8/Makefile.in446
-rw-r--r--man/man8/tcsd.8.in112
99 files changed, 10459 insertions, 0 deletions
diff --git a/man/Makefile.am b/man/Makefile.am
new file mode 100644
index 0000000..f5d742d
--- /dev/null
+++ b/man/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = man3 man5 man8
diff --git a/man/Makefile.in b/man/Makefile.in
new file mode 100644
index 0000000..f5a600a
--- /dev/null
+++ b/man/Makefile.in
@@ -0,0 +1,566 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = man
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CRYPTOLIB = @CRYPTOLIB@
+CRYPTO_PACKAGE = @CRYPTO_PACKAGE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OPENSSL_LIB_DIR = @OPENSSL_LIB_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RPC = @RPC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TCSD_DEFAULT_PORT = @TCSD_DEFAULT_PORT@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = man3 man5 man8
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign man/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/man/man3/Makefile.am b/man/man3/Makefile.am
new file mode 100644
index 0000000..0cf6127
--- /dev/null
+++ b/man/man3/Makefile.am
@@ -0,0 +1,90 @@
+man3_MANS = Tspi_ChangeAuth.3 \
+ Tspi_ChangeAuthAsym.3 \
+ Tspi_Context_Close.3 \
+ Tspi_Context_CloseObject.3 \
+ Tspi_Context_Connect.3 \
+ Tspi_Context_Create.3 \
+ Tspi_Context_CreateObject.3 \
+ Tspi_Context_FreeMemory.3 \
+ Tspi_Context_GetCapability.3 \
+ Tspi_Context_GetDefaultPolicy.3 \
+ Tspi_Context_GetKeyByPublicInfo.3 \
+ Tspi_Context_GetKeyByUUID.3 \
+ Tspi_Context_GetRegisteredKeysByUUID.3 \
+ Tspi_Context_GetRegisteredKeysByUUID2.3 \
+ Tspi_Context_GetTpmObject.3 \
+ Tspi_Context_LoadKeyByBlob.3 \
+ Tspi_Context_LoadKeyByUUID.3 \
+ Tspi_Context_RegisterKey.3 \
+ Tspi_Context_UnregisterKey.3 \
+ Tspi_Data_Bind.3 \
+ Tspi_Data_Seal.3 \
+ Tspi_Data_Unbind.3 \
+ Tspi_Data_Unseal.3 \
+ Tspi_DecodeBER_TssBlob.3 \
+ Tspi_EncodeDER_TssBlob.3 \
+ Tspi_GetAttribData.3 \
+ Tspi_GetAttribUint32.3 \
+ Tspi_GetPolicyObject.3 \
+ Tspi_Hash_GetHashValue.3 \
+ Tspi_Hash_SetHashValue.3 \
+ Tspi_Hash_Sign.3 \
+ Tspi_Hash_UpdateHashValue.3 \
+ Tspi_Hash_VerifySignature.3 \
+ Tspi_Key_CertifyKey.3 \
+ Tspi_Key_ConvertMigrationBlob.3 \
+ Tspi_Key_CreateKey.3 \
+ Tspi_Key_CreateMigrationBlob.3 \
+ Tspi_Key_GetPubKey.3 \
+ Tspi_Key_LoadKey.3 \
+ Tspi_Key_UnloadKey.3 \
+ Tspi_Key_WrapKey.3 \
+ Tspi_PcrComposite_GetPcrValue.3 \
+ Tspi_PcrComposite_SelectPcrIndex.3 \
+ Tspi_PcrComposite_SetPcrValue.3 \
+ Tspi_Policy_AssignToObject.3 \
+ Tspi_Policy_FlushSecret.3 \
+ Tspi_Policy_SetSecret.3 \
+ Tspi_SetAttribData.3 \
+ Tspi_SetAttribUint32.3 \
+ Tspi_TPM_AuthorizeMigrationTicket.3 \
+ Tspi_TPM_CertifySelfTest.3 \
+ Tspi_TPM_CheckMaintenancePubKey.3 \
+ Tspi_TPM_ClearOwner.3 \
+ Tspi_TPM_CollateIdentityRequest.3 \
+ Tspi_TPM_CreateEndorsementKey.3 \
+ Tspi_TPM_CreateMaintenanceArchive.3 \
+ Tspi_TPM_DirRead.3 \
+ Tspi_TPM_DirWrite.3 \
+ Tspi_TPM_GetCapability.3 \
+ Tspi_TPM_GetEvent.3 \
+ Tspi_TPM_GetEventLog.3 \
+ Tspi_TPM_GetEvents.3 \
+ Tspi_TPM_GetPubEndorsementKey.3 \
+ Tspi_TPM_GetRandom.3 \
+ Tspi_TPM_GetStatus.3 \
+ Tspi_TPM_GetTestResult.3 \
+ Tspi_TPM_KillMaintenanceFeature.3 \
+ Tspi_TPM_LoadMaintenancePubKey.3 \
+ Tspi_TPM_PcrRead.3 \
+ Tspi_TPM_PcrExtend.3 \
+ Tspi_TPM_Quote.3 \
+ Tspi_TPM_SelfTestFull.3 \
+ Tspi_TPM_SetStatus.3 \
+ Tspi_TPM_StirRandom.3 \
+ Tspi_TPM_TakeOwnership.3 \
+ Tspi_DAA_IssueCredential.3 \
+ Tspi_DAA_VerifySignature.3 \
+ Tspi_DAA_IssueInit.3 \
+ Tspi_TPM_DAA_JoinCreateDaaPubKey.3 \
+ Tspi_DAA_IssuerKeyVerification.3 \
+ Tspi_TPM_DAA_JoinInit.3 \
+ Tspi_DAA_IssueSetup.3 \
+ Tspi_TPM_DAA_JoinStoreCredential.3 \
+ Tspi_DAA_VerifyInit.3 \
+ Tspi_TPM_DAA_Sign.3 \
+ Tspi_TPM_GetAuditDigest.3 \
+ Tspi_TPM_OwnerGetSRKPubKey.3 \
+ Tspi_TPM_Quote.3 \
+ Tspi_TPM_CMKSetRestrictions.3
+EXTRA_DIST = $(man3_MANS)
diff --git a/man/man3/Makefile.in b/man/man3/Makefile.in
new file mode 100644
index 0000000..ad5857c
--- /dev/null
+++ b/man/man3/Makefile.in
@@ -0,0 +1,532 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = man/man3
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+man3dir = $(mandir)/man3
+am__installdirs = "$(DESTDIR)$(man3dir)"
+NROFF = nroff
+MANS = $(man3_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CRYPTOLIB = @CRYPTOLIB@
+CRYPTO_PACKAGE = @CRYPTO_PACKAGE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OPENSSL_LIB_DIR = @OPENSSL_LIB_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RPC = @RPC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TCSD_DEFAULT_PORT = @TCSD_DEFAULT_PORT@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+man3_MANS = Tspi_ChangeAuth.3 \
+ Tspi_ChangeAuthAsym.3 \
+ Tspi_Context_Close.3 \
+ Tspi_Context_CloseObject.3 \
+ Tspi_Context_Connect.3 \
+ Tspi_Context_Create.3 \
+ Tspi_Context_CreateObject.3 \
+ Tspi_Context_FreeMemory.3 \
+ Tspi_Context_GetCapability.3 \
+ Tspi_Context_GetDefaultPolicy.3 \
+ Tspi_Context_GetKeyByPublicInfo.3 \
+ Tspi_Context_GetKeyByUUID.3 \
+ Tspi_Context_GetRegisteredKeysByUUID.3 \
+ Tspi_Context_GetRegisteredKeysByUUID2.3 \
+ Tspi_Context_GetTpmObject.3 \
+ Tspi_Context_LoadKeyByBlob.3 \
+ Tspi_Context_LoadKeyByUUID.3 \
+ Tspi_Context_RegisterKey.3 \
+ Tspi_Context_UnregisterKey.3 \
+ Tspi_Data_Bind.3 \
+ Tspi_Data_Seal.3 \
+ Tspi_Data_Unbind.3 \
+ Tspi_Data_Unseal.3 \
+ Tspi_DecodeBER_TssBlob.3 \
+ Tspi_EncodeDER_TssBlob.3 \
+ Tspi_GetAttribData.3 \
+ Tspi_GetAttribUint32.3 \
+ Tspi_GetPolicyObject.3 \
+ Tspi_Hash_GetHashValue.3 \
+ Tspi_Hash_SetHashValue.3 \
+ Tspi_Hash_Sign.3 \
+ Tspi_Hash_UpdateHashValue.3 \
+ Tspi_Hash_VerifySignature.3 \
+ Tspi_Key_CertifyKey.3 \
+ Tspi_Key_ConvertMigrationBlob.3 \
+ Tspi_Key_CreateKey.3 \
+ Tspi_Key_CreateMigrationBlob.3 \
+ Tspi_Key_GetPubKey.3 \
+ Tspi_Key_LoadKey.3 \
+ Tspi_Key_UnloadKey.3 \
+ Tspi_Key_WrapKey.3 \
+ Tspi_PcrComposite_GetPcrValue.3 \
+ Tspi_PcrComposite_SelectPcrIndex.3 \
+ Tspi_PcrComposite_SetPcrValue.3 \
+ Tspi_Policy_AssignToObject.3 \
+ Tspi_Policy_FlushSecret.3 \
+ Tspi_Policy_SetSecret.3 \
+ Tspi_SetAttribData.3 \
+ Tspi_SetAttribUint32.3 \
+ Tspi_TPM_AuthorizeMigrationTicket.3 \
+ Tspi_TPM_CertifySelfTest.3 \
+ Tspi_TPM_CheckMaintenancePubKey.3 \
+ Tspi_TPM_ClearOwner.3 \
+ Tspi_TPM_CollateIdentityRequest.3 \
+ Tspi_TPM_CreateEndorsementKey.3 \
+ Tspi_TPM_CreateMaintenanceArchive.3 \
+ Tspi_TPM_DirRead.3 \
+ Tspi_TPM_DirWrite.3 \
+ Tspi_TPM_GetCapability.3 \
+ Tspi_TPM_GetEvent.3 \
+ Tspi_TPM_GetEventLog.3 \
+ Tspi_TPM_GetEvents.3 \
+ Tspi_TPM_GetPubEndorsementKey.3 \
+ Tspi_TPM_GetRandom.3 \
+ Tspi_TPM_GetStatus.3 \
+ Tspi_TPM_GetTestResult.3 \
+ Tspi_TPM_KillMaintenanceFeature.3 \
+ Tspi_TPM_LoadMaintenancePubKey.3 \
+ Tspi_TPM_PcrRead.3 \
+ Tspi_TPM_PcrExtend.3 \
+ Tspi_TPM_Quote.3 \
+ Tspi_TPM_SelfTestFull.3 \
+ Tspi_TPM_SetStatus.3 \
+ Tspi_TPM_StirRandom.3 \
+ Tspi_TPM_TakeOwnership.3 \
+ Tspi_DAA_IssueCredential.3 \
+ Tspi_DAA_VerifySignature.3 \
+ Tspi_DAA_IssueInit.3 \
+ Tspi_TPM_DAA_JoinCreateDaaPubKey.3 \
+ Tspi_DAA_IssuerKeyVerification.3 \
+ Tspi_TPM_DAA_JoinInit.3 \
+ Tspi_DAA_IssueSetup.3 \
+ Tspi_TPM_DAA_JoinStoreCredential.3 \
+ Tspi_DAA_VerifyInit.3 \
+ Tspi_TPM_DAA_Sign.3 \
+ Tspi_TPM_GetAuditDigest.3 \
+ Tspi_TPM_OwnerGetSRKPubKey.3 \
+ Tspi_TPM_Quote.3 \
+ Tspi_TPM_CMKSetRestrictions.3
+
+EXTRA_DIST = $(man3_MANS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/man3/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign man/man3/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man3: $(man3_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
+ @list='$(man3_MANS)'; test -n "$(man3dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man3:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man3_MANS)'; test -n "$(man3dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(man3dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man3
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man
+
+uninstall-man: uninstall-man3
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man3 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-man uninstall-man3
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/man/man3/Tspi_ChangeAuth.3 b/man/man3/Tspi_ChangeAuth.3
new file mode 100644
index 0000000..6a9b9f6
--- /dev/null
+++ b/man/man3/Tspi_ChangeAuth.3
@@ -0,0 +1,75 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Change_Auth" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_ChangeAuth \- change the authorization data of an entity.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_ChangeAuth(TSS_HOBJECT " hObjectToChange ", TSS_HOBJECT " hParentObject ","
+.BI " TSS_HPOLICY " hNewPolicy " );"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_ChangeAuth \fR changes the authorization data (secret) of an entity (object) and assigns the object to the policy object. All classes using secrets provide this method for changing their authorization data.
+.SH "PARAMETERS"
+.PP
+.SS hObjectToChange
+Handle of the object to change authorization for.
+.PP
+.SS hParentObject
+Handle of the parent object wrapping the object addressed by hObjectToChange.
+.PP
+.SS hNewPolicy
+Handle of the policy object providing the new authorization data.
+.SH "RETURN CODES"
+.PP
+\fBTspi_ChangeAuth\fR returns TSS_SUCCESS on success,otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhObjectToChange\fR, or \fIhParentObject\fR are not a valid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_ChangeAuth\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_ChangeAuthAsym\fR(3).
+
+
+
diff --git a/man/man3/Tspi_ChangeAuthAsym.3 b/man/man3/Tspi_ChangeAuthAsym.3
new file mode 100644
index 0000000..4672601
--- /dev/null
+++ b/man/man3/Tspi_ChangeAuthAsym.3
@@ -0,0 +1,76 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_ChangeAuthAsym" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_ChangeAuthAsym \- change the authorization data of an entity using asymmetric change protocol.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_ChangeAuthAsym(TSS_HOBJECT " hObjectToChange ", TSS_HOBJECT " hParentObject ","
+.BI " TSS_HKEY " hIdentKey ", TSS_HPOLICY " hNewPolicy ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_ChangeAuthAsym\fR changes the authorization data (secret) of an entity (object) utilizing the asymmetric change protocol and assigns the object to the policy object. All classes using secrets provide this method for changing their authorization data.
+This method changes the authorization data of an object ensuring that the parent of the object does not get knowledge of the new secret.
+.SH "PARAMETERS"
+.PP
+.SS hObjectToChange
+Handle of the object the authorization data should be changed.
+.PP
+.SS hParentObject
+Handle of the parent object wrapping the object addressed by \fIhObjectToChange\fR.
+.PP
+.SS hIdentKey
+Handle of the identity key object required to proof the internally created temporary key.
+.PP
+.SS hNewPolicy
+Handle of the policy object providing the new authorization data.
+.SH "RETURN CODES"
+.PP
+\fBTspi_ChangeAuthAsym\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhObjectToChange\fR, \fIhParentObject\fR, or \fIhIdentKey\fR is an invalid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_ChangeAuthAsym\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_ChangeAuth\fR(3).
diff --git a/man/man3/Tspi_Context_Close.3 b/man/man3/Tspi_Context_Close.3
new file mode 100644
index 0000000..c8c7da4
--- /dev/null
+++ b/man/man3/Tspi_Context_Close.3
@@ -0,0 +1,68 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_Close" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_Close \- destroy a TSP context handle.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_Close(TSS_HCONTEXT " hLocalContext ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Context_Close\fR destroys a context by passing in the handle to that context.
+.SH "PARAMETERS"
+.PP
+.SS hLocalContext
+The handle to the context to be closed.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_Close\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhLocalContext\fR is an invalid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_Close\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_Create\fR(3), \fBTspi_Context_Connect\fR(3).
+
+
+
diff --git a/man/man3/Tspi_Context_CloseObject.3 b/man/man3/Tspi_Context_CloseObject.3
new file mode 100644
index 0000000..eabf74e
--- /dev/null
+++ b/man/man3/Tspi_Context_CloseObject.3
@@ -0,0 +1,69 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_CloseObject" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_CloseObject \- destroy resources associated with an object handle.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI " TSS_RESULT Tspi_Context_CloseObject(TSS_HCONTEXT " hContext ", TSS_HOBJECT " hObject ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Context_CloseObject\fR destroys the object associated with the object handle. All allocated resources associated within the object are also released.
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The handle of the context object.
+.PP
+.SS hObject
+The handle of the object to be destroyed.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_CloseObject\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhContext\fR or \fIhObject\fR are invalid handles.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_CloseObject\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_CreateObject\fR(3).
+
+
+
diff --git a/man/man3/Tspi_Context_Connect.3 b/man/man3/Tspi_Context_Connect.3
new file mode 100644
index 0000000..f92bc2f
--- /dev/null
+++ b/man/man3/Tspi_Context_Connect.3
@@ -0,0 +1,69 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_Connect" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME.
+Tspi_Context_Connect\- connect a TSP to a Core Services daemon
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_Connect(TSS_HCONTEXT " hLocalContext ", UNICODE* " wszDestination ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Context_Connect\fR creates a connetion between the application and the local or remote TSS System.
+.SH "PARAMETERS"
+.PP
+.SS hLocalContext
+The handle to the context to be connected.
+.PP
+.SS wszDestination
+A null terminated unicode string which specifies the local or remote system to which one will be connected. If \fIwszDestination\fR is NULL, the connection will be to a local TCS.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_Connect\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhLocalContext\fR is an invalid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_Connect\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_Create\fR(3), \fBTspi_Context_Close\fR(3).
+
+
diff --git a/man/man3/Tspi_Context_Create.3 b/man/man3/Tspi_Context_Create.3
new file mode 100644
index 0000000..1a7cd48
--- /dev/null
+++ b/man/man3/Tspi_Context_Create.3
@@ -0,0 +1,66 @@
+.\" Copyright (C) 2005 International Business Machines Corporation
+.\" Written by Kent Yoder based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_Create" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_Create \- create a TSP context handle.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_Create(TSS_HCONTEXT* " phContext ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Context_Create\fR creates a handle to a new context object. The context is then used by other API functions to track resources related to it.
+.SH "PARAMETERS"
+.PP
+.SS phContext
+Receives the handle to the created context object.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_Create\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INTERNAL_ERROR - An internal error occurred in the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_Create\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_Close\fR(3), \fBTspi_Context_Connect\fR(3).
+
+
+
diff --git a/man/man3/Tspi_Context_CreateObject.3 b/man/man3/Tspi_Context_CreateObject.3
new file mode 100644
index 0000000..1438629
--- /dev/null
+++ b/man/man3/Tspi_Context_CreateObject.3
@@ -0,0 +1,125 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_CreateObject" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_CreateObject \- create an empty object and return a handle to that object.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_CreateObject(TSS_HCONTEXT " hContext ", TSS_FLAG " objectType ","
+.BI " TSS_FLAG " initFlags ", TSS_HOBJECT* " phObject ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Context_CreateObject\fR creates and initializes an empty object of the specified type and returns a handle addressing that object. The object is bound to an already opened context \fIhContext\fR.
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The handle of the context object.
+.PP
+.SS objectType
+Flag indicating the object type to create. Possible types are:
+.TP
+.SM TSS_OBJECT_TYPE_POLICY - a policy object.
+.TP
+.SM TSS_OBJECT_TYPE_ENCDATA - an encrypted data object (either sealed or bound data).
+.TP
+.SM TSS_OBJECT_TYPE_RSAKEY - an RSA key.
+.TP
+.SM TSS_OBJECT_TYPE_PCRS - a PCR composite object.
+.TP
+.SM TSS_OBJECT_TYPE_HASH - a hash object.
+.PP
+.SS initFlags
+Flag indicating the default attributes of the object. Attributes for each type of object are:
+.TP
+.SM Policy:
+ \fBTSS_POLICY_USAGE\fR - a usage policy (for authorization to use an object).
+ \fBTSS_POLICY_MIGRATION\fR - a migration policy.
+.TP
+.SM Encrypted data objects:
+ \fBTSS_ENCDATA_SEAL\fR - A data object used for a Seal operation.
+ \fBTSS_ENCDATA_BIND\fR - A data object used for a Bind operation.
+ \fBTSS_ENCDATA_LEGACY\fR - A data object for a bind operation using a legacy key.
+.TP
+.SM RSA Keys:
+ \fBTSS_KEY_SIZE_DEFAULT\fR - Use the default key size of the TCS you're connected to.
+ \fBTSS_KEY_SIZE_512\fR - Create a 512 bit key.
+ \fBTSS_KEY_SIZE_1024\fR - Create a 1024 bit key.
+ \fBTSS_KEY_SIZE_2048\fR - Create a 2048 bit key.
+ \fBTSS_KEY_SIZE_4096\fR - Create a 4096 bit key.
+ \fBTSS_KEY_SIZE_8192\fR - Create a 8192 bit key.
+ \fBTSS_KEY_SIZE_16384\fR - Create a 16384 bit key.
+ \fBTSS_KEY_TYPE_STORAGE\fR - Create a storage key. (Used to wrap other keys).
+ \fBTSS_KEY_TYPE_SIGNING\fR - Create a signing key.
+ \fBTSS_KEY_TYPE_BIND\fR - Create a binding key. (Used to encrypt data).
+ \fBTSS_KEY_TYPE_IDENTITY\fR - Create an identity key. (Used for an identity).
+ \fBTSS_KEY_TYPE_LEGACY\fR - Create a legacy key. (Can be used for signing and binding, created from data external to a TSS).
+ \fBTSS_KEY_TYPE_AUTHCHANGE\fR - Create an ephemeral key used to change authorization values.
+ \fBTSS_KEY_VOLATILE\fR - Create a volatile key. (Must be unloaded at startup).
+ \fBTSS_KEY_NON_VOLATILE\fR - Create a non-volatile key. (May be unloaded at startup).
+ \fBTSS_KEY_MIGRATABLE\fR - Create a migratable key.
+ \fBTSS_KEY_NOT_MIGRATABLE\fR - Create a non-migratable key. [DEFAULT]
+ \fBTSS_KEY_AUTHORIZATION\fR - Key will require authorization.
+ \fBTSS_KEY_NO_AUTHORIZATION\fR - Key will not require authorization. [DEFAULT]
+ \fBTSS_KEY_EMPTY_KEY\fR - Key template which will be returned as an object with very few attributes.
+
+.TP
+.SM PCR composite objects:
+ None.
+.TP
+.SM Hash objects:
+ \fBTSS_HASH_SHA1\fR - a hash object of type SHA-1.
+ \fBTSS_HASH_OTHER\fR - a hash object of type other than SHA-1.
+.PP
+.PP
+.SS phObject
+The handle of the object to be created.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_CreateObject\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhContext\fR or \fIphObject\fR is an invalid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_CreateObject\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_CloseObject\fR(3).
diff --git a/man/man3/Tspi_Context_FreeMemory.3 b/man/man3/Tspi_Context_FreeMemory.3
new file mode 100644
index 0000000..417ae38
--- /dev/null
+++ b/man/man3/Tspi_Context_FreeMemory.3
@@ -0,0 +1,81 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_FreeMemory" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_Context_FreeMemory \- Free allocated memory for a given context.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.br
+.HP
+.BI "TSS_RESULT Tspi_Context_FreeMemory(TSS_HCONTEXT " hContext ", BYTE* " rgbMemory ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Context_FreeMemory\fR frees memory allocated by the TSS Service Provider on a per-context basis.
+This should be used before Tspi_Context_Close is called, to avoid memory leaks.
+
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The \fIhContext\fR parameter is the handle to the local context.
+.SS rgbMemory
+The \fIrgbMemory\fR parameter is a pointer to the memory block to
+be freed. If this is NULL, all memory blocks bound to the context are freed.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_FreeMemory\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhContext\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_FreeMemory\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_Create\fR(3), \fBTspi_Context_Close\fR(3).
+
diff --git a/man/man3/Tspi_Context_GetCapability.3 b/man/man3/Tspi_Context_GetCapability.3
new file mode 100644
index 0000000..9a48b49
--- /dev/null
+++ b/man/man3/Tspi_Context_GetCapability.3
@@ -0,0 +1,83 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_GetCapability" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_GetCapability \- provide the capabilites of a TSS Core Service, TSS Service Provider, or TPM.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_GetCapability(TSS_HCONTEXT " hContext ", TSS_FLAG " capArea ","
+.BI " UINT32 " ulSubCapLength ", BYTE* " rgbSubCap ","
+.BI " UINT32* " pulRespDataLength ", BYTE** " prgbRespData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Context_GetCapability\fR provides the capabilities of the TSS Core Service or TSS Service Provider
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The handle of the context object.
+.PP
+.SS capArea
+Flag indicating the attribute to query.
+.PP
+.SS ulSubCapLength
+The length (in bytes) of the rgbSubCap parameter.
+.PP
+.SS rgbSubCap
+Data indicating the attribute to query.
+.PP
+.SS pulRespDataLength
+Recieves the length (in bytes) of the prgbRespData parameter.
+.PP
+.SS prgbRespData
+On successful completion of the command, this parameter points to a buffer containing the actual data of the specified capability.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_GetCapability\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
+.TP
+.SM TSS_E_BAD_PARAMETER - One of the parameters did not match.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_GetCapability\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fB(none)\fR.
diff --git a/man/man3/Tspi_Context_GetDefaultPolicy.3 b/man/man3/Tspi_Context_GetDefaultPolicy.3
new file mode 100644
index 0000000..fba2f7c
--- /dev/null
+++ b/man/man3/Tspi_Context_GetDefaultPolicy.3
@@ -0,0 +1,82 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_GetDefaultPolicy" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_Context_GetDefaultPolicy \- Get a handle to the default policy object
+of a given context.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.HP
+.BI "TSS_RESULT Tspi_Context_GetDefaultPolicy(TSS_HCONTEXT " hContext ", TSS_HPOLICY " *phPolicy "); "
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Context_GetDefaultPolicy\fR
+determines what policy is used by all of the keys in a given context.
+
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The \fIhContext\fR parameter is the handle of the context object.
+.SS phPolicy
+The \fIphPolicy\fR parameter receives the handle of the default
+policy object bound to the context.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_GetDefaultPolicy\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhContext\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_GetDefaultPolicy\fR conforms to the Trusted Computing
+Group Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_Create\fR(3), \fBTspi_Context_Connect\fR(3),
+\fBTspi_Context_FreeMemory\fR(3), \fBTspi_Context_Close\fR(3).
+
diff --git a/man/man3/Tspi_Context_GetKeyByPublicInfo.3 b/man/man3/Tspi_Context_GetKeyByPublicInfo.3
new file mode 100644
index 0000000..3f0a881
--- /dev/null
+++ b/man/man3/Tspi_Context_GetKeyByPublicInfo.3
@@ -0,0 +1,81 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_GetKeyByPublicInfo" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_GetKeyByPublicInfo \- search the persistent storage for a registered key using the provided public key information
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_GetKeyByPublicInfo(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
+.BI " TSS_ALGORITHM_ID " algID ", UINT32 " ulPublicInfoLength ","
+.BI " BYTE* " rgbPublicInfo ", TSS_HKEY* " phKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Context_GetKeyByPublicInfo\fR searches the persistent storage for a registered key using the provided public key information and creates a key object initalized according to the found data. On successful completion of the method a handle to the created new key object is returned.
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The handle of the context object.
+.PP
+.SS persistentStorageType
+Flag indicating the persistent storage the key is registered in.
+.PP
+.SS algId
+This parameter indicates the algorithm of the requested key.
+.PP
+.SS ulPublicInfoLength
+The length of the public key info provided at the parameter rgbPublicInfo.
+.PP
+.SS rgbPublicInfo
+The public key info is provided to identify the key to be look for at the persistent storage. In case algID equals to TSS_ALG_RSA this prameter contains the modulus of the public RSA key.
+.PP
+.SS hKey
+Recieves the handle of the key object representing the key. In case the key hasn't been found, this value will be NULL.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_GetKeyByPublicInfo\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_GetKeyByPublicInfo\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_LoadKeyByUUID\fR(3).
diff --git a/man/man3/Tspi_Context_GetKeyByUUID.3 b/man/man3/Tspi_Context_GetKeyByUUID.3
new file mode 100644
index 0000000..c68c22e
--- /dev/null
+++ b/man/man3/Tspi_Context_GetKeyByUUID.3
@@ -0,0 +1,98 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_GetKeyByUUID" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_Context_GetKeyByUUID \- get a handle to a key registered in persistent storage.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_GetKeyByUUID(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
+.BI " TSS_UUID " uuidData ", TSS_HKEY* " phKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Context_GetKeyByUUID\fR searches the Persistent Storage database for a registered key using the
+given UUID. It then creates a key object initialized to the found data and
+returns a handle to the key object.
+
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The \fIhContext\fR parameter is the handle of the context object.
+.SS persistentStorageType
+The \fIpersistentStorageType\fR parameter indicates the persistent
+storage the key is registered in.
+.SS uuidData
+The \fIuuidData\fR parameter is the UUID by which the key is registered in
+persistent storage.
+.SS phKey
+The \fIphKey\fR parameter receives the handle of the key object representing
+the key.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_GetKeyByUUID\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhContext\fR is an invalid handle.
+
+.TP
+.SM TSS_E_PS_KEY_NOTFOUND
+The key cannot be found in the persistent storage database.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_GetKeyByUUID\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_GetTpmObject\fR(3), \fBTspi_Context_LoadKeyByUUID\fR(3),
+\fBTspi_Context_GetRegisteredKeysByUUID\fR(3),
+\fBTspi_Context_GetKeyByPublicInfo\fR(3).
+
diff --git a/man/man3/Tspi_Context_GetRegisteredKeysByUUID.3 b/man/man3/Tspi_Context_GetRegisteredKeysByUUID.3
new file mode 100644
index 0000000..c371481
--- /dev/null
+++ b/man/man3/Tspi_Context_GetRegisteredKeysByUUID.3
@@ -0,0 +1,81 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_GetRegisteredKeysByUUID" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_GetRegisteredKeysByUUID \- get an array of TSS_KM_KEYINFO structures based on the state of persistent storage.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_GetRegisteredKeysByUUID(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
+.BI " TSS_UUID* " pUuidData ", UINT32* " pulKeyHierarchySize ","
+.BI " TSS_KM_KEYINFO** " ppKeyHierarchy ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Context_GetRegisteredKeysByUUID\fR gets an array of TSS_KM_KEYINFO structures. This information reflects the state of the registered key hierarchy. The keys stored in the persistent storage are totallly independent from either the context provided in the function call or the context, which was provided while processing the key registration.
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The handle of the context object.
+.PP
+.SS persistentStorageType
+Flag indicating the persistent storage the key is registered in.
+.PP
+.SS pUuidData
+The UUID the key was registered in the persistent storage (TSP or connected TCS). If no key UUID is provided, thus KeyUUID is NULL, the returned array of the TSS_KM_KEYINFO structure contins data reflecting the whole key hierarchy starting with root key. If a certain key is UUID is provided, the returned array of TSS_KM_KEYINFO structures only contains data reflecting the path of the key hierarchy regarding that key. The first array entry is the key addressed by the given UUID followed by its parent key up to the root key.
+.PP
+.SS pulKeyHierarchySize
+Recieves the length (number of array entries) of the ppKeyHierarchy parameter.
+.PP
+.SS ppKeyHierarchy
+On successful completion of the command, this parameter points to a buffer containing the actual key hierarchy data.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_GetRegisteredKeysByUUID\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_GetRegisteredKeysByUUID\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_LoadKeyByUUID\fR(3).
diff --git a/man/man3/Tspi_Context_GetRegisteredKeysByUUID2.3 b/man/man3/Tspi_Context_GetRegisteredKeysByUUID2.3
new file mode 100644
index 0000000..86e3d09
--- /dev/null
+++ b/man/man3/Tspi_Context_GetRegisteredKeysByUUID2.3
@@ -0,0 +1,82 @@
+.\" Copyright (C) 2004,2007 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\" Revised by Ramon Brandão based on Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_GetRegisteredKeysByUUID2" 3 "2007-07-06" "TSS 1.2" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_GetRegisteredKeysByUUID2 \- get an array of TSS_KM_KEYINFO2 structures based on the state of persistent storage.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_GetRegisteredKeysByUUID2(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
+.BI " TSS_UUID* " pUuidData ", UINT32* " pulKeyHierarchySize ","
+.BI " TSS_KM_KEYINFO2** " ppKeyHierarchy ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Context_GetRegisteredKeysByUUID2\fR gets an array of TSS_KM_KEYINFO2 structures. This information reflects the state of the registered key hierarchy. The keys stored in the persistent storage are totallly independent from either the context provided in the function call or the context, which was provided while processing the key registration.
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The handle of the context object.
+.PP
+.SS persistentStorageType
+Flag indicating the persistent storage the key is registered in.
+.PP
+.SS pUuidData
+The UUID the key was registered in the persistent storage (TSP or connected TCS). If no key UUID is provided, thus KeyUUID is NULL, the returned array of the TSS_KM_KEYINFO2 structure contains data reflecting the whole key hierarchy starting with root key. If a certain key is UUID is provided, the returned array of TSS_KM_KEYINFO2 structures only contains data reflecting the path of the key hierarchy regarding that key. The first array entry is the key addressed by the given UUID followed by its parent key up to the root key.
+.PP
+.SS pulKeyHierarchySize
+Recieves the length (number of array entries) of the ppKeyHierarchy parameter.
+.PP
+.SS ppKeyHierarchy
+On successful completion of the command, this parameter points to a buffer containing the actual key hierarchy data.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_GetRegisteredKeysByUUID2\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_GetRegisteredKeysByUUID2\fR conforms to the Trusted Computing Group Software Specification version 1.2
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_LoadKeyByUUID\fR(3).
diff --git a/man/man3/Tspi_Context_GetTpmObject.3 b/man/man3/Tspi_Context_GetTpmObject.3
new file mode 100644
index 0000000..8acb8ce
--- /dev/null
+++ b/man/man3/Tspi_Context_GetTpmObject.3
@@ -0,0 +1,86 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_GetTpmObject" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Context_GetTpmObject \- get the handle of the TPM object associated with a context.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.br
+.HP
+.BI "TSS_RESULT Tspi_Context_GetTpmObject(TSS_HCONTEXT " hContext ", TSS_HTPM* " phTPM "); "
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Context_GetTpmObject\fR retrieves the TPM object of a context. Only one instance of this
+object exists for a given context and implicitly represents a TPM owner. This function is normally called at the beginning of a program, right after the context is established. You must have a context established prior to calling this function.
+
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The \fIhContext\fR parameter is the handle of the context object
+(already existing).
+.SS phTPM
+The \fIphTPM\fR parameter is a pointer to where the handle of the
+TPM will be placed.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_GetTpmObject\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhContext\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more of the parameters is incorrect.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_GetTpmObject\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_Create\fR(3), \fBTspi_Context_Connect\fR(3), \fBTspi_Context_FreeMemory\fR(3), \fBTspi_Context_Close\fR(3).
+
diff --git a/man/man3/Tspi_Context_LoadKeyByBlob.3 b/man/man3/Tspi_Context_LoadKeyByBlob.3
new file mode 100644
index 0000000..0d0c6cd
--- /dev/null
+++ b/man/man3/Tspi_Context_LoadKeyByBlob.3
@@ -0,0 +1,98 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_LoadKeyByBlob" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_Context_LoadKeyByBlob \- load a key into the TPM using the key's blob.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_LoadKeyByBlob(TSS_HCONTEXT " hContext ", TSS_HKEY " hUnwrappingKey ","
+.BI " UINT32 " ulBlobLength ", BYTE* " rgbBlobData ","
+.BI " TSS_HKEY* " phKey "); "
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Context_LoadKeyByBlob\fR
+creates a key based on the information gotten by the key blob. It then
+loads the key into the TPM, which unwraps the key blob by using the key
+associated with \fIhUnwrappingKey\fR. The key blob addressed by
+\fihUnwrappingKey\fR must have been already loaded into the TPM. This
+function returns a handle to the created key object.
+
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The \fIhContext\fR parameter is the handle of the context object.
+.SS hUnwrappingKey
+The \fIhUnwrappingKey\fR parameter is the handle of the key object
+which should be used to unwrap the key information associated with
+\fIrgbBlobData\fR.
+.SS rgbBlobData
+The \fIrgbBlobData\fR parameter is the wrapped key to load.
+.SS phKey
+The \fIphKey\fR parameter receives the handle of the key object
+representing the loaded key.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_LoadKeyByBlob\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhContext\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_LoadKeyByBlob\fR conforms to the Trusted Computing
+Group Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_LoadKeyByUUID\fR(3), \fBTspi_Policy_SetSecret\fR(3),
+\fBTspi_GetPolicyObject\fR(3), \fBTspi_Key_CreateKey\fR(3),
+\fBTspi_GetAttribUint32\fR(3).
+
diff --git a/man/man3/Tspi_Context_LoadKeyByUUID.3 b/man/man3/Tspi_Context_LoadKeyByUUID.3
new file mode 100644
index 0000000..3784de1
--- /dev/null
+++ b/man/man3/Tspi_Context_LoadKeyByUUID.3
@@ -0,0 +1,78 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_LoadKeyByUUID" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_LoadKeyByUUID \- load a key that's been registered in persistent storage.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_LoadKeyByUUID(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ", "
+.BI " TSS_UUID " uuidData ", TSS_HKEY* " phKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Context_LoadKeyByUUID\fR
+creates a key object based on the information got from the manager using the UUID and loads the key into the TPM. The persistent storage provides all information to load the parent keys required to load the key associated with the given UUID.
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The handle of the context object.
+.PP
+.SS persistentStorageType
+Flag indicating the persistent storage the key is registered in. Should be either TSS_PS_TYPE_USER ot TSS_PS_TYPE_SYSTEM.
+.PP
+.SS uuidData
+The UUID of the key by which the key was registered in the persistent storage (TSP or connected TCS).
+.PP
+.SS phKey
+Receives the handle of the key object representing the loaded key.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_LoadKeyByUUID\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
+.TP
+.SM TSS_E_BAD_PARAMETER - \fIpersistentStorageType\fR is not valid.
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_LoadKeyByUUID\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_LoadKeyByBlob(3)\fR, \fBTspi_Key_LoadKey(3)\fR.
diff --git a/man/man3/Tspi_Context_RegisterKey.3 b/man/man3/Tspi_Context_RegisterKey.3
new file mode 100644
index 0000000..fe68b76
--- /dev/null
+++ b/man/man3/Tspi_Context_RegisterKey.3
@@ -0,0 +1,170 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_RegisterKey" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_Context_RegisterKey \- register a key in the TSS Persistent Storage database
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_RegisterKey(TSS_HCONTEXT " hContext ", TSS_HKEY " hKey ","
+.BI " TSS_FLAG " persistentStorageType ", TSS_UUID " uuidKey ","
+.BI " TSS_FLAG " persistentStorageTypeParent ", TSS_UUID " uuidParentKey "); "
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Context_RegisterKey\fR is the API that
+registers a key with the TSS Persistent Storage database so that it
+can be loaded as necessary. It also includes all information required
+for loading the key, as well as information about its parent key.
+
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The \fIhContext\fR parameter is the handle of the context object.
+.SS hKey
+The \fIhKey\fR parameter is the handle of the key object addressing the key
+to be registered.
+.SS persistentStorageType
+The \fIpersistentStorageType\fR parameter indicates the persistent
+storage the key is registered in.
+.SS uuidKey
+The \fIuuidKey\fR parameter is the UUID by which the key is registered in
+persistent storage.
+.SS persistentStorageTypeParent
+The \fIpersistentStorageTypeParent\fR parameter indicates the persistent storage
+that the parent key is registered in.
+.SS uuidParentKey
+The \fIuuidParentKey\fR parameter is the UUID by which the parent key is
+registered in persistent storage.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_RegisterKey\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhContext\fR is not a valid handle.
+
+.TP
+.SM TSS_E_PS_KEY_NOTFOUND
+The key cannot be found in the persistent storage database.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "EXAMPLE"
+.nf
+#include <trousers/tss.h>
+
+int
+main(void)
+{
+ TSS_FLAGS initFlags = ...;
+ TSS_HKEY hKey, hSRK;
+ TSS_UUID keyUUID = {...};
+
+ // Create a TSP handle
+ result = Tspi_Context_Create(&hContext);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Connect to the TCSD
+ result = Tspi_Context_Connect(hContext, GLOBALSERVER);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Create the Key Object
+ result = Tspi_Context_CreateObject(hContext,
+ TSS_OBJECT_TYPE_RSAKEY,
+ initFlags, &hKey);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Load parent Key by UUID
+ result = Tspi_Context_LoadKeyByUUID(hContext, TSS_PS_TYPE_SYSTEM,
+ SRK_UUID, &hSRK);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Do policy/secret handling here
+
+ result = Tspi_Key_CreateKey(hKey, hSRK, 0);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Register the Key in System PS (on the TCSD's platform)
+ result = Tspi_Context_RegisterKey(hContext, hKey, TSS_PS_TYPE_SYSTEM,
+ keyUUID, TSS_PS_TYPE_SYSTEM,
+ SRK_UUID);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ /* ...
+ *
+ * Use the key as needed, exiting the program if necessary, reloading
+ * the key using Tspi_Context_LoadKeyByUUID() after each restart. Once
+ * the key is no longer useful, unregister it from system PS as part
+ * of clean up.
+ */
+
+ // Unregister the Key
+ result = Tspi_Context_UnregisterKey(hContext, TSS_PS_TYPE_SYSTEM,
+ migratableSignUUID, &hKey);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // exit, discarding hKey
+}
+.fi
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_RegisterKey\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_UnregisterKey\fR(3), \fBTspi_Context_LoadKeyByUUID\fR(3),
+\fBTspi_Context_GetRegisteredKeyByUUID\fR(3).
+
diff --git a/man/man3/Tspi_Context_UnregisterKey.3 b/man/man3/Tspi_Context_UnregisterKey.3
new file mode 100644
index 0000000..fbda588
--- /dev/null
+++ b/man/man3/Tspi_Context_UnregisterKey.3
@@ -0,0 +1,150 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Context_UnregisterKey" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Context_UnregisterKey \- unregister a key from the persistent storage device.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Context_UnregisterKey(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
+.BI " TSS_UUID " uuidKey ", TSS_HKEY* " phKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Context_UnregisterKey\fR
+provides the capabilities of the TSS Core Service or TSS Service Provider
+.SH "PARAMETERS"
+.PP
+.SS hContext
+The handle of the context object.
+.PP
+.SS persistentStorageType
+Flag indicating the persistent storage.
+.PP
+.SS uuidKey
+The UUID of the key to be removed from the persistent storage.
+.PP
+.SS phKey
+Recieves the handle of a key object containing the information from the archive.
+.PP
+.SS pulRespDataLength
+Recieves the length (in bytes) of the prgbRespData parameter.
+.PP
+.SS prgbRespData
+On successful completion of the command, this parameter points to the buffer containing the actual data of the specified capability.
+The handle of the object to be destroyed
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Context_UnregisterKey\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - the parameter \fIhContext\fR is an invalid parameter.
+.TP
+.SM TSS_E_PS_KEY_NOTFOUND - the parameter \fIuuidKey\fR is an invalid UUID.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "EXAMPLE"
+.nf
+#include <trousers/tss.h>
+
+int
+main(void)
+{
+ TSS_FLAGS initFlags = ...;
+ TSS_HKEY hKey, hSRK;
+ TSS_UUID keyUUID = {...};
+
+ // Create a TSP handle
+ result = Tspi_Context_Create(&hContext);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Connect to the TCSD
+ result = Tspi_Context_Connect(hContext, GLOBALSERVER);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Create the Key Object
+ result = Tspi_Context_CreateObject(hContext,
+ TSS_OBJECT_TYPE_RSAKEY,
+ initFlags, &hKey);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Load parent Key by UUID
+ result = Tspi_Context_LoadKeyByUUID(hContext, TSS_PS_TYPE_SYSTEM,
+ SRK_UUID, &hSRK);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Do policy/secret handling here
+
+ result = Tspi_Key_CreateKey(hKey, hSRK, 0);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // Register the Key in System PS (on the TCSD's platform)
+ result = Tspi_Context_RegisterKey(hContext, hKey, TSS_PS_TYPE_SYSTEM,
+ keyUUID, TSS_PS_TYPE_SYSTEM,
+ SRK_UUID);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ /* ...
+ *
+ * Use the key as needed, exiting the program if necessary, reloading
+ * the key using Tspi_Context_LoadKeyByUUID() after each restart. Once
+ * the key is no longer useful, unregister it from system PS as part
+ * of clean up.
+ */
+
+ // Unregister the Key
+ result = Tspi_Context_UnregisterKey(hContext, TSS_PS_TYPE_SYSTEM,
+ migratableSignUUID, &hKey);
+ if (result != TSS_SUCCESS)
+ Error_Path();
+
+ // exit, discarding hKey
+}
+.fi
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Context_UnregisterKey\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_CreateKey\fR(3), \fBTspi_Context_RegisterKey\fR(3).
diff --git a/man/man3/Tspi_DAA_IssueCredential.3 b/man/man3/Tspi_DAA_IssueCredential.3
new file mode 100644
index 0000000..144524a
--- /dev/null
+++ b/man/man3/Tspi_DAA_IssueCredential.3
@@ -0,0 +1,103 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_DAA_IssueCredential" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_DAA_IssueCredential \- issue a DAA credential for a TCG platform
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSPICALL Tspi_DAA_IssueCredential("
+.BI " TSS_HDAA " hDAA ","
+.BI " UINT32 " attributesIssuerLength ","
+.BI " BYTE** " attributesIssuer ","
+.BI " TSS_DAA_CREDENTIAL_REQUEST " credentialRequest ","
+.BI " TSS_DAA_JOIN_ISSUER_SESSION " joinSession ","
+.BI " TSS_DAA_CRED_ISSUER* " credIssuer
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_DAA_IssueCredential\fR
+is part of the DAA Issuer component. It's the last function out of 2 in order to issue a DAA
+Credential for a TCG Platform. It detects rogue TPM according to published rogue TPM DAA keys.
+This is an optional function and does not require a TPM or a TCS.
+
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS attributesIssuerLength
+The \fIattributesIssuerLength\fR parameter is the length of the attributesIssuer array, which is
+determined by the DAA Issuer public key (li). The length of a single attribute is if/8.
+.SS attributesIssuer
+The \fIattributesIssuer\fR parameter is the array of attributes to be encoded into the DAA Credential
+visible to the DAA Issuer .
+.SS credentialRequest
+The \fIcredentialRequest\fR parameter is the credential request of the Platform, it contains the
+blinded DAA public key of the platform on which the DAA Issuer will issue the credential the
+blinded attributes chosen by the Platform.
+.SS joinSession
+The \fIjoinSession\fR parameter is the structure containing the DAA Join session information.
+.SS credIssuer
+The \fIcredIssuer\fR parameter is the structure containing the DAA Credential issued by the DAA
+Issuer, the proof of correctness of the credential and the attributes chosen by the DAA Issuer.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_DAA_IssueCredential\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+.TP
+.SM TSS_E_DAA_AUTHENTICATION_ERROR
+The authentication proof of the TPM is incorrect.
+.TP
+.SM TSS_E_DAA_PSEUDONYM_ERROR
+The TPM is rogue.
+.TP
+.SM TSS_E_DAA_CREDENTIAL_REQUEST_PROOF_ERROR
+The proof of the credential request is incorrect.
+
+.SH "CONFORMING TO"
+.PP
+\fBTspi_DAA_IssueCredential\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_DAA_IssuerKeyVerification\fR(3)
+
diff --git a/man/man3/Tspi_DAA_IssueInit.3 b/man/man3/Tspi_DAA_IssueInit.3
new file mode 100644
index 0000000..dd32d72
--- /dev/null
+++ b/man/man3/Tspi_DAA_IssueInit.3
@@ -0,0 +1,113 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_DAA_IssueInit" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_DAA_IssueInit \- initialize the Issuer for a join operation
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSPICALL Tspi_DAA_IssueInit("
+.BI " TSS_HDAA " hDAA ","
+.BI " TSS_HKEY " issuerAuthPK ","
+.BI " TSS_HKEY " issuerKeyPair ","
+.BI " TSS_DAA_IDENTITY_PROOF " identityProof ","
+.BI " UINT32 " capitalUprimeLength ","
+.BI " BYTE* " capitalUprime ","
+.BI " UINT32 " daaCounter ","
+.BI " UINT32* " nonceIssuerLength ","
+.BI " BYTE** " nonceIssuer ","
+.BI " UINT32* " authenticationChallengeLength ","
+.BI " BYTE** " authenticationChallenge ","
+.BI " TSS_DAA_JOIN_ISSUER_SESSION* " joinSession
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_DAA_IssueInit\fR
+is a function that is part of the DAA Issuer component. It's the first function out of 2 in order
+to issue a DAA Credential for a TCG Platform. It assumes that the endorsement key and its associated
+credentials are from a genuine and valid TPM. (Verification of the credentials is a process defined
+by the TCG Infrastructure WG.)
+
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS issuerAuthPK
+The \fIissuerAuthPKh\fR parameter is the root authentication (public) key of DAA Issuer.
+.SS issuerKeyPair
+The \fIissuerKeyPair\fR parameter is the handle of the main DAA Issuer key pair (private and public portion).
+.SS identityProof
+The \fIidentityProof\fR parameter is the structure containing endorsement, platform and conformance
+credential of the TPM requesting the DAA Credential.
+.SS capitalUprimeLength
+The \fIcapitalUprimeLength\fR parameter is the length of capitalUprime which is .
+.SS capitalUprime
+The \fIcapitalUprime\fR parameter is U'.
+.SS daaCounter
+The \fIdaaCounter\fR parameter is the DAA counter.
+.SS nonceIssuerLength
+The \fInonceIssuerLength\fR parameter is the length of nonceIssuer (20 bytes).
+.SS nonceIssuer
+The \fInonceIssuer\fR parameter is the nonce of the DAA Issuer.
+.SS authenticationChallengeLength
+The \fIauthenticationChallengeLength\fR parameter is the length of authenticationChallenge
+(256 bytes - DAA_SIZE_NE1).
+.SS authenticationChallenge
+The \fIauthenticationChallenge\fR parameter is the second nonce of the DAA Issuer that is
+encrypted by the endorsement public key. It is used as a challenge to authenticate the TPM.
+.SS joinSession
+The \fIjoinSession\fR parameter is the structure containing the DAA Join session information.
+.SH "RETURN CODES"
+.PP
+\fBTspi_DAA_IssueInit\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either the DAA is not valid.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+.PP
+\fBTspi_DAA_IssueInit\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_DAA_IssuerKeyVerification\fR(3)
+
diff --git a/man/man3/Tspi_DAA_IssueSetup.3 b/man/man3/Tspi_DAA_IssueSetup.3
new file mode 100644
index 0000000..1f52b2b
--- /dev/null
+++ b/man/man3/Tspi_DAA_IssueSetup.3
@@ -0,0 +1,100 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_DAA_IssueSetup" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_DAA_IssueSetup \- generate a DAA Issuer public and private key
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSPICALL Tspi_DAA_IssueSetup("
+.BI " TSS_HDAA " hDAA ","
+.BI " UINT32 " issuerBaseNameLength ","
+.BI " BYTE* " issuerBaseName ","
+.BI " UINT32 " numberPlatformAttributes ","
+.BI " UINT32 " numberIssuerAttributes ","
+.BI " TSS_HKEY* " keyPair ","
+.BI " TSS_DAA_PK_PROOF** " identity_proof
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_DAA_IssueSetup\fR
+is part of the DAA Issuer component. It defines the generation of a DAA Issuer
+public and secret key. Further it defines the generation of a non-interactive proof (using
+the Fiat-Shamir heuristic) that the public keys were chosen correctly. The latter will guarantee
+the security requirements of the platform (respectively, its user), i.e., that the privacy and
+anonymity of signatures will hold.
+The generation of the authentication keys of the DAA Issuer, which are used to authenticate
+(main) DAA Issuer keys, is not defined by this function.
+This is an optional function and does not require a TPM or a TCS.
+
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS issuerBaseNameLength
+The \fIissuerBaseNameLength\fR parameter is the length of the issuerBaseName.
+.SS issuerBaseName
+The \fIissuerBaseName\fR parameter is the unique name of the DAA Issuer.
+.SS numberPlatformAttributes
+The \fInumberPlatformAttributes\fR parameter is the number of attributes that the Platform can choose and which will not be visible to the Issuer.
+.SS numberIssuerAttributes
+The \fInumberIssuerAttributes\fR parameter is number of attributes that the Issuer can choose and which will be visible to both the Platform and the Issuer.
+.SS keyPair
+The \fIkeyPair\fR parameter is the handle of the main DAA Issuer key pair (private and public portion).
+.SS publicKeyProof
+The \fIpublicKeyProof\fR parameter is the Handle of the proof of the main DAA Issuer public key.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_DAA_IssueSetup\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either the DAA is not valid.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+.PP
+\fBTspi_DAA_IssueSetup\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_DAA_IssuerKeyVerification\fR(3)
+
diff --git a/man/man3/Tspi_DAA_IssuerKeyVerification.3 b/man/man3/Tspi_DAA_IssuerKeyVerification.3
new file mode 100644
index 0000000..4c7e4b9
--- /dev/null
+++ b/man/man3/Tspi_DAA_IssuerKeyVerification.3
@@ -0,0 +1,87 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_DAA_IssuerKeyVerification" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_DAA_IssuerKeyVerification \- verifies the DAA public key
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSPICALL Tspi_DAA_IssuerKeyVerification("
+.BI " TSS_HDAA " hDAA ","
+.BI " TSS_HKEY " issuerPk ","
+.BI " TSS_DAA_PK_PROOF* " issuerPkProof ","
+.BI " TSS_BOOL* " isCorrect
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_DAA_IssuerKeyVerification\fR
+verifies the DAA public key of a DAA Issuer with respect to its associated proof.
+This is a resource consuming task. It can be done by trusted third party (certification).
+This is an optional function and does not require a TPM or a TCS.
+
+
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS issuerPk
+The \fIissuerPk\fR parameter is a DAA Issuer public key.
+.SS issuerPkProof
+The \fIissuerPkProof\fR parameter is a structure representing the proofs of the correctness of the DAA Issuer public key.
+.SS isCorrect
+The \fIisCorrect\fR parameter is the return corectness of the proof.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_DAA_IssuerKeyVerification\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either the DAA is not valid.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+.PP
+\fBTspi_DAA_IssuerKeyVerification\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_DAA_IssueSetup\fR(3)
+
diff --git a/man/man3/Tspi_DAA_VerifyInit.3 b/man/man3/Tspi_DAA_VerifyInit.3
new file mode 100644
index 0000000..837054b
--- /dev/null
+++ b/man/man3/Tspi_DAA_VerifyInit.3
@@ -0,0 +1,86 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_DAA_VerifyInit" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_DAA_VerifyInit \- creates a challenge for the TCG platform
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSPICALL Tspi_DAA_VerifyInit("
+.BI " TSS_HDAA " hDAA ","
+.BI " UINT32* " nonceVerifierLength ","
+.BI " BYTE** " nonceVerifier ","
+.BI " UINT32* " baseNameLength ","
+.BI " BYTE** " baseName
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_DAA_VerifyInit\fR
+is part of the DAA Verifier component. It's the first function out of 2 in order to verify
+a DAA Credential of a TCG platform. It creates a challenge for the TCG platform.
+This is an optional function and does not require a TPM or a TCS.
+
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS nonceVerifierLength
+The \fInonceVerifierLength\fR parameter is the length of the nonceVerifier.
+.SS nonceVerifier
+The \fInonceVerifier\fR parameter is the challenge for the platform.
+.SS baseNameLength
+The \fIbaseNameLength\fR parameter is the length of the baseName.
+.SS baseName
+The \fIbaseName\fR parameter is the base name that was chosen for the DAA Signature.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_DAA_VerifyInit\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+.TP
+.SH "CONFORMING TO"
+.PP
+\fBTspi_DAA_VerifyInit\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_DAA_IssuerKeyVerification\fR(3)
+
diff --git a/man/man3/Tspi_DAA_VerifySignature.3 b/man/man3/Tspi_DAA_VerifySignature.3
new file mode 100644
index 0000000..10f0937
--- /dev/null
+++ b/man/man3/Tspi_DAA_VerifySignature.3
@@ -0,0 +1,107 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_DAA_VerifySignature" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_DAA_VerifySignature \- creates a challenge for the TCG platform
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSPICALL Tspi_DAA_VerifySignature("
+.BI " TSS_HDAA " hDAA ","
+.BI " TSS_DAA_SIGNATURE " daaSignature ","
+.BI " TSS_HKEY " hPubKeyIssuer ","
+.BI " TSS_DAA_SIGN_DATA " signData ","
+.BI " UINT32 " attributesLength ","
+.BI " BYTE** " attributes ","
+.BI " UINT32 " nonceVerifierLength ","
+.BI " BYTE* " nonceVerifier ","
+.BI " UINT32 " baseNameLength ","
+.BI " BYTE* " baseName ","
+.BI " TSS_BOOL* " isCorrect
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_DAA_VerifySignature\fR
+is part of the DAA Verifier component. It's the last function out of 2 in order to verify a
+DAA Credential of a TCG platform. It verifies the DAA Credential and detects public rogue TPMs.
+This is an optional function and does not require a TPM or a TCS.
+
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS daaSignature
+The \fIdaaSignature\fR parameter is the DAA signature contains proof of
+ownership of the DAA Credential, as well as a signature on either an AIK or a message.
+.SS hPubKeyIssuer
+The \fIhPubKeyIssuer\fR parameter is the handle of the DAA public key of the DAA Issuer
+of the credential.
+.SS signData
+The \fIsignData\fR parameter defines what data is signed (AIK or message).
+.SS attributesLength
+The \fIattributesLength\fR parameter is the Length of attributes array that is determined by
+the DAA Issuer public key (lh+li). The length of a single attribute is lf/8.
+.SS attributes
+The \fIattributes\fR parameter is the array of attributes which the DAA Credential owner reveals.
+.SS nonceVerifierLength
+The \fInonceVerifierLength\fR parameter is the length of nonceVerifier (20 bytes).
+.SS nonceVerifier
+The \fInonceVerifier\fR parameter is the nonce that was computed in the previous function (Tspi_VerifyInit).
+.SS baseNameLength
+The \fIbaseNameLength\fR parameter the length of the baseName.
+.SS baseName
+The \fIbaseName\fR parameter is the base name that was chosen for the DAA Signature.
+.SS isCorrect
+The \fIisCorrect\fR parameter denotes if the verification of the DAA Signature was successful.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_DAA_VerifySignature\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+.TP
+.SH "CONFORMING TO"
+.PP
+\fBTspi_DAA_VerifySignature\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_DAA_IssuerKeyVerification\fR(3)
+
diff --git a/man/man3/Tspi_Data_Bind.3 b/man/man3/Tspi_Data_Bind.3
new file mode 100644
index 0000000..c8a0131
--- /dev/null
+++ b/man/man3/Tspi_Data_Bind.3
@@ -0,0 +1,116 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Data_Bind" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Data_Bind \- Encrypts a data blob
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Data_Bind(TSS_HENCDATA " hEncData ", TSS_HKEY " hEncKey ","
+.BI " UINT32 " ulDataLength ", BYTE* " rgbDataToBind ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Data_Bind\fR encrypts a data blob in a manner
+that is decryptable by \fBTspi_Data_Unbind\fR. The data blob is
+encrypted using a public key operation with the key addressed by the
+given encryption key object. To bind data that is larger than the RSA
+public key modulus is the responsibility of the caller to perform the
+blocking and subsequent combination of data. The bound data blob is
+stored in the data object addressed by \fIhEncData\fR and can be
+exported from the object by \fBTspi_GetAttribData\fR. The caller of
+this function should perform validations that the public key presented
+to it is from a valid TPM.
+
+.SH "PARAMETERS"
+.PP
+.SS hEncData
+The handle of the data object which contains the encrypted data on
+successful completion of the command.
+.SS hEncKey
+Handle to the key object addressing the public key which is used
+to encrypt the data.
+.SS ulDataLength
+Indicates the length of the data provided at the parameter \fIrgbDataToBind\fR.
+.SS rgbDataToBind
+A pointer to the data to be encrypted.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Data_Bind\fR returns TSS_SUCCESS on success, otherwise one of
+the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhHash\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TSS_E_INVALID_ENCSCHEME
+Invalid encryption scheme.
+
+.TP
+.SM TSS_E_ENC_INVALID_LENGTH
+Invalid length of data to be encypted.
+
+.TP
+.SM TSS_E_ENC_NO_DATA
+No data to encrypt.
+
+.TP
+.SM TSS_E_ENC_INVALID_TYPE
+Invalid encryption type.
+
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Data_Bind\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Data_Unbind\fR(3), \fBTspi_Data_Unseal\fR(3),
+\fBTspi_Data_Seal\fR(3).
+
diff --git a/man/man3/Tspi_Data_Seal.3 b/man/man3/Tspi_Data_Seal.3
new file mode 100644
index 0000000..69b6f6d
--- /dev/null
+++ b/man/man3/Tspi_Data_Seal.3
@@ -0,0 +1,83 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Data_Seal" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Data_Seal \- encrypt a data blob in a mannar that is only decryptable by Tspi_Data_Unseal on the same system.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Data_Seal(TSS_HENCDATA " hEncData ", TSS_HKEY " hEncKey ","
+.BI " UINT32 " ulDataLength ", BYTE* " rgbDataToSeal ","
+.BI " TSS_HPCRS " hPcrComposite ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Data_Seal\fR encrypts a data blob in a mannar that is only decryptable by Tspi_Data_Unseal on the same system. The data blob is encrypted using a public key operation with the nonmigratable key addressed by the given encryption key object.
+.SH "PARAMETERS"
+.PP
+.SS hEncData
+Handle of the data object which contains the sealed data on successful completion of the command.
+.PP
+.SS hEncKey
+Handle to the key object addressing the nonmigratable key which is used to encrypt the data.
+.PP
+.SS ulDataLength
+The Length (in bytes) of the rgbDataToSeal parameter.
+.PP
+.SS rgbDataToSeal
+Pointer to memory containing the data to be encrypted.
+.PP
+.SS hPcrComposite
+Handle of the PCR Composite object specifying the PCRs which are part of the sealed data blob. Set to NULL, if the encrypted data should only be bound to the system and PCRs are not of interest.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Data_Seal\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - One of the following parameters \fIhEncData\fR, \fIhEncKey\fR, \fIrgbDataToSeal\fR is invalid.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Data_Seal\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Data_Unseal\fR(3).
+
+
+
diff --git a/man/man3/Tspi_Data_Unbind.3 b/man/man3/Tspi_Data_Unbind.3
new file mode 100644
index 0000000..a5df697
--- /dev/null
+++ b/man/man3/Tspi_Data_Unbind.3
@@ -0,0 +1,109 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Data_Unbind" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Data_Unbind \- Decrypts data that has been bound to a key
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Data_Unbind(TSS_HENCDATA " hEncData ", TSS_HKEY " hEncKey ","
+.BI " UINT32* " pulUnboundDataLength ", BYTE** " prgbUnboundData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Data_Unbind\fR decrypts the encrypted data
+blob exportedfrom the data object used in \fBTspi_Data_Bind\fR. The
+encrypted data blob must be imported to the object addressed by
+\fBTspi_SetAttribData\fR before calling this method.
+
+.SH "PARAMETERS"
+.PP
+.SS hEncData
+The handle of the data object which contains the encrypted data.
+.SS hEncKey
+Handle to the key object addressing the private key which is used
+to decrypt the data.
+.SS pulDataLength
+Receives the length of the data at the parameter \fIprgbUnboundData\fR.
+.SS prgbUnboundData
+Receives a pointer to a buffer containing the plaintext data.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Data_Unbind\fR returns TSS_SUCCESS on success, otherwise one
+of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhEncData\fR or \fIhEncKey\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TSS_E_INVALID_ENCSCHEME
+Invalid encryption scheme.
+
+.TP
+.SM TSS_E_ENC_INVALID_LENGTH
+Invalid length of data to be encypted.
+
+.TP
+.SM TSS_E_ENC_NO_DATA
+No data to encrypt.
+
+.TP
+.SM TSS_E_ENC_INVALID_TYPE
+Invalid encryption type.
+
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Data_Unbind\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Data_Bind\fR(3), \fBTspi_Data_Unseal\fR(3),
+\fBTspi_Data_Seal\fR(3).
+
diff --git a/man/man3/Tspi_Data_Unseal.3 b/man/man3/Tspi_Data_Unseal.3
new file mode 100644
index 0000000..f255356
--- /dev/null
+++ b/man/man3/Tspi_Data_Unseal.3
@@ -0,0 +1,81 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Data_Unseal" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Data_Unseal \- dencrypt data encrypted by Tspi_Data_Seal() only if it was encrypted on the same platform and under the current configuration.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Data_Unseal(TSS_HENCDATA " hEncData ", TSS_HKEY " hKey ","
+.BI " UINT32 " pulUnsealedDataLength ", BYTE** " prgbUnsealedData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Data_Unseal\fR reveals data encrypted by the Tspi_Data_Seal only if it was encrypted on the same platform and the current configuration. This is internally proofed and guaranteed by the TPM.
+.SH "PARAMETERS"
+.PP
+.SS hEncData
+Handle of the data object which contains the sealed data.
+.PP
+.SS hKey
+Handle to the key object addressing the nonmigratable key which is used to decrypt the data.
+.PP
+.SS pulUnsealedDataLength
+The length (in bytes) of the prgbUnsealedData parameter.
+.PP
+.SS prgbUnsealedData
+On successful completion of the command, this parameter points to a buffer containing the plaintext data.
+.PP
+.SS hPcrComposite
+Handle of the PCR Composite object specifying the PCRs which are part of the sealed data blob. Set to NULL, if the encrypted data should only be bound to the system and PCRs are not of interest.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Data_Unseal\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fBhEncData\fR or \fBhKey\fR is not a valid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Data_Unseal\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Data_Seal\fR(3).
+
+
+
diff --git a/man/man3/Tspi_DecodeBER_TssBlob.3 b/man/man3/Tspi_DecodeBER_TssBlob.3
new file mode 100644
index 0000000..4da9706
--- /dev/null
+++ b/man/man3/Tspi_DecodeBER_TssBlob.3
@@ -0,0 +1,77 @@
+.\" Copyright (C) 2007 International Business Machines Corporation
+.\" Written by Tom Lendacky based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_DecodeBER_TssBlob" 3 "2007-06-12" "TSS 1.2" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_DecodeBER_TssBlob \- unwraps a BER-encoded TSS blob.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_DecodeBER_TssBlob(UINT32 " berBlobSize ", BYTE* " berBlob ","
+.BI " UINT32* " blobType ", UINT32* " rawBlobSize ","
+.BI " BYTE* " rawBlob ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_DecodeBER_TssBlob\fR is used to unwrap a BER-encoded blob in accordance with the ASN.1 data definitions in the Portable Data section of the Trusted Computing Group Software Stack Specification Version 1.2.
+.SH "PARAMETERS"
+.PP
+.SS berBlobSize
+Size of the BER-encoded blob.
+.PP
+.SS berBlob
+Pointer to the BER-encoded blob.
+.PP
+.SS blobType
+Pointer to the type of blob being unwrapped (refer to the TSS_BLOB_TYPE_* constants).
+.PP
+.SS rawBlobSize
+Pointer to the size of the rawBlob buffer. On input this parameter contains a pointer to the maximum size of the supplied rawBlob buffer. On output this parameter contains a pointer to the actual size of the unwrapped blob. On input, if this parameter points to a value of 0, then this function will return the size of the buffer required to hold the unwrapped blob without writing to the rawBlob buffer.
+.sp
+\fBNote:\fR The output data must be shorter than the BER-encoding, so berBlobSize is a useful upper limit on rawBlob buffer size.
+.PP
+.SS rawBlob
+Pointer to a buffer to hold the unwrapped blob.
+.SH "RETURN CODES"
+.PP
+\fBTspi_EncodeDER_TssBlob\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_DecodeBER_TssBlob\fR conforms to the Trusted Computing Group Software Specification Version 1.2
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_DecodeBER_TssBlob\fR(3).
+
+
+
diff --git a/man/man3/Tspi_EncodeDER_TssBlob.3 b/man/man3/Tspi_EncodeDER_TssBlob.3
new file mode 100644
index 0000000..b8e9ab6
--- /dev/null
+++ b/man/man3/Tspi_EncodeDER_TssBlob.3
@@ -0,0 +1,77 @@
+.\" Copyright (C) 2007 International Business Machines Corporation
+.\" Written by Tom Lendacky based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_EncodeDER_TssBlob" 3 "2007-06-12" "TSS 1.2" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_EncodeDER_TssBlob \- generate a DER encoded TSS blob.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_EncodeDER_TssBlob(UINT32 " rawBlobSize ", BYTE* " rawBlob ","
+.BI " UINT32 " blobType ", UINT32* " derBlobSize ","
+.BI " BYTE* " derBlob ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_EncodeDER_TssBlob\fR is used to generate a DER-encoded blob in accordance with the ASN.1 data definitions in the Portable Data section of the Trusted Computing Group Software Stack Specification Version 1.2.
+.SH "PARAMETERS"
+.PP
+.SS rawBlobSize
+Size of the unwrapped blob.
+.PP
+.SS rawBlob
+Pointer to the unwrapped blob.
+.PP
+.SS blobType
+Type of blob being wrapped (refer to the TSS_BLOB_TYPE_* constants).
+.PP
+.SS derBlobSize
+Pointer to the size of the derBlob buffer. On input this parameter contains a pointer to the maximum size of the supplied derBlob buffer. On output this parameter contains a pointer to the actual size of the DER-encoded blob. On input, if this parameter points to a value of 0, then this function will return the size of the buffer required to hold the DER-encoded blob without writing to the derBlob buffer.
+.sp
+\fBNote:\fR If the raw data blob length is less than 2^16 bytes then the DER-encoding may add no more than 20 bytes.
+.PP
+.SS derBlob
+Pointer to a buffer to hold the DER-encoded blob.
+.SH "RETURN CODES"
+.PP
+\fBTspi_EncodeDER_TssBlob\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_EncodeDER_TssBlob\fR conforms to the Trusted Computing Group Software Specification Version 1.2
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_DecodeBER_TssBlob\fR(3).
+
+
+
diff --git a/man/man3/Tspi_GetAttribData.3 b/man/man3/Tspi_GetAttribData.3
new file mode 100644
index 0000000..b1f1433
--- /dev/null
+++ b/man/man3/Tspi_GetAttribData.3
@@ -0,0 +1,89 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_GetAttribData" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_GetAttribData \- get a non 32bit attribute of the object.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_GetAttribData(TSS_HOBJECT " hObject ", TSS_FLAG " attribFlag ","
+.BI " TSS_FLAG " subFlag ", UINT32* " pulAttribDataSize ","
+.BI " BYTE** " prgbAttribData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_GetAttribData\fR is used to get the value of a particular attribute associated iwth a particular object where that attribute does not happen to be a UINT32. The structure and size of the attribute data depends on the attribute.
+.SH "PARAMETERS"
+.PP
+.SS hObject
+Handle of the object where to retrieve the attribute.
+.PP
+.SS attribFlag
+Flag indicating the attribute to query.
+.PP
+.SS subFlag
+Sub flag indicating the attribute to query.
+.PP
+.SS pulAttribDataSize
+Recieves the length (in bytes) of the prgbAttribData parameter.
+.PP
+.SS prgbAttribData
+On successful completion of the command, this parameter points to a buffer containing the actual data of the specified attribute.
+.SH "RETURN CODES"
+.PP
+\fBTspi_GetAttribData\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhObject\fR, \fIattribFlag\fR, or \fIsubFlag\fR are invalid.
+.TP
+.SM TSS_E_ATTRIB_FLAG
+.TP
+.SM TSS_E_ATTRIB_SUBFLAG
+.TP
+.SM TSS_E_ATTRIB_DATA
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_GetAttribData\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_SetAttribData\fR(3).
+
+
+
diff --git a/man/man3/Tspi_GetAttribUint32.3 b/man/man3/Tspi_GetAttribUint32.3
new file mode 100644
index 0000000..db98f35
--- /dev/null
+++ b/man/man3/Tspi_GetAttribUint32.3
@@ -0,0 +1,105 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_GetAttribUint32" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_GetAttribUint32 \- get the value of particular attribute associated with a given class or object
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_GetAttribUint32(TSS_HOBJECT " hObject ", TSS_FLAG " attribFlag ","
+.BI " TSS_FLAG " subFlag ", UINT32* " pulAttrib "); "
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_GetAttribUint32\fR
+returns a specified uint32 attribute associated with a given class
+or object. In order to use this command, you must first create an
+object and then find the attributes you wish to set.
+
+.SH "PARAMETERS"
+.PP
+.SS hObject
+The \fIhObject\fR parameter is the handle of the object to retrieve
+the attribute from.
+.SS attribFlag
+The \fIattribFlag\fR parameter indicates the specific attribute to query.
+.SS subFlag
+The \fIsubFlag\fR parameter also indicates the specific attribute to query.
+.SS pulAttrib
+The \fIpulAttrib\fR parameter is a pointer to the location where the
+attribute value is returned.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_GetAttribUint32\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhObject\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INVALID_ATTRIB_FLAG
+\fIattribFlag\fR is incorrect.
+
+.TP
+.SM TSS_E_INVALID_ATTRIB_SUBFLAG
+\fIsubFlag\fR is incorrect.
+
+.TP
+.SM TSS_E_INVALID_ATTRIB_DATA
+\fIpulAttrib\fR is incorrect.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_GetAttribUint32\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_GetAttribData\fR(3), \fBTspi_SetAttribUint32\fR(3),
+\fBTspi_SetAttribData\fR(3).
+
diff --git a/man/man3/Tspi_GetPolicyObject.3 b/man/man3/Tspi_GetPolicyObject.3
new file mode 100644
index 0000000..932f472
--- /dev/null
+++ b/man/man3/Tspi_GetPolicyObject.3
@@ -0,0 +1,90 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_GetPolicyObject" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_GetPolicyObject \- get a policy object assigned to a working object
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_GetPolicyObject(TSS_HOBJECT " hObject ", TSS_FLAG " policyType ","
+.BI " TSS_HPOLICY* " phPolicy "); "
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_GetPolicyObject\fR
+returns a policy object currently assigned to a working object. If you
+determine that the policy is different from what you require, you can
+change the policy by creating a new one and using Tspi_Policy_AssignToObject.
+
+.SH "PARAMETERS"
+.PP
+.SS hObject
+The \fIhObject\fR parameter is the handle of the object.
+.SS policyType
+The \fIpolicyType\fR parameter indicates the policy type of interest.
+Types are TSS_POLICY_USAGE and TSS_POLICY_MIGRATION.
+.SS phPolicy
+The \fIphPolicy\fR parameter receives the handle to the assigned policy object.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_GetPolicyObject\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhContext\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_GetPolicyObject\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_GetTpmObject\fR(3), \fBTspi_Context_LoadKeyByUUID\fR(3),
+\fBTspi_SetAttribUint32\fR(3), \fBTspi_Policy_AssignToObject\fR(3).
+
diff --git a/man/man3/Tspi_Hash_GetHashValue.3 b/man/man3/Tspi_Hash_GetHashValue.3
new file mode 100644
index 0000000..ffe7f54
--- /dev/null
+++ b/man/man3/Tspi_Hash_GetHashValue.3
@@ -0,0 +1,98 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Hash_GetHashValue" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Hash_GetHashValue \- get the current hash value of a hash object
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Hash_GetHashValue(TSS_HHASH " hHash ", UINT32* " pulHashValueLength ", BYTE** " prgbHashValue ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Hash_GetHashValue\fR gets the hash value of
+a hash object. \fBTspi_Context_FreeMemory\fR must be used to clean
+up after this function, as memory is allocated for the
+\fIprgbHashValue\fR data.
+
+.SH "PARAMETERS"
+.PP
+.SS hHash
+The handle to the hash object instance whose hash value should be signed.
+.SS pulHashValueLength
+Receives the length of the hash value data returned at the parameter
+\fIprgbHashValue\fR.
+.SS prgbHashValue
+Receives a pointer to the hash value data.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Hash_GetHashValue\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhHash\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TSS_E_HASH_INVALID_LENGTH
+Hash length is inconsistent with hash algorithm.
+
+.TP
+.SM TSS_E_HASH_NO_DATA
+Hash object has no internal hash value.
+
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Hash_GetHashValue\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Hash_UpdateHash\fR(3), \fBTspi_Hash_Sign\fR(3),
+\fBTspi_Hash_VerifySignature\fR(3), \fBTspi_Hash_SetHashValue\fR(3).
+
diff --git a/man/man3/Tspi_Hash_SetHashValue.3 b/man/man3/Tspi_Hash_SetHashValue.3
new file mode 100644
index 0000000..b157c71
--- /dev/null
+++ b/man/man3/Tspi_Hash_SetHashValue.3
@@ -0,0 +1,98 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Hash_SetHashValue" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Hash_SetHashValue \- Sets the hash value of a hash object for non-SHA1 hash objects.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Hash_SetHashValue(TSS_HHASH " hHash ", UINT32 " ulHashValueLength ", BYTE* " rgbHashValue ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Hash_SetHashValue\fR sets the hash value of
+a hash object. If the object was created with the flag TSS_HASH_OTHER,
+then the hash identifier has to be set by calling \fBTspi_SetAttribData\fR
+to perform the sign operation.
+
+.SH "PARAMETERS"
+.PP
+.SS hHash
+The handle to the hash object instance whose hash value should be signed.
+.SS ulHashValueLength
+Indicates the length of the hash value data provided at the parameter
+\fIrgbHashValue\fR.
+.SS rgbHashValue
+A pointer to the hash value data.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Hash_SetHashValue\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhHash\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TSS_E_HASH_INVALID_LENGTH
+Hash length is inconsistent with hash algorithm.
+
+.TP
+.SM TSS_E_HASH_NO_DATA
+Hash object has no internal hash value.
+
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Hash_SetHashValue\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Hash_UpdateHash\fR(3), \fBTspi_Hash_Sign\fR(3),
+\fBTspi_Hash_GetHashValue\fR(3).
+
diff --git a/man/man3/Tspi_Hash_Sign.3 b/man/man3/Tspi_Hash_Sign.3
new file mode 100644
index 0000000..c286e85
--- /dev/null
+++ b/man/man3/Tspi_Hash_Sign.3
@@ -0,0 +1,108 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Hash_Sign" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Hash_Sign \- sign the hash data of an object with a signing key
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Hash_Sign(TSS_HHASH " hHash ", TSS_HKEY " hKey ","
+.BI " UINT32 " pulSignatureLength ", BYTE** " prgbSignature ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Hash_Sign\fR signs the hash data of an
+object with a given signing key. The data must be set at the hash
+instance associated with \fIhHash\fR by calling
+\fBTspi_Hash_SetHashValue\fR or \fBTspi_Hash_UpdateHash\fR. The
+\fBTspi_Hash_Sign\fR method allocates a memory block for the
+\fIprgbSignature\fR data. This memory must be released using
+\fBTspi_Context_FreeMemory\fR.
+
+.SH "PARAMETERS"
+.PP
+.SS hHash
+The handle to the hash object instance whose hash value should be signed.
+.SS hKey
+Handle to the key object which should be used for the signature.
+.SS pulSignatureLength
+Receives the length of the signature data returned at the parameter
+\fIprgbSignature\fR on successful completion.
+.SS prgbSignature
+Receives a pointer to the signature data on successful completion.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Hash_Sign\fR returns TSS_SUCCESS on success, otherwise one
+of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhKey\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TSS_E_HASH_INVALID_LENGTH
+Hash length is inconsistent with hash algorithm.
+
+.TP
+.SM TSS_E_HASH_NO_DATA
+Hash object has no internal hash value.
+
+.TP
+.SM TSS_E_HASH_NO_IDENTIFIER
+The hash algorithm identifier is not set.
+
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Hash_Sign\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Hash_UpdateHash\fR(3), \fBTspi_Hash_SetHashValue\fR(3),
+\fBTspi_Hash_VerifySignature\fR(3).
+
diff --git a/man/man3/Tspi_Hash_UpdateHashValue.3 b/man/man3/Tspi_Hash_UpdateHashValue.3
new file mode 100644
index 0000000..059435c
--- /dev/null
+++ b/man/man3/Tspi_Hash_UpdateHashValue.3
@@ -0,0 +1,99 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Hash_UpdateHashValue" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Hash_UpdateHashValue \- update the hash value of a hash object
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Hash_UpdateHashValue(TSS_HHASH " hHash ", UINT32 " ulDataLength ", BYTE* " rgbData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Hash_UpdateHashValue\fR updates the hash value
+of a hash object with new information. If the object was created with
+the flag TSS_HASH_OTHER, then this method will return an error. \fBThe
+object can't be modified after Tspi_Hash_SetHashValue,
+Tspi_Hash_GetHashValue, Tspi_Hash_Sign, or Tspi_Hash_VerifySignature
+have been called on it.\fR
+
+.SH "PARAMETERS"
+.PP
+.SS hHash
+The handle to the hash object instance whose hash value should be signed.
+.SS ulDataLength
+Indicates the length of the data provided at the parameter \fIrgbData\fR.
+.SS rgbData
+A pointer to the data.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Hash_UpdateHashValue\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhHash\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TSS_E_HASH_INVALID_LENGTH
+Hash length is inconsistent with hash algorithm.
+
+.TP
+.SM TSS_E_HASH_NO_DATA
+Hash object has no internal hash value.
+
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Hash_UpdateHashValue\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Hash_GetHashValue\fR(3), \fBTspi_Hash_Sign\fR(3),
+\fBTspi_Hash_SetHashValue\fR(3), \fBTspi_Hash_VerifySignature\fR(3).
+
diff --git a/man/man3/Tspi_Hash_VerifySignature.3 b/man/man3/Tspi_Hash_VerifySignature.3
new file mode 100644
index 0000000..d6d7f87
--- /dev/null
+++ b/man/man3/Tspi_Hash_VerifySignature.3
@@ -0,0 +1,105 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Hash_VerifySignature" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Hash_VerifySignature \- verify the hash value with a given signature
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Hash_VerifySignature(TSS_HHASH " hHash ", TSS_HKEY " hKey ","
+.BI " UINT32 " ulSignatureLength ", BYTE* " rgbSignature ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Hash_VerifySignature\fR verifies the hash value
+of a given hash object with a given signature. In order to use this
+command, one must have a hash and a signature of the hash that one is
+trying to verify. The public key which corresponds to the private key
+used to sign the hash is also needed.
+
+.SH "PARAMETERS"
+.PP
+.SS hHash
+The handle to the hash object instance whose hash value should be signed.
+.SS hKey
+Handle to the key object which should be used for the signature verification.
+.SS ulSignatureLength
+The length of the signature data provided at the parameter \fIrgbSignature\fR.
+.SS rgbSignature
+A pointer to the signature data.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Hash_VerifySignature\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhKey\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TSS_E_HASH_INVALID_LENGTH
+Hash length is inconsistent with hash algorithm.
+
+.TP
+.SM TSS_E_HASH_NO_DATA
+Hash object has no internal hash value.
+
+.TP
+.SM TSS_E_INVALID_SIGSCHEME
+Invalid signature scheme.
+
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Hash_VerifySignature\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Hash_UpdateHash\fR(3), \fBTspi_Hash_SetHashValue\fR(3),
+\fBTspi_Hash_Sign\fR(3), \fRTspi_Hash_GetHashValue\fR(3).
+
diff --git a/man/man3/Tspi_Key_CertifyKey.3 b/man/man3/Tspi_Key_CertifyKey.3
new file mode 100644
index 0000000..c64b088
--- /dev/null
+++ b/man/man3/Tspi_Key_CertifyKey.3
@@ -0,0 +1,76 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Key_CertifyKey" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Key_CertifyKey \- sign a public key.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Key_CertifyKey(TSS_HKEY " hKey ", TSS_HKEY " hCertifyingKey ","
+.BI " TSS_VALIDATION* " pValidationData ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Key_CertifyKey\fR signs a public key.
+.SH "PARAMETERS"
+.PP
+.SS hKey
+Handle of the key object to be loaded.
+.PP
+.SS hCertifyingKey
+Handle to the certifying key used to sign the addressed by hKey.
+.PP
+.SS pValidationData
+Pointer to a structure of the type TSS_VALIDATION. After successful completion of the call the member rgbValidationData of this structure contains the signature data of the command. The member prgbData of the structure points to a buffer containing a TCPA_CERTIFY_INFO data stream as specified within the TCPA 1.1b Main Specification.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Key_CertifyKey\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhKey\fR or \fIhCertifyingKey\fR are invalid handles.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Key_CertifyKey\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_CreateKey\fR(3), \fBTspi_Key_WrapKey\fR(3).
+
+
+
diff --git a/man/man3/Tspi_Key_ConvertMigrationBlob.3 b/man/man3/Tspi_Key_ConvertMigrationBlob.3
new file mode 100644
index 0000000..0b8d49d
--- /dev/null
+++ b/man/man3/Tspi_Key_ConvertMigrationBlob.3
@@ -0,0 +1,100 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Key_ConvertMigrationBlob" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Key_ConvertMigrationBlob \- create a wrapped key from a migration blob
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Key_ConvertMigrationBlob(TSS_HKEY " hKeyToMigrate ", TSS_HKEY " hParentKey ","
+.BI " UINT32 " ulRandomLength ", BYTE* " rgbRandom ","
+.BI " UINT32 " ulMigrationBlobLength ", BYTE* " rgbMigrationBlob ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Key_ConvertMigrationBlob\fR takes the
+migration blob built by \fBTspi_Key_CreateMigrationBlob\fR using the
+migration scheme TSS_MS_MIGRATE and creates a normal wrapped key. The
+resulting normal wrapped key blob is stored in the instance associated
+with hKeyToMigrate and may be retrieved from that instance by
+\fBTspi_GetAttribData\fR.
+
+.SH "PARAMETERS"
+.PP
+.SS hKeyToMigrate
+The handle of the key object to convert.
+.SS hParentKey
+Handle to the parent key related to the key addressed by \fIhKeyToMigrate\fR.
+.SS ulRandomLength
+Length of random data provided at the parameter \fIrgbRandom\fR.
+.SS rgbRandom
+Random data as returned together with the migration blob by the
+method \fBTspi_Key_CreateMigrationBlob\fR.
+.SS ulMigrationBlobLength
+Length of the migration blob data provided at the parameter \fIrgbMigrationBlob\fR.
+.SS rgbMigrationBlob
+Migration blob data as returned by a previously called method
+\fBTspi_Key_CreateMigrationBlob\fR.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Key_ConvertMigrationBlob\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhKeyToMigrate\fR or \fIhParentKey\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Key_ConvertMigrationBlob\fR conforms to the Trusted Computing
+Group Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_LoadKey\fR(3), \fBTspi_Key_UnloadKey\fR(3),
+\fBTspi_Key_CertifyKey\fR(3), \fBTspi_Key_CreateMigrationBlob\fR(3).
+
diff --git a/man/man3/Tspi_Key_CreateKey.3 b/man/man3/Tspi_Key_CreateKey.3
new file mode 100644
index 0000000..27b4364
--- /dev/null
+++ b/man/man3/Tspi_Key_CreateKey.3
@@ -0,0 +1,71 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Key_CreateKey" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Key_CreateKey \- create a key pair within the TPM, wrapping it with the key addressed by hWrappingKey.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Key_CreateKey(TSS_HKEY " hKey ", TSS_HKEY " hWrappingKey ", TSS_HPCRS " hPcrComposite ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Key_CreateKey\fR
+calls the TPM command TPM_CreateWrapKey. If hPcrComposite is not set to NULL, the created key blob is bound to this PCR values. The key object addressed by hKey must contain the key information needed for the creation.
+.SH "PARAMETERS"
+.PP
+.SS hKey
+The handle of the key object to create.
+.PP
+.SS hWrappingKey
+The handle to the key used to wrap the newly created key.
+.PP
+.SS hPcrComposite
+The handle to an object, if the value of the handle doesn't equal NULL, the newly create key will be bound ot the PCR values described with this object.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Key_CreateKey\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhKey\fR, \fIhWrappingKey\fR or \fIhPcrComposite\fR are invalid parameters.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Key_CreateKey\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_WrapKey\fR(3), \fBTspi_Key_CertifyKey\fR(3), \fBTspi_Key_RegisterKey\fR(3).
diff --git a/man/man3/Tspi_Key_CreateMigrationBlob.3 b/man/man3/Tspi_Key_CreateMigrationBlob.3
new file mode 100644
index 0000000..9753849
--- /dev/null
+++ b/man/man3/Tspi_Key_CreateMigrationBlob.3
@@ -0,0 +1,97 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Key_CreateMigrationBlob" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Key_CreateMigrationBlob \- create a key blob suitable for migrating to another TPM.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Key_CreateMigrationBlob(TSS_HKEY " hKeyToMigrate ", TSS_HKEY " hParentKey ","
+.BI " UINT32 " ulMigTicketLength ", BYTE* " rgbMigTicket ","
+.BI " UINT32* " pulRandomLength ", BYTE** " prgbRandom ","
+.BI " UINT32* " pulMigrationBlobLength ", BYTE** " prgbMigrationBlob ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Key_CreateMigrationBlob\fR returns a key blob containing an encrypted section, which will be different depending on the migration scheme indicated within the migration ticket previously created by the method Tspi_TPM_AuthorizeMigrationTicket().
+.SH "PARAMETERS"
+.PP
+.SS hKeyToMigrate
+Handle of the key object to migrate.
+.PP
+.SS hParentKey
+Handle to the parent key related to the key addressed by hKeyToMigrate.
+.PP
+.SS ulMigTicketLength
+The length (in bytes) of the rgbMigTickey parameter.
+.PP
+.SS rgbMigTicket
+Pointer to memory containing the migration ticket (migration public key and its authorization digest).
+.PP
+.SS pulRandomLength
+On successful completion this parameter returns the random data length returned at the parameter prgbRandom.
+.PP
+.SS prgbRandom
+On successful completion this parameter returns the random data.
+.PP
+.SS pulMigrationBlobLength
+On successful completion this parameter returns the length of the migration blob data returned at the parameter prgbMigrationBlob.
+.PP
+.SS prgbMigrationBlob
+On successful completion this parameter returns the migration data blob.
+.PP
+.SH "RETURN CODES"
+.PP
+\fBTspi_Key_CreateMigrationBlob\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhKeyToMigrate\fR, \fIhParentKey\fR or \fIrgbMigTicket\fR are invalid parameters.
+.TP
+.SM TSS_E_BAD_PARAMETER - One of the passed parameters is wrong.
+.TP
+.SM TSS_E_KEY_NO_MIGRATION_POLICY - No migration policy picked.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Key_CreateMigrationBlob\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_CreateKey\fR(3), \fBTspi_Key_CertifyKey\fR(3).
+
+
+
+
diff --git a/man/man3/Tspi_Key_GetPubKey.3 b/man/man3/Tspi_Key_GetPubKey.3
new file mode 100644
index 0000000..c298efb
--- /dev/null
+++ b/man/man3/Tspi_Key_GetPubKey.3
@@ -0,0 +1,89 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Key_GetPubKey" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Key_GetPubKey \- get the public key of an object
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Key_GetPubKey(TSS_HKEY " hKey ", UINT32* " pulPubKeyLength ", BYTE** " prgbPubKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Key_GetPubKey\fR gets the public portion of a
+given key object.
+
+.SH "PARAMETERS"
+.PP
+.SS hKey
+The \fIhKey\fR parameter is the handle of the key object to unload.
+.SS pulPubKeyLength
+The \fIpulPubKeyLength\fR parameter receives the length in bytes of the
+\fIprgbPubKey\fR parameter.
+.SS prgbPubKey
+The \fIprgbPubKey\fR parameter receives a pointer to the memory block
+containing the public key blob retrieved for the key object referenced
+by \fIhKey\fR.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Key_GetPubKey\fR returns TSS_SUCCESS on success, otherwise one of
+the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhKey\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Key_GetPubKey\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_LoadKey\fR(3), \fBTspi_Key_UnloadKey\fR(3),
+\fBTspi_Key_CertifyKey\fR(3).
+
diff --git a/man/man3/Tspi_Key_LoadKey.3 b/man/man3/Tspi_Key_LoadKey.3
new file mode 100644
index 0000000..00541f2
--- /dev/null
+++ b/man/man3/Tspi_Key_LoadKey.3
@@ -0,0 +1,83 @@
+.\" Copyright (C) 2005 International Business Machines Corporation
+.\" Written by Kent Yoder based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Key_LoadKey" 3 "2005-02-01" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Key_LoadKey \- load a key into the TPM
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Key_LoadKey(TSS_HKEY " hKey ", TSS_HKEY " hUnwrappingKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Key_LoadKey\fR loads the key referenced
+by \fIhKey\fR into the TPM.
+
+.SH "PARAMETERS"
+.PP
+.SS hKey
+The \fIhKey\fR parameter is the handle of the key object to load.
+.SS hUnwrappingKey
+The \fIhUnwrappingKey\fR parameter is the handle of the key which should be used to unwrap the key addressed by \fIhKey\fR.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Key_LoadKey\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either \fIhKey\fR or \fIhUnwrappingKey\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Key_LoadKey\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_UnloadKey\fR(3), \fBTspi_Key_GetPubKey\fR(3).
+
diff --git a/man/man3/Tspi_Key_UnloadKey.3 b/man/man3/Tspi_Key_UnloadKey.3
new file mode 100644
index 0000000..42c5009
--- /dev/null
+++ b/man/man3/Tspi_Key_UnloadKey.3
@@ -0,0 +1,83 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Key_UnloadKey" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_Key_UnloadKey \- unload a key from the TPM
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Key_UnloadKey(TSS_HKEY " hKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Key_UnloadKey\fR unloads the key referenced
+by the given key object from the TPM. This call will result in a
+TPM_EvictKey operation for the specified key.
+
+
+.SH "PARAMETERS"
+.PP
+.SS hKey
+The \fIhKey\fR parameter is the handle of the key object to unload.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Key_UnloadKey\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhKey\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Key_UnloadKey\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_LoadKey\fR(3), \fBTspi_Key_GetPubKey\fR(3).
+
diff --git a/man/man3/Tspi_Key_WrapKey.3 b/man/man3/Tspi_Key_WrapKey.3
new file mode 100644
index 0000000..d9e0673
--- /dev/null
+++ b/man/man3/Tspi_Key_WrapKey.3
@@ -0,0 +1,72 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Kent Yoder based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Key_WrapKey" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Key_WrapKey \- wrap a key with the key addressed by hWrappingKey.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Key_WrapKey(TSS_HKEY " hKey ", TSS_HKEY " hWrappingKey ","
+.BI " TSS_HPCRS " hPcrComposite ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Key_WrapKey\fR
+wraps the private key \fIhKey\fR using the public key addressed by \fIhWrappingKey\fR. If hPcrComposite is not set to NULL (0), the created key blob is bound to its PCR values. The key object addressed by \fIhKey\fR must contain the key information needed for the creation. On successful return from this call, \fIhKey\fR can be loaded into a TPM. \fIhKey\fR must have been created as a migratable key and should have its usage and migrations secrets set using \fBTspi_Policy_SetSecret(3)\fR. Also, \fIhKey\fR should have had its private key set to either RSA private component, p or q.
+.SH "PARAMETERS"
+.PP
+.SS hKey
+The handle of the key object that is wrapped.
+.PP
+.SS hWrappingKey
+The handle to the key used to wrap the newly created key.
+.PP
+.SS hPcrComposite
+The handle to an object, if the value of the handle doesn't equal NULL, the newly create key will be bound ot the PCR values described with this object.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Key_WrapKey\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhKey\fR, \fIhWrappingKey\fR or \fIhPcrComposite\fR are invalid handles.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Key_WrapKey\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_CreateKey\fR(3), \fBTspi_Key_CertifyKey\fR(3), \fBTspi_Key_RegisterKey\fR(3).
diff --git a/man/man3/Tspi_PcrComposite_GetPcrValue.3 b/man/man3/Tspi_PcrComposite_GetPcrValue.3
new file mode 100644
index 0000000..f807956
--- /dev/null
+++ b/man/man3/Tspi_PcrComposite_GetPcrValue.3
@@ -0,0 +1,77 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_PcrComposite_GetPcrValue" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_PcrComposite_GetPcrValue \- get the digest value of a given PCR index inside a PCR composite object.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_PcrComposite_GetPcrValue(TSS_HPCRS " hPcrComposite ", UINT32 " ulPcrIndex ","
+.BI " UINT32* " ulPcrValueLength ", BYTE** " rgbPcrValue ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_PcrComposite_GetPcrValue\fR returns the digest value of a given PCR index inside a PCR composite object.
+.SH "PARAMETERS"
+.PP
+.SS hPcrComposite
+Handle of the PCR composite object instance where a PCR value should be returned.
+.PP
+.SS ulPcrIndex
+This parameter indicates the index of the PCR to read.
+.PP
+.SS ulPcrValueLength
+The length (in bytes) of the rgbPcrValue parameter.
+.PP
+.SS rgbPcrValue
+After successful completion this parameter recieves a pointer to the memory block containing the PCR value of the PCR indicated by ulPcrIndex.
+.SH "RETURN CODES"
+.PP
+\fBTspi_PcrComposite_GetPcrValue\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhPcrComposite\fR or \fIulPcrIndex\fR is an invalid parameter.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_PcrComposite_GetPcrValue\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_PcrComposite_SelectPcrIndex\fR(3), \fBTspi_PcrComposite_SetPcrValue\fR(3).
+
+
diff --git a/man/man3/Tspi_PcrComposite_SelectPcrIndex.3 b/man/man3/Tspi_PcrComposite_SelectPcrIndex.3
new file mode 100644
index 0000000..812ba48
--- /dev/null
+++ b/man/man3/Tspi_PcrComposite_SelectPcrIndex.3
@@ -0,0 +1,69 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_PcrComposite_SelectPcrIndex" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_PcrComposite_SelectPcrIndex\- select a PCR index inside a PCR composite object.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_PcrComposite_SelectPcrIndex(TSS_HPCRS " hPcrComposite ", UINT32 " ulPcrIndex ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTspi_PcrComposite_SelectPcrIndex\fR selects a PCR index inside a PCR composite object. The PCR composite object must be created withthe function Tspi_Context_CreateObject(). An exampled for the usage is the selection of PCR registeres before calling Tspi_TPM_Quote().
+.SH "PARAMETERS"
+.PP
+.SS hPcrComposite
+Handle of the PCR composite object instance where the index should be selected.
+.PP
+.SS ulPcrIndex
+This parameter indicates the index of the PCR to select.
+.SH "RETURN CODES"
+.PP
+\fBTspi_PcrComposite_SelectPcrIndex\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhPcrComposite\fR or \fIulPcrIndex\fR is an invalid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_PcrComposite_SelectPcrIndex\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_Quote\fR(3), \fBTspi_PcrComposite_SetPcrValue\fR(3), \fBTspi_PcrComposite_GetPcrValue\fR(3).
+
+
diff --git a/man/man3/Tspi_PcrComposite_SetPcrValue.3 b/man/man3/Tspi_PcrComposite_SetPcrValue.3
new file mode 100644
index 0000000..d010ee1
--- /dev/null
+++ b/man/man3/Tspi_PcrComposite_SetPcrValue.3
@@ -0,0 +1,77 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_PcrComposite_SetPcrValue" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_PcrComposite_SetPcrValue\- set the digest for a given PCR index inside a PCR composite object.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_PcrComposite_SetPcrValue(TSS_HPCRS " hPcrComposite ", UINT32 " ulPcrIndex ","
+.BI " UINT32 " ulPcrValueLength ", BYTE* " rgbPcrValue ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_PcrComposite_SetPcrValue\fR sets the digest for a given PCR index inside the PCR composite object.
+.SH "PARAMETERS"
+.PP
+.SS hPcrComposite
+Handle of the PCR composite object instance where a PCR value should be set.
+.PP
+.SS ulPcrIndex
+This parameter indicates the index of the PCR to set.
+.PP
+.SS ulPcrValueLength
+The length (in bytes) of the rgbPcrValue parameter.
+.PP
+.SS rgbPcrValue
+Pointer to memory containing the actual value which should be set for the PCR indicated by ulPcrIndex.
+.SH "RETURN CODES"
+.PP
+\fBTspi_PcrComposite_SetPcrValue\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - Either \fIhPcrComposite\fR or \fIulPcrIndex\fR is an invalid parameter.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_PcrComposite_SetPcrValue\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_PcrComposite_SelectPcrIndex\fR(3), \fBTspi_PcrComposite_GetPcrValue\fR(3).
+
+
diff --git a/man/man3/Tspi_Policy_AssignToObject.3 b/man/man3/Tspi_Policy_AssignToObject.3
new file mode 100644
index 0000000..fdf1049
--- /dev/null
+++ b/man/man3/Tspi_Policy_AssignToObject.3
@@ -0,0 +1,86 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Policy_AssignToObject" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_Policy_AssignToObject \- assign a policy to an object
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Policy_AssignToObject(TSS_HPOLICY " hPolicy ", TSS_HOBJECT " hObject ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Policy_AssignToObject\fR assigns a given object
+to a certain policy. The object then uses its assigned policy to process
+an authorized TPM command. When each new object is initialized, it is
+assigned to the default policy, which is created when a context object
+is created. When an object is assigned to a policy, a reference is added
+to the list of assigned objects stored in the policy, and a reference
+to the policy is stored in the object by internal object functions.
+
+.SH "PARAMETERS"
+.PP
+.SS hPolicy
+The \fIhPolicy\fR parameter is the handle of the policy object to be
+assigned to.
+.SS hObject
+The \fIhObject\fR parameter is the object that will be assigned to
+\fIhPolicy\fR.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Policy_AssignToObject\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhPolicy\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Policy_AssignToObject\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Policy_SetSecret\fR(3), \fBTspi_Policy_FlushSecret\fR(3).
+
diff --git a/man/man3/Tspi_Policy_FlushSecret.3 b/man/man3/Tspi_Policy_FlushSecret.3
new file mode 100644
index 0000000..eea7fda
--- /dev/null
+++ b/man/man3/Tspi_Policy_FlushSecret.3
@@ -0,0 +1,77 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Policy_FlushSecret" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_Policy_FlushSecret \- flush a cached secret
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Policy_FlushSecret(TSS_HPOLICY " hPolicy ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_Policy_FlushSecret\fR
+tells the TSS to flush a secret that it had cached for a user.
+
+.SH "PARAMETERS"
+.PP
+.SS hPolicy
+The \fIhPolicy\fR parameter is the handle of the policy object to be flushed.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_Policy_FlushSecret\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhPolicy\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Policy_FlushSecret\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Policy_SetSecret\fR(3), \fBTspi_Policy_AssignToObject\fR(3).
+
diff --git a/man/man3/Tspi_Policy_SetSecret.3 b/man/man3/Tspi_Policy_SetSecret.3
new file mode 100644
index 0000000..47ed4ab
--- /dev/null
+++ b/man/man3/Tspi_Policy_SetSecret.3
@@ -0,0 +1,80 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_Policy_SetSecret" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_Policy_SetSecret \- set the authorization data of a policy object and define the handling of its retrieval
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_Policy_SetSecret(TSS_HPOLICY " hPolicy ", TSS_FLAG " secretMode ","
+.BI " UINT32 " ulSecretLength ", BYTE* " rgbSecret ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTSS_Policy_SetSecret\fR
+sets the authorization data for an object. This mthod also defines the handling of its retrieving. There are mand different paths as specified by the secretMode Flag.
+.SH "PARAMETERS"
+.PP
+.SS hPolicy
+The handle of the policy object.
+.PP
+.SS secretMode
+Flag indicating the policy secret mode to set. Possible values are:
+ \fBTSS_SECRET_MODE_SHA1\fR - Secret in the form of 20 bytes of SHA-1 data. The secret will not be touched by the TSP.
+ \fBTSS_SECRET_MODE_PLAIN\fR - The data passed in will be hashed by the TSP using SHA-1.
+ \fBTSS_SECRET_MODE_POPUP\fR - The TSP will ask for a secret by displaying a GUI pop-up window.
+ \fBTSS_SECRET_MODE_CALLBACK\fR - The application will provide a callback function for authorization data.
+ \fBTSS_SECRET_MODE_NONE\fR - \fIulSecretLen\fR and \fIrgbSecret\fR are ignored and any object requiring auth assigned this policy will return an error.
+.PP
+.SS ulSecretLength
+The length (in bytes) of the rgbSecret parameter.
+.PP
+.SS rgbSecret
+The secret data blob.
+.SH "RETURN CODES"
+.PP
+\fBTspi_Policy_SetSecret\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - hPolicy is an invalid parameter.
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_Policy_SetSecret\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Policy_FlushSecret\fR(3).
diff --git a/man/man3/Tspi_SetAttribData.3 b/man/man3/Tspi_SetAttribData.3
new file mode 100644
index 0000000..d16ab47
--- /dev/null
+++ b/man/man3/Tspi_SetAttribData.3
@@ -0,0 +1,87 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_SetAttribData" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_SetAttribData \- set a non 32bit attribute of an object.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_SetAttribData(TSS_HOBJECT " hObject ", TSS_FLAG " attribFlag ","
+.BI " TSS_FLAG " subFlag ", UINT32 " ulAttribDataSize ","
+.BI " BYTE* " rgbAttribData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_SetAttribData\fR sets the attributes associated with a given class of object that aren't UINT32. The structure and size of hte attribute data depends on the attribute.
+.SH "PARAMETERS"
+.PP
+.SS hObject
+Handle of the object where the attribute is to be set.
+.PP
+.SS attribFlag
+Flag indicating the attribute to set.
+.PP
+.SS subFlag
+Sub flag indicating the attribute to set
+.PP
+.SS ulAttribDataSize
+Supplies the length (in bytes) of the rgbAttribData.
+.PP
+.SS rgbAttribData
+Pointer to the actual data which is to be set for the specified attribute.
+.SH "RETURN CODES"
+.PP
+\fBTspi_SetAttribData\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhObject\fR is an invalid parameter.
+.TP
+.SM TSS_E_ATTRIB_FLAG - \fIattribFlag\fR is an invalid parameter.
+.TP
+.SM TSS_E_ATTRIB_SUBFLAG - \fIsubFlag\fR is an invalid parameter.
+.TP
+.SM TSS_E_ATTRIB_DATA - \fIrgbAttribData\fR is an invalid parameter.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_SetAttribData\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_GetAttribData\fR(3).
diff --git a/man/man3/Tspi_SetAttribUint32.3 b/man/man3/Tspi_SetAttribUint32.3
new file mode 100644
index 0000000..3c8280c
--- /dev/null
+++ b/man/man3/Tspi_SetAttribUint32.3
@@ -0,0 +1,106 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_SetAttribUint32" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developers Reference
+.SH NAME
+Tspi_SetAttribUint32 \- set a 32bit attribute associated with a given class or object
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_SetAttribUint32(TSS_HOBJECT " hObject ", TSS_FLAG " attribFlag ","
+.BI " TSS_FLAG " subFlag ", UINT32 " ulAttrib "); "
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_SetAttribUint32\fR sets a uint32 attribute
+associated with a given class or object. In order to use this
+command, you must first create an object and then find the attributes
+you wish to set.
+
+.SH "PARAMETERS"
+.PP
+.SS hObject
+The \fIhObject\fR parameter is the handle of the object or class
+whose attributes are being set. Note that this is any object handler
+- context, policy, TPM, key, hash, etc.
+.SS attribFlag
+The \fIattribFlag\fR parameter indicates the specific attribute to be set.
+.SS subFlag
+The \fIsubFlag\fR parameter also indicates the specific attribute to be set.
+.SS ulAttrib
+The \fIulAttrib\fR parameter is the value that the specified attribute
+will be set to.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_SetAttribUint32\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhObject\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INVALID_ATTRIB_FLAG
+\fIattribFlag\fR is incorrect.
+
+.TP
+.SM TSS_E_INVALID_ATTRIB_SUBFLAG
+\fIsubFlag\fR is incorrect.
+
+.TP
+.SM TSS_E_INVALID_ATTRIB_DATA
+\fIulAttrib\fR is incorrect.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_SetAttribUint32\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_GetAttribUint32\fR(3), \fBTspi_SetAttribData\fR(3),
+\fBTspi_GetAttribData\fR(3).
+
diff --git a/man/man3/Tspi_TPM_AuthorizeMigrationTicket.3 b/man/man3/Tspi_TPM_AuthorizeMigrationTicket.3
new file mode 100644
index 0000000..a68a7c0
--- /dev/null
+++ b/man/man3/Tspi_TPM_AuthorizeMigrationTicket.3
@@ -0,0 +1,84 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_AuthorizeMigrationTicket" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_AuthorizeMigrationTicket\- create the migration ticket required for the migration process.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_AuthorizeMigrationTicket(TSS_HTPM " hTPM ", TSS_HKEY " hMigrationKey ","
+.BI " TSS_MIGRATE_SCHEME " migrationScheme ", UINT32* " pulMigTicketLength ","
+.BI " BYTE** " prgbMigTicket ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_AuthorizeMigrationTicket\fR is used by the owner to authorize a target public key for migration. This mean sthat when a system is set up, the owner can decide that all archives should be done on a particular server. Then as keys are created, the user can pick one of these servers for the target of the migration of their keys, if they wish. This provides one of the two authorizations necessary to migrate a key.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object
+.PP
+.SS hMigrationKey
+Handle of the object representing the migration key.
+.PP
+.SS migrationScheme
+Flag indiating the migration scheme to be used.
+.PP
+.SS pulMigTicketLength
+Recieves the length (in bytes) of the prgbMigTicket parameter.
+.PP
+.SS prgbMigTicket
+Recieves a pointer to thememory block containing the migration ticket blob.
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_AuthorizeMigrationTicket\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either \fBhTPM\fR or \fBhMigrationKey\fR is not a valid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_AuthorizeMigrationTicket\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fB(none)\fR.
+
+
+
diff --git a/man/man3/Tspi_TPM_CMKSetRestrictions.3 b/man/man3/Tspi_TPM_CMKSetRestrictions.3
new file mode 100644
index 0000000..1b233d4
--- /dev/null
+++ b/man/man3/Tspi_TPM_CMKSetRestrictions.3
@@ -0,0 +1,93 @@
+.\" Copyright (C) 2007 International Business Machines Corporation
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_CMKSetRestrictions" 3 "2007-12-13" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_CMKSetRestrictions \- set restrictions on use of delegated Certified Migratable Keys
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_CMKSetRestrictions(TSS_HTPM " hTPM ", TSS_CMK_DELEGATE " CmkDelegate ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_CMKSetRestrictions\fR is used to set restrictions on the delegated use of Certified Migratable Keys (CMKs). Use of this command cannot itself be delegated.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS CmkDelegate
+The \fICmkDelegate\fR parameter is a bitmask describing the kinds of CMKs that can be used in a delegated auth session. Each bit represents a type of key. If the bit of a key type is set, then the CMK can be used in a delegated authorization session, otherwise use of that key will result in a TPM_E_INVALID_KEYUSAGE return code from the TPM.
+
+The possible values of \fICmkDelegate\fR are any combination of the following flags logically OR'd together:
+
+.TP
+.SM "TSS_CMK_DELEGATE_SIGNING"
+Allow use of signing keys.
+
+.TP
+.SM "TSS_CMK_DELEGATE_STORAGE"
+Allow use of storage keys.
+
+.TP
+.SM "TSS_CMK_DELEGATE_BIND"
+Allow use of binding keys.
+
+.TP
+.SM "TSS_CMK_DELEGATE_LEGACY"
+Allow use of legacy keys.
+
+.TP
+.SM "TSS_CMK_DELEGATE_MIGRATE"
+Allow use of migratable keys.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_CMKSetRestrictions\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_CMKSetRestrictions\fR conforms to the Trusted Computing Group
+Software Specification version 1.2 Errata A
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_CMKApproveMA\fR(3), \fBTspi_TPM_CMKCreateTicket\fR(3), \fBTspi_Key_CMKCreateBlob\fR(3)
+
diff --git a/man/man3/Tspi_TPM_CertifySelfTest.3 b/man/man3/Tspi_TPM_CertifySelfTest.3
new file mode 100644
index 0000000..995ac7d
--- /dev/null
+++ b/man/man3/Tspi_TPM_CertifySelfTest.3
@@ -0,0 +1,80 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_CertifySelfTest" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_CertifySelfTest\- have the TPM sign its self test data
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_CertifySelfTest(TSS_HTPM " hTPM ", TSS_HKEY " hKey ","
+.BI " TSS_VALIDATION* " pValidationData " );"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_CertifySelfTest\fR performs a self-test of each internal TPM function and returns an authenticated value (signature) if the test has passed.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object
+.PP
+.SS hKey
+Handle of the signature key object
+.PP
+.SS
+pValidationData
+Validation data structure.
+[IN] Provide externalData information required to compute the signature.
+[OUT] On successful completion of the ocmmand, the structure provides a buffer containing the validation data and a buffer containing the data the validation data was computed from.
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_CertifySelfTest\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fBhTPM\fR is not a valid handle to a TPM object.
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_CertifySelfTest\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_SelfTestFull\fR(3).
+
+
+
diff --git a/man/man3/Tspi_TPM_CheckMaintenancePubKey.3 b/man/man3/Tspi_TPM_CheckMaintenancePubKey.3
new file mode 100644
index 0000000..e95ced2
--- /dev/null
+++ b/man/man3/Tspi_TPM_CheckMaintenancePubKey.3
@@ -0,0 +1,100 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_CheckMaintenancePubKey" 3 "2004-05-26" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_CheckMaintenancePubKey\- check the public maintenance key
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_CheckMaintenancePubKey(TSS_HTPM " hTPM ", TSS_HKEY " hMaintenanceKey ","
+.BI " TSS_VALIDATION* " pValidationData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_CheckMaintenancePubKey\fR
+checks the public maintenance key. If \fIhMaintenanceKey\fR
+is NULL, then \fIpValidationData\fR must not be NULL; the caller has to
+proof the digest on its own. If \fIhMaintenanceKey\fR is not NULL, then
+\fIpValidationData\fR must be NULL; the TSS service provider proofs the
+digest got internally from the TPM. The key information required for
+proofing the public maintenance key must be set in the key object by
+Tspi_SetAttribData before this method is called. \fBThis function is
+not yet implemented\fR.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object
+.PP
+.SS hMaintenanceKey
+Handle of the maintenance key object
+.PP
+.SS pValidationData
+Validation data structure.
+[IN] Provide externalData information required to compute the signature.
+[OUT] On successful completion of the ocmmand, the structure provides a
+buffer containing the validation data and a buffer containing the data
+the validation data was computed from.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_CheckMaintenancePubKey\fR returns TSS_SUCCESS on success,
+otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more of the parameters is incorrect.
+.TP
+.SM TSS_E_NOTIMPL
+The command is not implemented.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_CheckMaintenancePubKey\fR conforms to the Trusted Computing
+Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_LoadMaintenancePubKey\fR(3),
+\fBTspi_TPM_CreateMaintenanceArchive\fR(3),
+\fBTspi_TPM_KillMaintenanceFeature\fR(3).
+
diff --git a/man/man3/Tspi_TPM_ClearOwner.3 b/man/man3/Tspi_TPM_ClearOwner.3
new file mode 100644
index 0000000..cd474d4
--- /dev/null
+++ b/man/man3/Tspi_TPM_ClearOwner.3
@@ -0,0 +1,85 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_ClearOwner" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_ClearOwner \- clear TPM ownership
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_ClearOwner(TSS_HTPM " hTPM ", TSS_BOOL " fForcedClear ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_ClearOwner\fR
+wipes the TPM of everything but its endorsement key. It will wipe the SRK, so
+anything locked to the SRK will also disappear when this command is executed.
+This is the only way to be certain that keys are gone, as it is the only way
+to guarantee that nothing can keep a copy of the key. You must assert either
+physical presence or owner authorization in order to use this command.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS fForcedClear
+The \fIfForcedClear\fR parameter is used to tell whether this command is being
+executed with owner authorization or with physical presence. If FALSE, then
+TPM owner authorization is used. If TRUE, then physical presence is required
+to clear the TPM.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_ClearOwner\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_ClearOwner\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_TakeOwnership\fR(3)
diff --git a/man/man3/Tspi_TPM_CollateIdentityRequest.3 b/man/man3/Tspi_TPM_CollateIdentityRequest.3
new file mode 100644
index 0000000..60ab76f
--- /dev/null
+++ b/man/man3/Tspi_TPM_CollateIdentityRequest.3
@@ -0,0 +1,102 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_CollateIdentityRequest" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_CollateIdentityRequest \- Gets all the informatin necessary to send to a trusted third party (TTP), repartory to asking the TTP to create a certificate for identity.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_CollateIdentityRequest(TSS_HTPM " hTPM ", TSS_HKEY " hKeySRK ","
+.BI " TSS_HKEY " hCAPPubKey ","
+.BI " UINT32 " ulIdentityLabelData ", BYTE* " rgbIdentityLabelData ","
+.BI " TSS_HKEY " hIdentityKey ", TSS_ALGORITHM_ID " algid ","
+.BI " UINT32* " pulTCPAIdentityReqLength ", BYTE** " prgbTCPAIdentityReq ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTSS_TPM_CollateIdentityRequest\fR
+creates an identity key, binds it to the label and returns a certificate request package. The privacty CA requires this certificate request to attest the identity key.
+
+Only the Owner of the TPM has the privledge of creating a TPM identity key.
+
+The symmetric session key is required to provide confidentiality of the "TCPA_IDENTITY_REQ" data structure, which should be sent to the Privacy CA chosen by the owner.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object.
+.PP
+.SS hKeySRK
+Handle to the key object representing the Storage Root Key
+.PP
+.SS hCAPubKey
+Handle to the key object representing the public key of the CA which signs the certificate of the created identity key.
+.PP
+.SS ulIdentityLabelLength
+Supplies the length (in bytes) of the rgbIdentityLabelData parameter
+.PP
+.SS rgbLabelData
+Pointer to a memory block containing the identity label, which should be a UNICODE string
+.PP
+.SS hIdentityKey
+Handle to the identity key object
+.PP
+.SS algid
+The type of symmetric algorithm touse as requred by the Enhanced CA.
+.PP
+.SS pulTCPAIdentityReqLength
+Recieves the length (in bytes) of the prgbTCPAIdentityReq parameter
+.PP
+.SS prgbTCPAIdentyReq
+Pointer to the memory block containing the certicficate request structure.
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_CollateIdentityRequest\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either \fBhTPM\fR or \fBhKeySRK\fR or \fBhCAPubKey\fR is not a valid handle.
+.TP
+.SM TSS_E_BAD_PARAMETER
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_CollateIdentityRequest\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_LoadKeyByUUID\fR(3).
diff --git a/man/man3/Tspi_TPM_CreateEndorsementKey.3 b/man/man3/Tspi_TPM_CreateEndorsementKey.3
new file mode 100644
index 0000000..5c772ca
--- /dev/null
+++ b/man/man3/Tspi_TPM_CreateEndorsementKey.3
@@ -0,0 +1,94 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_CreateEndorsementKey" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_CreateEndorsementKey \- create the endorsement key
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_CreateEndorsementKey(TSS_HTPM " hTPM ", TSS_HKEY " hKey ","
+.BI " TSS_VALIDATION* " pValidationData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_CreateEndorsementKey\fR
+creates an endorsement key. \fBThis function is currently not implemented\fR.
+Before this method is called, the key information for creating the key
+must be set in the key object by \fITspi_SetAttribData\fR. On return,
+the public endorsement key can be retrieved by \fITspi_GetAttribData\fR from
+the key object.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS hKey
+The \fIhKey\fR parameter is the handle of the key specifying the
+attributes of the endorsement key to create.
+.SS pValidationData
+The \fIpValidationData\fR parameter is a validation data structure. It provides
+external information required to compute the signature. Once the command is
+completed, the structure provides a buffer containing the validation data and
+a buffer containing the data the validation data was computed from.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_CreateEndorsementKey\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR or \fIhKey\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_CreateEndorsementKey\fR conforms to the Trusted Computing
+Group Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_GetPubEndorsementKey\fR(3), \fBTspi_Key_GetPubKey\fR(3).
+
diff --git a/man/man3/Tspi_TPM_CreateMaintenanceArchive.3 b/man/man3/Tspi_TPM_CreateMaintenanceArchive.3
new file mode 100644
index 0000000..edf0835
--- /dev/null
+++ b/man/man3/Tspi_TPM_CreateMaintenanceArchive.3
@@ -0,0 +1,107 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_CreateMaintenanceArchive" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_CreateMaintenanceArchive \- create the TPM manufacturer specific maintenance archive data.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_CreateMaintenanceArchive(TSS_HTPM " hTPM ", TSS_BOOL " fGenerateRndNumber ","
+.BI " UINT32* " pulRndNumberLength ", BYTE** " prgbRndNumber ","
+.BI " UINT32* " pulArchiveDataLength ", BYTE** " prgbArchiveData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_CreateMaintenanceArchive\fR
+creates the TPM Manufacturer specific maintenance archive data.
+\fBThis command is not currently implemented by any manufacturer\fR.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS fGenerateRndNumber
+The \fIfGenerateRndNumber\fR parameter determines how the random number
+is generated. If TRUE, a random number is generated by the TPM and
+returned. If FALSE, a random number is calculated based on the owner
+secret.
+.SS pulRndNumberLength
+The \fIpulRndNumberLength\fR parameter receives the length in bytes of
+the \fIprgbRndNumber\fR parameter. This is 0 if \fIfGenerateRndNumber\fR
+is FALSE.
+.SS prgbRndNumber
+The \fIprgbRndNumber\fR parameter receives a pointer to the random number
+data attributes. This is NULL if \fIfGenerateRndNumber\fR is FALSE.
+.SS pulArchiveDataLength
+The \fIpulArchiveDataLength\fR parameter receives the length in bytes of
+the \fIprgbArchiveData\fR parameter.
+.SS prgbArchiveData
+The \fIprgbArchiveData\fR parameter receives a pointer to the archive data.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_CreateMaintenanceArchive\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TSS_E_NOTIMPL
+The function is not implemented.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_CreateMaintenanceArchive\fR conforms to the Trusted Computing
+Group Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_KillMaintenanceFeature\fR(3),
+\fBTspi_TPM_LoadMaintenancePubKey\fR(3),
+\fBTspi_TPM_CheckMaintenancePubKey\fR(3).
+
diff --git a/man/man3/Tspi_TPM_DAA_JoinCreateDaaPubKey.3 b/man/man3/Tspi_TPM_DAA_JoinCreateDaaPubKey.3
new file mode 100644
index 0000000..42b4e67
--- /dev/null
+++ b/man/man3/Tspi_TPM_DAA_JoinCreateDaaPubKey.3
@@ -0,0 +1,112 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_DAA_JoinCreateDaaPubKey" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_DAA_JoinCreateDaaPubKey \- computes the credential request for the DAA Issuer
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_DAA_JoinCreateDaaPubKey("
+.BI " TSS_HDAA " hDAA ","
+.BI " TSS_HTPM " hTPM ","
+.BI " UINT32 " authenticationChallengeLength ","
+.BI " BYTE* " authenticationChallenge ","
+.BI " UINT32 " nonceIssuerLength ","
+.BI " BYTE* " nonceIssuer ","
+.BI " UINT32 " attributesPlatformLength ","
+.BI " BYTE** " attributesPlatform ","
+.BI " TSS_DAA_JOIN_SESSION* " joinSession ","
+.BI " TSS_DAA_CREDENTIAL_REQUEST* " credentialRequest
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_TPM_DAA_JoinCreateDaaPubKey\fR
+is the second (between \fBTspi_TPM_DAA_JoinInit()\fR and \fBTspi_TPM_DAA_JoinStoreCredential()\fR)
+ out of 3 functions to execute in order to receive a DAA Credential.
+It computes the credential request for the DAA Issuer, which also includes the Platforms's
+DAA public key and the attributes that were chosen by the Platform, and which are not visible
+to the DAA Issuer. The Platform can commit to the attribute values it has chosen.
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS hTPM
+The \fIhTPM\fR parameter is the handle to the TPM object.
+.SS authenticationChallengeLength
+The \fIauthenticationChallengeLength\fR parameter is length of authenticationChallenge (256 bytes - DAA_SIZE_NE1).
+.SS authenticationChallenge
+The \fIauthenticationChallenge\fR parameter is the second nonce of the DAA Issuer that is encrypted by the endorsement public key.
+It is used as a challenge to authenticate the underlying TPM.
+.SS nonceIssuerLength
+The \fInonceIssuerLength\fR parameter is the length of nonceIssuer (20 bytes).
+.SS nonceIssuer
+The \fInonceIssuer\fR parameter is the nonce of the DAA Issuer.
+.SS attributesPlatformLength
+The \fIattributesPlatformLength\fR parameter is length of attributesPlatform array, which is determined
+by the DAA Issuer public key (). The length of a single attribute is ln/8. ln is defined as the size of
+the RSA modulus (2048).
+.SS attributesPlatform
+The \fIattributesPlatform\fR parameter is an array of attributes to be encoded into the DAA Credential
+not visible to the DAA Issuer.
+.SS joinSession
+The \fIjoinSession\fR parameter is a structure containing the DAA Join session information.
+.SS credentialRequest
+The \fIcredentialRequest\fR parameter is the credential request of the Platform, it contains the blinded
+DAA public key of the platform on which the DAA Issuer will issue the credential the blinded attributes
+chosen by the Platform.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either the DAA is not valid.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+.PP
+\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_DAA_JoinInit\fR(3)
+\fBTspi_TPM_DAA_JoinStoreCredential\fR(3)
+
diff --git a/man/man3/Tspi_TPM_DAA_JoinInit.3 b/man/man3/Tspi_TPM_DAA_JoinInit.3
new file mode 100644
index 0000000..0142305
--- /dev/null
+++ b/man/man3/Tspi_TPM_DAA_JoinInit.3
@@ -0,0 +1,119 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_DAA_JoinInit" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_DAA_JoinInit \- start the DAA Join process
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSPICALL Tspi_TPM_DAA_JoinInit("
+.BI " TSS_HDAA " hDAA ","
+.BI " TSS_HTPM " hTPM ","
+.BI " TSS_HKEY " issuer_pk ","
+.BI " UINT32 " issuer_authentication_PKLength ","
+.BI " TSS_HKEY* " issuer_authentication_PK ","
+.BI " UINT32 " issuer_authentication_PK_signaturesLength ","
+.BI " BYTE** " issuer_authentication_PK_signatures ","
+.BI " UINT32* " capital_UprimeLength ","
+.BI " BYTE** " capital_Uprime ","
+.BI " TSS_DAA_IDENTITY_PROOF* " identity_proof ","
+.BI " TSS_DAA_JOIN_SESSION* " join_session
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_TPM_DAA_JoinInit\fR
+is the first out of 3 functions to execute in order to receive a DAA Credential. It
+verifies the keys of the DAA Issuer and computes the TPM DAA public key.
+
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS hTPM
+The \fIhTPM\fR parameter is the handle to the TPM object.
+.SS issuer_pk
+The \fIissuer_pk\fR parameter is the of the DAA Issuer public key.
+.SS issuer_authentication_PKLength
+The \fIissuer_authentication_PKLength\fR parameter is the length of the array of \fIissuerAuthPKs\fR.
+.SS issuer_authentication_PK
+The \fIissuer_authentication_PK\fR parameter is an array of RSA public keys (key chain) of
+ the DAA Issuer used to authenticate the DAA Issuer public key. The size of the modulus must
+ be TPM_DAA_SIZE_issuerModulus (256).
+.SS issuer_authentication_PK_signaturesLength
+The \fIissuer_authentication_PK_signaturesLength\fR parameter is the length of the array of
+ issuerAuthPKSignatures. It is equal to issuerAuthPKsLength. The length of an element of the
+ array is TPM_DAA_SIZE_issuerModulus (256).
+.SS issuer_authentication_PK_signatures
+The \fIissuer_authentication_PK_signatures\fR parameter is the array of byte arrays representing
+ signatures on the modulus of the above key chain (issuerAuthPKs) in more details, the array has
+ the following content (S(K[1],K[0]),S(K[2],N[1]),..S(K[ k ],K[n-1]), S(TPM_DAA_ISSUER,K[ k ])),
+ where S(msg,privateKey) denotes the signature function with msg being signed by the privateKey.
+.SS capital_UprimeLength
+The \fIcapital_UprimeLength\fR parameter is the length of capitalUprime which is ln/8. ln is
+defined as the size of the RSA modulus (2048).
+.SS capital_Uprime
+The \fIcapital_Uprime\fR parameter is U'.
+.SS identityProof
+The \fIidentityProof\fR parameter is a structure containing the endorsement, platform and conformance
+ credential.
+.SS joinSession
+The \fIjoinSession\fR parameter is a structure containing DAA Join session information.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_DAA_JoinInit\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either the DAA or the TPM handler is not valid.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+.TP
+.SM TSS_E_DAA_ISSUER_KEY_ERROR
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_DAA_JoinInit\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR(3)
+\fBTspi_TPM_DAA_JoinStoreCredential\fR(3)
+
diff --git a/man/man3/Tspi_TPM_DAA_JoinStoreCredential.3 b/man/man3/Tspi_TPM_DAA_JoinStoreCredential.3
new file mode 100644
index 0000000..1bbe8bd
--- /dev/null
+++ b/man/man3/Tspi_TPM_DAA_JoinStoreCredential.3
@@ -0,0 +1,89 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_DAA_JoinStoreCredential" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_DAA_JoinStoreCredential \- compute the final DAA Credential
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_DAA_JoinStoreCredential("
+.BI " TSS_HDAA " hDAA ","
+.BI " TSS_HTPM " hTPM ","
+.BI " TSS_DAA_CRED_ISSUER " credIssuer ","
+.BI " TSS_DAA_JOIN_SESSION " joinSession ","
+.BI " TSS_HKEY* " hDaaCredential
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_TPM_DAA_JoinStoreCredential\fR
+is the last out of 3 functions (after \fBTspi_TPM_DAA_JoinInit()\fR and \fBTspi_TPM_DAA_JoinCreateDaaPubKey()\fR)
+ to execute in order to receive a DAA Credential. It verifies the issued credential from the DAA Issuer
+and computes the final DAA Credential.
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS hTPM
+The \fIhTPM\fR parameter is the handle to the TPM object.
+.SS credIssuer
+The \fIcredIssuer\fR parameter is the DAA Credential issued by the DAA Issuer including proof of correctness.
+.SS joinSession
+The \fIjoinSession\fR parameter is the structure containing the DAA Join session information.
+.SS hDaaCredential
+The \fIhDaaCredential\fR parameter is the handle of the received DAA Credential.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_DAA_JoinStoreCredential\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either the DAA or the TPM handler is not valid.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+.SM TSS_E_DAA_CREDENTIAL_PROOF_ERROR
+One of the verification of the issued credential failed
+.SH "CONFORMING TO"
+.PP
+\fBTspi_TPM_DAA_JoinStoreCredential\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_DAA_JoinInit\fR(3)
+\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR(3)
diff --git a/man/man3/Tspi_TPM_DAA_Sign.3 b/man/man3/Tspi_TPM_DAA_Sign.3
new file mode 100644
index 0000000..da607fc
--- /dev/null
+++ b/man/man3/Tspi_TPM_DAA_Sign.3
@@ -0,0 +1,109 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_DAA_Sign" 3 "2006-09-04" "TSS 1.2"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_DAA_Sign \- creates a DAA Signature that proofs ownership of the DAA Credential
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_DAA_Sign("
+.BI " TSS_HDAA " hDAA ","
+.BI " TSS_HTPM " hTPM ","
+.BI " TSS_HKEY " hDaaCredential ","
+.BI " TSS_DAA_SELECTED_ATTRIB " revealAttributes ","
+.BI " UINT32 " verifierBaseNameLength ","
+.BI " BYTE* " verifierBaseName ","
+.BI " UINT32 " verifierNonceLength ","
+.BI " BYTE* " verifierNonce ","
+.BI " TSS_DAA_SIGN_DATA " signData ","
+.BI " TSS_DAA_SIGNATURE* " daaSignature
+.BI ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\Tspi_TPM_DAA_Sign\fR
+creates a DAA Signature that proofs ownership of the DAA Credential and includes a
+signature on either a public AIK or a message. If anonymity revocation is enabled, the value Nv
+is not provided in the clear anymore but encrypted under the public key of anonymity revocation
+authority, a trusted third party (TTP). Thus the DAA Verifier cannot check for revocation or link
+a transaction/signature to prior ones. Depending on how is chosen, the protocol either allows
+implementing anonymity revocation (i.e., using the DAA Issuer's long-term base name as the DAA
+Verifier's base name ), or having the TTP doing the linking of different signatures for the same
+DAA Verifier (i.e., using the DAA Verifier's base name ).
+.SH "PARAMETERS"
+.PP
+.SS hDAA
+The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
+.SS hTPM
+The \fIhTPM\fR parameter is the handle to the TPM object.
+.SS hDaaCredential
+The \fIhDaaCredential\fR parameter is the Handle of the DAA Credential.
+.SS revealAttributes
+The \fIrevealAttributes\fR parameter is the attributes which the credential owner wants to reveal
+to the DAA Verifier.
+.SS verifierBaseNameLength
+The \fIverifierBaseNameLength\fR parameter is the Length of verifierBaseName.
+.SS verifierBaseName
+The \fIverifierBaseName\fR parameter is the base name chosen by the DAA Verifier. If it equals to null,
+the platform chooses a random base name.
+.SS verifierNonceLength
+The \fIverifierNonceLength\fR parameter is the length of verifierNonceName (20 bytes).
+.SS verifierNonce
+The \fIverifierNonce\fR parameter is the nonce created by the DAA Verifier.
+.SS signData
+The \fIsignData\fR parameter is the handle of the received DAA Credential.
+.SS daaSignature
+The \fIdaaSignature\fR parameter is the DAA signature containing the proof of ownership of the DAA Credential,
+as well as a signature on either an AIK or a message.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_DAA_Sign\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either the DAA or the TPM handler is not valid.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+.PP
+\fBTspi_TPM_DAA_Sign\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
diff --git a/man/man3/Tspi_TPM_DirRead.3 b/man/man3/Tspi_TPM_DirRead.3
new file mode 100644
index 0000000..c60a454
--- /dev/null
+++ b/man/man3/Tspi_TPM_DirRead.3
@@ -0,0 +1,89 @@
+.\" Copyright (C) 2006 International Business Machines Corporation
+.\" Written by Kent Yoder based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_DirRead" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_DirRead \- Read a Data Integrity Register
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_DirRead(TSS_HTPM " hTPM ", UINT32 " ulDirIndex ","
+.BI " UINT32* " pulDirDataLength ", BYTE** " prgbDirData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_DirRead\fR reads a data integrity register. DIRs are non-volatile (persistent
+across reboots) memory areas maintained by the TPM.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM
+object.
+.SS ulDirIndex
+The \fIulDirIndex\fR parameter is the index of the DIR to read. To query the TPM for the
+number of DIR registers it supports, use \fBTspi_TPM_GetCapability\fR(3).
+.SS pulDirDataLength
+The \fIpulDirDataLength\fR parameter receives the length in bytes of the \fIprgbDirData\fR parameter.
+.SS prgbDirData
+The \fIprgbDirData\fR parameter receives a pointer to memory containing the DIR data.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_DirRead\fR returns TSS_SUCCESS on success, otherwise one of
+the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_DirRead\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+.PP
+\fBTspi_TPM_GetCapability\fR(3), \fBTspi_TPM_DirWrite\fR(3).
+
diff --git a/man/man3/Tspi_TPM_DirWrite.3 b/man/man3/Tspi_TPM_DirWrite.3
new file mode 100644
index 0000000..7b7e0ef
--- /dev/null
+++ b/man/man3/Tspi_TPM_DirWrite.3
@@ -0,0 +1,91 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_DirWrite" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_DirWrite \- write to a Data Integrity Register
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_DirWrite(TSS_HTPM " hTPM ", UINT32 " ulDirIndex ","
+.BI " UINT32 " ulDirDataLength ", BYTE* " rgbDirData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_DirWrite\fR writes a data integrity
+register. You need to know the DIR index and data you wish to write
+to the DIR prior to using this command.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM
+object.
+.SS ulDirIndex
+The \fIulDirIndex\fR parameter is the index of the DIR to write. To query the TPM for the
+number of DIR registers it supports, use \fBTspi_TPM_GetCapability\fR(3).
+.SS ulDirDataLength
+The \fIulDirDataLength\fR parameter is the length in bytes of the \fIrgbDirData\fR parameter.
+.SS rgbDirData
+The \fIrgbDirData\fR parameter is a pointer to memory containing the
+data to be written to the DIR.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_DirWrite\fR returns TSS_SUCCESS on success, otherwise one of
+the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_DirWrite\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+.PP
+\fBTspi_TPM_GetCapability\fR(3), \fBTspi_TPM_DirRead\fR(3).
+
diff --git a/man/man3/Tspi_TPM_GetAuditDigest.3 b/man/man3/Tspi_TPM_GetAuditDigest.3
new file mode 100644
index 0000000..dc7caaf
--- /dev/null
+++ b/man/man3/Tspi_TPM_GetAuditDigest.3
@@ -0,0 +1,87 @@
+.\" Copyright (C) 2007 International Business Machines Corporation
+.\" Written by Tom Lendacky based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_GetAuditDigest" 3 "2007-06-27" "TSS 1.2" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_GetAuditDigest \- retrieve the audit digest.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_GetAuditDigest(TSS_HTPM " hTpm ", TSS_HKEY " hKey ","
+.BI " TSS_BOOL " closeAudit ", UINT32* " pulAuditDigestSize ","
+.BI " BYTE** " prgbAuditDigest ", TPM_COUNTER_VALUE* " pCounterValue ","
+.BI " TSS_VALIDATION* " pValidationData ", UINT32* " ordSize ","
+.BI " UINT32** " ordList ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_GetAuditDigest\fR is used to retrieve the audit digest. The audit digest may be signed or unsigned. If the audit digest is signed (hKey is non-NULL) then the current audit digest, the current audit counter and, optionally, the hash of the audited ordinal list and a signature are returned. If the audit digest is not signed (hKey is NULL) then the current audit digest, the current audit counter and the full list of audited ordinals is returned.
+.SH "PARAMETERS"
+.PP
+.SS hTpm
+Handle of the TPM object.
+.PP
+.SS hKey
+Handle of the signature key object (the handle can be NULL).
+.PP
+.SS closeAudit
+A flag indicating whether or not to close the current audit digest after it is signed. This parameter is ignored if \fIhKey\fR is NULL.
+.PP
+.SS pulAuditDigestSize
+Pointer to the size of the returned audit digest.
+.PP
+.SS prgbAuditDigest
+Pointer to a buffer that holds the returned audit digest.
+.PP
+.SS pCounterValue
+Pointer to a TPM_COUNTER_VALUE structure that holds the returned audit counter.
+.PP
+.SS pValidationData
+Pointer to a validation data structure. The validation data structure provides external information required to compute the signature. On input, the fields representing the ExternalData must contain an anti-replay nonce that will be used in the signing operation. On output, this structure provides a buffer containing the data used to compute the validation data and a buffer containing the validation data (a signature generated by signing the data using the key referenced by \fIhKey\fR). If this parameter is NULL then the TSS will perform the validation. This parameter is ignored if \fIhKey\fR is NULL.
+.PP
+.SS ordSize
+Pointer to the number of ordinals in the returned audited ordinal list. This parameter is ignored if \fIhKey\fR is non-NULL.
+.PP
+.SS ordList
+Pointer to a buffer that holds the returned audited ordinal list. This parameter is ignored if \fIhKey\fR is non-NULL.
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetAuditDigest\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_GetAuditDigest\fR conforms to the Trusted Computing Group Software Specification Version 1.2
+
+
+
diff --git a/man/man3/Tspi_TPM_GetCapability.3 b/man/man3/Tspi_TPM_GetCapability.3
new file mode 100644
index 0000000..c77145b
--- /dev/null
+++ b/man/man3/Tspi_TPM_GetCapability.3
@@ -0,0 +1,125 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_GetCapability" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_GetCapability \- get information on the capabilities of the TPM
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_GetCapability(TSS_HTPM " hTPM ", TSS_FLAG " capArea ","
+.BI " UINT32 " ulSubCapLength ", BYTE* " rgbSubCap ", "
+.BI " UINT32* " pulRespDataLength ", BYTE** " prgbRespData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_GetCapability\fR
+gets information on various capabilities of the TPM. This command can
+be used to learn how many PCRs the TPM supports, etc.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS capArea
+The \fIcapArea\fR parameter is the flag indicating the attribute to query. Possible values are:
+.SS ulSubCapLength
+The \fIulSubCapLength\fR parameter is the length in bytes of the
+\fIrgbSubCap\fR parameter.
+.SS rgbSubCap
+The \fIrgbSubCap\fR parameter is the data indicating the attribute to query. Possible values are:
+.SS pulRespDataLength
+The \fIpulRespDataLength\fR parameter is the length in bytes of the
+\fIprgbRespData\fR parameter.
+.SS prgbRespData
+The \fIprgbRespData\fR parameter receives a pointer to the actual data
+of the specified attribute.
+
+.SH "NOTES"
+.PP
+The following Capability Areas and Sub-Capability Areas are supported by 1.1 TSS's:
+.sp 2
+.BR TSS_TPMCAP_ORD " - query whether an ordinal is supported by the TPM. "
+ subCaps: TPM_ORD_* (see tcpa_literals.h)
+.sp
+.BR TSS_TPMCAP_FLAG " - query for the volatile and non-volatile flags inside the TPM. (Must be owner authorized). In this case, the 2 UINT32 values will be returned concatenated together in prgbRespData. "
+ subCaps: ignored.
+.sp
+.BR TSS_TPMCAP_ALG " - query whether an algorithm is supported by the TPM. "
+ subCaps: TSS_ALG_RSA
+ TSS_ALG_DES
+ TSS_ALG_3DES
+ TSS_ALG_SHA
+ TSS_ALG_HMAC
+ TSS_ALG_AES
+.sp
+.BR TSS_TPMCAP_PROPERTY " - query a property of the TPM. "
+ subCaps: TSS_TPMCAP_PROP_PCR
+ TSS_TPMCAP_PROP_DIR
+ TSS_TPMCAP_PROP_MANUFACTURER
+ TSS_TPMCAP_PROP_SLOTS
+.sp
+.BR TSS_TPMCAP_VERSION " - get the TSS_VERSION structure tha identifies the TPM. "
+ subCaps: ignored.
+
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetCapability\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_GetCapability\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_GetCapabilitySigned\fR(3), \fBTspi_TPM_GetEvent\fR(3).
+
diff --git a/man/man3/Tspi_TPM_GetEvent.3 b/man/man3/Tspi_TPM_GetEvent.3
new file mode 100644
index 0000000..5a5d77a
--- /dev/null
+++ b/man/man3/Tspi_TPM_GetEvent.3
@@ -0,0 +1,80 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_GetEvent" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_GetEvent\- get a PCR event for a given PCR index and event number.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_GetEvent(TSS_HTPM " hTPM ", UINT32 " ulPcrIndex ","
+.BI " UINT32 " ulEventNumber ", TSS_PCR_EVENT* " pPcrEvent ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_GetEvent\fR provides a PCR event for a given PCR index and event number.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object.
+.PP
+.SS ulPcrIndex
+Index of the PCR to request.
+.PP
+.SS ulEventNumber
+Index of the event to request.
+.PP
+.SS pPcrEvent
+Receives the PCR event data.
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetEvent\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fBhTPM\fR is not a valid handle to the TPM object.
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_GetEvent\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_GetEvents\fR(3) \fBTspi_TPM_GetEventLog\fR(3).
+
+
+
diff --git a/man/man3/Tspi_TPM_GetEventLog.3 b/man/man3/Tspi_TPM_GetEventLog.3
new file mode 100644
index 0000000..c6cfb84
--- /dev/null
+++ b/man/man3/Tspi_TPM_GetEventLog.3
@@ -0,0 +1,78 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_GetEventLog" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_GetEventLog\- get the entire PCR event log.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_GetEventLog(TSS_HTPM " hTPM ", UINT32* " pulEventNumber ","
+.BI " TSS_PCR_EVENT** " prgPcrEvents ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_GetEventLog\fR provides the whole event log that was used to create all of the PCRs.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object.
+.PP
+.SS pulEventNumber
+Receives number of returned event data structures in prgPcrEvents parameter.
+.PP
+.SS prgPcrEvents
+Receives a pointer to an array of PCR event data.
+If NULL, only the numberof elements is returned in pulEventNumber parameter.
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetEventLog\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fBhTPM\fR is not a valid handle to the TPM object.
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_GetEventLog\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_GetEvent\fR(3) \fBTspi_TPM_GetEvents\fR(3).
+
+
+
diff --git a/man/man3/Tspi_TPM_GetEvents.3 b/man/man3/Tspi_TPM_GetEvents.3
new file mode 100644
index 0000000..83fb368
--- /dev/null
+++ b/man/man3/Tspi_TPM_GetEvents.3
@@ -0,0 +1,86 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_GetEvents" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_GetEvents\- get a specific number of PCR events for a given index.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_GetEvents(TSS_HTPM " hTPM ", UINT32 " ulPcrIndex ", "
+.BI " UINT32 " ulStartNumber ", UINT32* " pulEventNumber ", "
+.BI " TSS_PCR_EVENT* " prgbPcrEvents ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_GetEvents\fR provides a specific number of PCR events for a given index.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object.
+.PP
+.SS ulPcrIndex
+Index of the PCR to request.
+.PP
+.SS ulStartNumber
+Indext of the first event to request
+.PP
+.SS pulEventNumber
+[IN] Number of elements to request.
+[OUT] Receives number of returned event data structures in prgbPcrEvents parameter.
+.PP
+.SS prgbPcrEvents
+Receives a pointer to an array of PCR event data.
+If NULL, only the number of elements is returned in pulEventNumber parameter.
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetEvents\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fBhTPM\fR is not a valid handle to the TPM object.
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_GetEvents\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_GetEvent\fR(3) \fBTspi_TPM_GetEventLog\fR(3).
+
+
+
diff --git a/man/man3/Tspi_TPM_GetPubEndorsementKey.3 b/man/man3/Tspi_TPM_GetPubEndorsementKey.3
new file mode 100644
index 0000000..16ded4d
--- /dev/null
+++ b/man/man3/Tspi_TPM_GetPubEndorsementKey.3
@@ -0,0 +1,101 @@
+.\" Copyright (C) 2004, 2005 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_GetPubEndorsementKey" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_GetPubEndorsementKey \- create a TSS key object from the TPM's public endorsement key
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_GetPubEndorsementKey(TSS_HTPM " hTPM ", TSS_BOOL " fOwnerAuthorized ","
+.BI " TSS_VALIDATION* " pValidationData ", TSS_HKEY* " phEndorsementPubKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_GetPubEndorsementKey\fR
+This function retrieves the public endorsement key (PubEK) from the TPM and creates a TSS
+key object for it, whose handle is returned in \fIphEndorsementPubKey\fR. Due to
+the fact that different TPM chips validate the PubEK in different ways, application
+verification of the PubEK (using a non-NULL \fIpValidationData\fR is \fBbroken\fR.
+Tspi_TPM_GetPubEndorsementKey should be called with a NULL \fIpValidationData\fR parameter
+to allow the TSS to verify the PubEK itself.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS fOwnerAuthorized
+If TRUE, the TPM owner secret must be provided to get the public endorsement key.
+If FALSE, no TPM owner secret must be provided to get the public endorsement key.
+.SS pValidationData
+If non-NULL, the application should set the pValidationData->rgbExternalData parameter
+to 20 bytes of random data before calling Tspi_TPM_GetPubEndorsementKey. On successful
+completion of the command, the structure will provide buffers containing the validation
+data and the buffer the validation data was computed from.
+.SS phEndorsementPubKey
+Receives a handle to a key object representing the TPM's public endorsement key.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetPubEndorsementKey\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TPM_E_DISABLED_CMD
+Reading of PubEK from TPM has been disabled.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_GetPubEndorsementKey\fR conforms to the Trusted Computing
+Group Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Key_GetPubKey\fR(3).
+
diff --git a/man/man3/Tspi_TPM_GetRandom.3 b/man/man3/Tspi_TPM_GetRandom.3
new file mode 100644
index 0000000..c00089d
--- /dev/null
+++ b/man/man3/Tspi_TPM_GetRandom.3
@@ -0,0 +1,88 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_GetRandom" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_GetRandom \- generate a random number on the TPM
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_GetRandom(TSS_HTPM " hTPM ", UINT32 " size ", BYTE** " random ");"
+.fi
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_GetRandom\fR gets a good random number
+for the purpose of generating symmetric keys, nonces, or
+seeding a random number generator.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM
+object. The command to get the TPM to test itself will be sent here.
+.SS size
+The \fIsize\fR parameter is the number of random bytes requested.
+.SS random
+The \fIrandom\fR parameter is a pointer to memory containing the random
+data. This is where the generated number goes. Because this internally
+allocates memory, Tspi_Context_FreeMemory should also be used.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetRandom\fR returns TSS_SUCCESS on success, otherwise one
+of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_GetRandom\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_FreeMemory\fR(3).
+
diff --git a/man/man3/Tspi_TPM_GetStatus.3 b/man/man3/Tspi_TPM_GetStatus.3
new file mode 100644
index 0000000..f1cd165
--- /dev/null
+++ b/man/man3/Tspi_TPM_GetStatus.3
@@ -0,0 +1,86 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_GetStatus" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_GetStatus \- query the TPM's status
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_GetStatus(TSS_HTPM " hTPM ", TSS_FLAG " statusFlag ", BOOL* " pfTpmState ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_GetStatus\fR queries the status of the
+TPM, returning a specific status based on the flags specified.
+\fBThis command is not currently implemented\fR.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS statusFlag
+The \fIstatusFlag\fR parameter is the status to be retrieved.
+.SS fTpmState
+The \fIpfTpmState\fR parameter is a pointer to the value of the status queried.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetStatus\fR returns TSS_SUCCESS on success, otherwise one
+of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_GetStatus\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_SetStatus\fR(3), \fBTspi_TPM_GetCapability\fR(3).
+
diff --git a/man/man3/Tspi_TPM_GetTestResult.3 b/man/man3/Tspi_TPM_GetTestResult.3
new file mode 100644
index 0000000..d259409
--- /dev/null
+++ b/man/man3/Tspi_TPM_GetTestResult.3
@@ -0,0 +1,76 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_GetTestResult" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_GetTestResult\- get manufacturer specific information regarding the results of a self test.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_GetTestResult(TSS_HTPM " hTPM ", UINT32* " pulTestResultLength ", BYTE** " prgbTestResult ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_GetTestResult\fR is provided by a manufacturer of a TPM to provide manufacturer specific self test results.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object
+.PP
+.SS pulTestREsultLength
+Receives the length (in bytes) of the prgbTestResult parameter
+.PP
+.SS prgbTestResult
+Pointer to the memory block containing the TPM manufacturer specific information.
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetTestResult\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fBhTPM\fR is not a valid handle to the TPM object.
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_GetTestResult\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_SelfTestFull\fR(3).
+
+
+
diff --git a/man/man3/Tspi_TPM_KillMaintenanceFeature.3 b/man/man3/Tspi_TPM_KillMaintenanceFeature.3
new file mode 100644
index 0000000..7a2a086
--- /dev/null
+++ b/man/man3/Tspi_TPM_KillMaintenanceFeature.3
@@ -0,0 +1,85 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_KillMaintenanceFeature" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_KillMaintenanceFeature \- Disables the ability to create a maintenance archive
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_KillMaintenanceFeature(TSS_HTPM " hTPM ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_KillMaintenanceFeature\fR disables the
+functionality of creating a maintenance archive. \fBThis feature is
+not yet implemented\fR.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_KillMaintenanceFeature\fR returns TSS_SUCCESS on success,
+otherwise one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_NOTIMPL
+The function is not implemented.
+
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_KillMaintenanceFeature\fR conforms to the Trusted Computing
+Group Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_CreateMaintenanceArchive\fR(3),
+\fBTspi_TPM_LoadMaintenancePubKey\fR(3),
+\fBTspi_TPM_CheckMaintenancePubKey\fR(3).
+
diff --git a/man/man3/Tspi_TPM_LoadMaintenancePubKey.3 b/man/man3/Tspi_TPM_LoadMaintenancePubKey.3
new file mode 100644
index 0000000..37ced39
--- /dev/null
+++ b/man/man3/Tspi_TPM_LoadMaintenancePubKey.3
@@ -0,0 +1,102 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_LoadMaintenancePubKey" 3 "2004-05-26" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_LoadMaintenancePubKey\- load the public maintenance key into the TPM
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_LoadMaintenancePubKey(TSS_HTPM " hTPM ", TSS_HKEY " hMaintenanceKey ","
+.BI " TSS_VALIDATION* " pValidationData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_LoadMaintenancePubKey\fR
+loads the public maintenance key into the TPM. The
+maintenance key can only be loaded once; any subsequent calls to
+this function will fail. The key information for loading the
+maintenance public key must be set in the key object by
+Tspi_SetAttribData before this method is called. If
+\fIpValidationData\fR is NULL, the TSS service provider proofs the
+digest got internally from the TPM. Otherwise, the caller has to
+proof the digest by its own.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object
+.PP
+.SS hMaintenanceKey
+Handle of the maintenance key object
+.PP
+.SS pValidationData
+Validation data structure.
+[IN] Provide externalData information required to compute the signature.
+[OUT] On successful completion of the ocmmand, the structure provides a
+buffer containing the validation data and a buffer containing the data
+the validation data was computed from.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_LoadMaintenancePubKey\fR returns TSS_SUCCESS on success,
+otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR or \fIhMaintenanceKey\fR is not a valid handle.
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more of the parameters is incorrect.
+.TP
+.SM TSS_E_NOTIMPL
+The command is not implemented.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_LoadMaintenancePubKey\fR conforms to the Trusted Computing
+Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_CheckMaintenancePubKey\fR(3),
+\fBTspi_TPM_KillMaintenanceFeature\fR(3),
+\fBTspi_TPM_CreateMaintenanceArchive\fR(3).
+
+
+
diff --git a/man/man3/Tspi_TPM_OwnerGetSRKPubKey.3 b/man/man3/Tspi_TPM_OwnerGetSRKPubKey.3
new file mode 100644
index 0000000..56fa649
--- /dev/null
+++ b/man/man3/Tspi_TPM_OwnerGetSRKPubKey.3
@@ -0,0 +1,87 @@
+.\" Copyright (C) 2007 International Business Machines Corporation
+.\" Written by Loulwa Salem based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_OwnerGetSRKPubKey" 3 "2007-07-19" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_OwnerGetSRKPubKey \- get public key of the SRK
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.sp
+.B "#include <tss/tspi.h>"
+.B ""
+.BI "TSS_RESULT Tspi_TPM_OwnerGetSRKPubKey(TSS_HTPM " hTPM ","
+.BI " UINT32* " pulPubKeyLength ","
+.BI " BYTE** " prgbPubKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_OwnerGetSRKPubKey\fR
+returns the public key of the key object using owner authorization.
+This can only be used on 1.2 TPMs, and only to return the public key of the SRK.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS pulPubKeyLength
+The \fIpulPubKeyLength\fR parameter is the length (in bytes) of the prgbPubKey parameter.
+.SS prgbPubKey
+The \fIprgbPubKey\fR parameter is the pointer to the memory block containing the public key blob retrieved for the key object referenced by hKey.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_OwnerGetSRKPubKey\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_TPM_UNSUPPORTED
+The TPM is not version 1.2 or later - (Note: still unimplemented)
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_OwnerGetSRKPubKey\fR conforms to the Trusted Computing Group
+Software Specification version 1.2
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_Context_FreeMemory\fR(3), \fBTspi_Key_GetPubKey\fR(3).
+
diff --git a/man/man3/Tspi_TPM_PcrExtend.3 b/man/man3/Tspi_TPM_PcrExtend.3
new file mode 100644
index 0000000..cd01713
--- /dev/null
+++ b/man/man3/Tspi_TPM_PcrExtend.3
@@ -0,0 +1,101 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_PcrExtend" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_PcrExtend \- extend a PCR register and optionally write the PCR event log.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_PcrExtend(TSS_HTPM " hTPM ", UINT32 " ulPcrIndex ","
+.BI " UINT32 " ulPcrDataLength ", BYTE* " pbPcrData ","
+.BI " TSS_PCR_EVENT* " pPcrEvent ","
+.BI " UINT32* " pulPcrValueLength ", BYTE** " prgbPcrValue ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_PcrExtend\fR extends a PCR register and writes the PCR event log if
+one is supplied by the user.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM
+object. The command to get the TPM to test itself will be sent here.
+.SS ulPcrIndex
+The \fIulPcrIndex\fR parameter is the index of the PCR to extend.
+.SS ulPcrDataLength
+The \fIulPcrDataLength\fR parameter is the length in bytes of the \fIpbPcrData\fR parameter.
+.SS pbPcrData
+The \fIpbPcrData\fR parameter is a pointer to data to be hashed by the TSS, which will
+be used in the extend operation.
+.SS pPcrEvent
+The \fIpPcrEvent\fR parameter is the TSS_PCR_EVENT structure to be passed to the TCS
+to record the extend event. If \fIpPcrEvent\fR is not NULL, the application should
+fill out the members of the structure that it cares about.
+.SS pulPcrValueLength
+The \fIpulPcrValueLength\fR parameter receives the length in bytes of the \fIprgbPcrValue\fR parameter.
+.SS prgbPcrValue
+The \fIprgbPcrValue\fR receives a pointer to the memory block containing the PCR data after the
+extend operation.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_PcrExtend\fR returns TSS_SUCCESS on success, otherwise one
+of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_PcrExtend\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_PcrRead\fR(3).
+
diff --git a/man/man3/Tspi_TPM_PcrRead.3 b/man/man3/Tspi_TPM_PcrRead.3
new file mode 100644
index 0000000..0771a99
--- /dev/null
+++ b/man/man3/Tspi_TPM_PcrRead.3
@@ -0,0 +1,91 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_PcrRead" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_PcrRead \- read the value in a PCR register
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_PcrRead(TSS_HTPM " hTPM ", UINT32 " ulPcrIndex ","
+.BI " UINT32* " pulPcrValueLength ", BYTE** " prgbPcrValue ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_PcrRead\fR reads a PCR register to find
+the current values.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM
+object. The command to get the TPM to test itself will be sent here.
+.SS ulPcrIndex
+The \fIulPcrIndex\fR parameter is the index of the PCR to read.
+.SS pulPcrValueLength
+The \fIpulPcrValueLength\fR parameter receives the length in bytes
+of the \fIprgbPcrValue\fR parameter.
+.SS prgbPcrValue
+The \fIprgbPcrValue\fR parameter receives a pointer to the memory
+block containing the PCR data.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_PcrRead\fR returns TSS_SUCCESS on success, otherwise one
+of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_PcrRead\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_PcrExtend\fR(3).
+
diff --git a/man/man3/Tspi_TPM_Quote.3 b/man/man3/Tspi_TPM_Quote.3
new file mode 100644
index 0000000..6ce85b0
--- /dev/null
+++ b/man/man3/Tspi_TPM_Quote.3
@@ -0,0 +1,83 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_Quote" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_Quote \- retreive a signed set of PCR values.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_Quote(TSS_HTPM " hTPM ", TSS_HKEY " hIdentKey ","
+.BI " TSS_HPCRS " hPcrComposite ", TSS_VALIDATION* " pValidationData ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_Quote\fR destroys a context by passing in the handle to that context.
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object.
+.PP
+.SS hIdentKey
+Handle of the signature key object.
+.PP
+.SS hPcrComposite
+Handle of the PCR composite object
+.PP
+.SS pValidationData
+Validation data structure
+[IN] Provide externalData information required to compute the signature.
+[OUT] On successful completion of the command, the structure provides a buffer containing the validation data and a buffer containing the data the validation data was computed form.
+.PP
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_Quote\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhTPM\fR, \fIhIdentKey\fR or \fIhPcrComposite\fR is not a valid handle.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_Quote\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
+.SH "SEE ALSO"
+
+.PP
+\fB(none)\fR.
+
+
+
diff --git a/man/man3/Tspi_TPM_Quote2.3 b/man/man3/Tspi_TPM_Quote2.3
new file mode 100644
index 0000000..30cb1c0
--- /dev/null
+++ b/man/man3/Tspi_TPM_Quote2.3
@@ -0,0 +1,100 @@
+.\" Copyright (C) 2007 International Business Machines Corporation
+.\" Written by Ramon Brandão based on the Trusted Computing Group Software Stack Specification Version 1.2
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_Quote2" 3 "2007-04-03" "TSS 1.2" "TCG Software Stack Developer's Reference"
+.SH NAME
+Tspi_TPM_Quote2 \- retreive a signed set of PCR values with a more complete view than Tspi_TPM_Quote.
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_Quote2(TSS_HTPM " hTPM ", TSS_HKEY " hIdentKey ","
+.BI " TSS_BOOL " fAddVersion ", TSS_HPCRS " hPcrComposite ","
+.BI " TSS_VALIDATION* " pValidationData ", UINT32* " versionInfoSize ","
+.BI " BYTE** " versionInfo ");"
+.fi
+.sp
+.ad
+.hy
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_Quote2\fR quotes a TCG system, providing the requestor
+with a more complete view of the current platform configuration,
+than \fBTspi_TPM_Quote\fR.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+Handle of the TPM object.
+.PP
+.SS hIdentKey
+Handle of the signature key object.
+.PP
+.SS fAddVersion
+If TRUE, the TPM version is added to the output. If FALSE, the TPM version
+isn't added to the output.
+.PP
+.SS hPcrComposite
+Handle of the PCR composite object, which contains the PCRs to be quoted.
+.PP
+.SS pValidationData
+Validation data structure
+[IN] Provide externalData information required to compute the signature.
+[OUT] On successful completion of the command, the structure provides a buffer containing the validation data and a buffer containing the data the validation data was computed form.
+.PP
+.SS versionInfoSize
+The size of the bytestream returned by versionInfo. If the \fIfAddVersion\fR is False
+this is zero.
+.PP
+.SS versionInfo
+The version information returned as a byte stream reflecting the data in
+TSS_CAP_VERSION_INFO if the fAddVersion is TRUE. Else it's NULL.
+.PP
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_Quote\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
+.TP
+.SM TSS_E_INVALID_HANDLE - \fIhTPM\fR, \fIhIdentKey\fR or \fIhPcrComposite\fR is not a valid handle.
+.TP
+.SM TSS_E_BAD_PARAMETER
+.TP
+.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_Quote2\fR conforms to the Trusted Computing Group Software Specification version 1.2
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_Quote\fR(3).
+
+
+
diff --git a/man/man3/Tspi_TPM_SelfTestFull.3 b/man/man3/Tspi_TPM_SelfTestFull.3
new file mode 100644
index 0000000..3b00140
--- /dev/null
+++ b/man/man3/Tspi_TPM_SelfTestFull.3
@@ -0,0 +1,82 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_SelfTestFull" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_SelfTestFull \- perform a self-test of each internal TPM function
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_SelfTestFull(TSS_HTPM " hTPM ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_SelfTestFull\fR
+assures that the TPM is functioning as designed. For FIPS certification,
+crypto modules are required to test themselves before they are used, and
+this command is used to fulfill that requirement. This command can also be
+used to check the TPM whenever such a check is desired. \fBThis command is not
+currently implemented\fR.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object on
+which the self-tests will be run.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_GetStatus\fR returns TSS_SUCCESS on success, otherwise one of
+the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_SelfTestFull\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_CertifySelfTest\fR(3), \fBTspi_TPM_GetTestResults\fR(3).
+
diff --git a/man/man3/Tspi_TPM_SetStatus.3 b/man/man3/Tspi_TPM_SetStatus.3
new file mode 100644
index 0000000..22ca6b7
--- /dev/null
+++ b/man/man3/Tspi_TPM_SetStatus.3
@@ -0,0 +1,90 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_SetStatus" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_SetStatus \- modify the TPM's status
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_SetStatus(TSS_HTPM " hTPM ", TSS_FLAG " statusFlag ","
+.BI " TSS_BOOL " fTpmState ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_SetStatus\fR alters the status of the
+TPM. Depending on the chosen \fIstatusFlag\fR, \fIfTpmState\fR may
+or may not be ignored. This command requires that the TPM be on and
+the handle to the TPM available. \fBThis command is not currently
+implemented\fR.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS statusFlag
+The \fIstatusFlag\fR parameter is what the TPM status should be set to.
+.SS fTpmState
+The \fIfTpmState\fR parameter is the status value to set. For some states,
+this flag is ignored.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_SetStatus\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_SetStatus\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_GetStatus\fR(3), \fBTspi_TPM_GetCapability\fR(3).
+
diff --git a/man/man3/Tspi_TPM_StirRandom.3 b/man/man3/Tspi_TPM_StirRandom.3
new file mode 100644
index 0000000..e102391
--- /dev/null
+++ b/man/man3/Tspi_TPM_StirRandom.3
@@ -0,0 +1,89 @@
+.\" Copyright (C) 2004 International Business Machines Corporation
+.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_StirRandom" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_StirRandom \- add entropy to the TPM random number generator
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_StirRandom(TSS_HTPM " hTPM ", UINT32 " ulEntropyDataLength ", BYTE* " rgbEntropyData ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_StirRandom\fR adds entropy to the TPM
+random number generator for the purpose of generating better random
+numbers. The \fIentropy\fR variable should assigned an appropriately
+seeded random number before this function is called.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM
+object. The command to get the TPM to test itself will be sent here.
+.SS ulEntropyDataLength
+The \fIulEntropyDataLength\fR parameter is the length in bytes of
+the \fIrgbEntropyData\fR parameter.
+.SS rgbEntropyData
+The \fIrgbEntropyData\fR parameter is a pointer to the entropy data.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_StirRandom\fR returns TSS_SUCCESS on success, otherwise
+one of the following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+\fIhTPM\fR is not a valid handle.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.TP
+.SM TSS_E_BAD_PARAMETER
+One or more parameters is bad.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_StirRandom\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_GetRandom\fR(3).
+
diff --git a/man/man3/Tspi_TPM_TakeOwnership.3 b/man/man3/Tspi_TPM_TakeOwnership.3
new file mode 100644
index 0000000..811e20a
--- /dev/null
+++ b/man/man3/Tspi_TPM_TakeOwnership.3
@@ -0,0 +1,83 @@
+.\" Copyright (C) 2005 International Business Machines Corporation
+.\" Written by Kent Yoder based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "Tspi_TPM_TakeOwnership" 3 "2004-05-25" "TSS 1.1"
+.ce 1
+TCG Software Stack Developer's Reference
+.SH NAME
+Tspi_TPM_TakeOwnership \- take ownership of a TPM
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.nf
+.B #include <tss/platform.h>
+.B #include <tss/tcpa_defines.h>
+.B #include <tss/tcpa_typedef.h>
+.B #include <tss/tcpa_struct.h>
+.B #include <tss/tss_typedef.h>
+.B #include <tss/tss_structs.h>
+.B #include <tss/tspi.h>
+.sp
+.BI "TSS_RESULT Tspi_TPM_TakeOwnership(TSS_HTPM " hTPM ", TSS_HKEY " hKeySRK ","
+.BI " TSS_HKEY " hEndorsementPubKey ");"
+.fi
+.sp
+.ad
+.hy
+
+.SH "DESCRIPTION"
+.PP
+\fBTspi_TPM_TakeOwnership\fR
+takes ownership of a TPM. Taking ownership is the process of inserting a shared secret into the TPM. The owner of the TPM (anyone who knows the shared secret) has the right to perform special operations.
+
+.SH "PARAMETERS"
+.PP
+.SS hTPM
+The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
+.SS hKeySRK
+The \fIhKeySRK\fR parameter is the handle to the object representing the TPM's Storage Root Key.
+.SS hEndorsementPubKey
+The \fIhEndorsementPubKey\fR parameter is the handle to the object representing the TPM's endorsement public key. This key is required for encrypting the secret of the SRK and the TPM owner secret. If NULL, the TSP internally queries the TPM for that endorsement public key.
+
+.SH "RETURN CODES"
+.PP
+\fBTspi_TPM_TakeOwnership\fR returns TSS_SUCCESS on success, otherwise one of the
+following values is returned:
+.TP
+.SM TSS_E_INVALID_HANDLE
+Either the TPM or one of the key handles is not valid.
+
+.TP
+.SM TSS_E_INTERNAL_ERROR
+An internal SW error has been detected.
+
+.SH "CONFORMING TO"
+
+.PP
+\fBTspi_TPM_TakeOwnership\fR conforms to the Trusted Computing Group
+Software Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+
+.PP
+\fBTspi_TPM_ClearOwner\fR(3)
+.PP
+
diff --git a/man/man5/Makefile.am b/man/man5/Makefile.am
new file mode 100644
index 0000000..79d65d2
--- /dev/null
+++ b/man/man5/Makefile.am
@@ -0,0 +1,2 @@
+man5_MANS = tcsd.conf.5
+EXTRA_DIST = $(man5_MANS)
diff --git a/man/man5/Makefile.in b/man/man5/Makefile.in
new file mode 100644
index 0000000..c32aa7b
--- /dev/null
+++ b/man/man5/Makefile.in
@@ -0,0 +1,446 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = man/man5
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/tcsd.conf.5.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = tcsd.conf.5
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+man5dir = $(mandir)/man5
+am__installdirs = "$(DESTDIR)$(man5dir)"
+NROFF = nroff
+MANS = $(man5_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CRYPTOLIB = @CRYPTOLIB@
+CRYPTO_PACKAGE = @CRYPTO_PACKAGE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OPENSSL_LIB_DIR = @OPENSSL_LIB_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RPC = @RPC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TCSD_DEFAULT_PORT = @TCSD_DEFAULT_PORT@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+man5_MANS = tcsd.conf.5
+EXTRA_DIST = $(man5_MANS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/man5/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign man/man5/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+tcsd.conf.5: $(top_builddir)/config.status $(srcdir)/tcsd.conf.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man5: $(man5_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man5dir)" || $(MKDIR_P) "$(DESTDIR)$(man5dir)"
+ @list='$(man5_MANS)'; test -n "$(man5dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man5:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man5_MANS)'; test -n "$(man5dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man5dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man5dir)" && rm -f $$files; }
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(man5dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man5
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man
+
+uninstall-man: uninstall-man5
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man5 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-man uninstall-man5
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/man/man5/tcsd.conf.5.in b/man/man5/tcsd.conf.5.in
new file mode 100644
index 0000000..4b0e091
--- /dev/null
+++ b/man/man5/tcsd.conf.5.in
@@ -0,0 +1,129 @@
+.\" Copyright (C) 2005 International Business Machines Corporation
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "tcsd.conf" 5 "2006-07-14" "TSS 1.1"
+.ce 1
+TCG Software Stack
+.SH NAME
+tcsd.conf \- configuration file for the trousers TCS daemon.
+.SH "DESCRIPTION"
+.PP
+This file, by default
+.IR /etc/tcsd.conf
+is read by the trousers TCSD daemon, tcsd (see tcsd(8)). The tcsd.conf file
+that is installed by trousers contains all the default options, commented out.
+.SH "OPTIONS"
+.PP
+.BI port
+The port that TCSD will listen on for connections, local and remote, from
+applications.
+
+.BI num_threads
+The maximum number of threads that the TCSD will spawn simultaneously to service
+applications. After
+.BI num_threads
+threads have been spawned, any application that attempts to connect to the TCSD
+will receive an error.
+
+.BI system_ps_file
+The location of the system persistent storage file. The system persistent
+storage file holds keys and data across restarts of the TCSD and system
+reboots.
+
+.BI firmware_log_file
+Path to the file containing the current firmware PCR event log data. The
+interface to this log is usually provided by the TPM device driver.
+
+.BI kernel_log_file
+Path to the file containing the current kernel PCR event log data. By default,
+this data will be parsed in the format provided by the Integrity Measurement
+Architecture LSM.
+
+.BI firmware_pcrs
+A list of PCR indices that are manipulated only by the system firmware and
+therefore are not extended or logged by the TCSD. Applications that call
+Tcsi_PcrExtend on PCRs listed here will receive an error.
+
+.BI kernel_pcrs
+A list of PCR indices that are manipulated only by the kernel and therefore
+are not extended or logged by the TCSD. Applications that call Tcsi_PcrExtend
+on PCRs listed here will receive an error.
+
+.BI platform_cred
+Path to the platform credential for your TPM. Your TPM manufacturer may have
+provided you with a set of credentials (certificates) that should be used when
+creating identities using your TPM. When a user of your TPM makes an identity,
+this credential will be encrypted as part of that process. See the 1.1b TPM Main
+specification section 9.3 for information on this process.
+
+.BI conformance_cred
+Path to the conformance credential for your TPM. Your TPM manufacturer may have
+provided you with a set of credentials (certificates) that should be used when
+creating identities using your TPM. When a user of your TPM makes an identity,
+this credential will be encrypted as part of that process. See the 1.1b TPM Main
+specification section 9.3 for information on this process.
+
+.BI endorsement_cred
+Path to the endorsement credential for your TPM. Your TPM manufacturer may have
+provided you with a set of credentials (certificates) that should be used when
+creating identities using your TPM. When a user of your TPM makes an identity,
+this credential will be encrypted as part of that process. See the 1.1b TPM Main
+specification section 9.3 for information on this process.
+
+.BI remote_ops
+A list of TCS commands which will be allowed to be executed on this machine's
+TCSD by TSP's on non-local hosts (over the internet). By default, access to all
+operations is denied.
+
+.BI host_platform_class
+Determines the TCG specification of the host's platform class. This refers to
+one of the specifications contained in the TCG web site. The default is PC
+specification version 1.2 .
+
+.BI all_platform_classes
+Specifies all the TCG defined platforms associated with the host platform. The
+host_platform_class must not be defined here. By default, all platforms but
+the host platform are associated.
+
+.SH "EXAMPLE"
+.PP
+.IP
+.nf
+port = 30003
+num_threads = 10
+system_ps_file = /usr/local/var/tpm/system.data
+firmware_log_file = /proc/tpm/firmware_events
+kernel_log_file = /proc/tcg/measurement_events
+firmware_pcrs = 0,1,2,3,4,5,6,7
+kernel_pcrs = 10,11
+platform_cred = /usr/local/var/lib/tpm/platform.cert
+conformance_cred = /usr/local/var/lib/tpm/conformance.cert
+endorsement_cred = /usr/local/var/lib/tpm/endorsement.cert
+remote_ops = create_key,random
+host_platform_class = server_12
+all_platform_classes = pc_11,pc_12,mobile_12
+.fi
+.SH "SEE ALSO"
+.PP
+\fBtcsd\fR(8)
+.SH "AUTHOR"
+Kent Yoder
+.SH "REPORTING BUGS"
+Report bugs to <@PACKAGE_BUGREPORT@>
diff --git a/man/man8/Makefile.am b/man/man8/Makefile.am
new file mode 100644
index 0000000..1c425ae
--- /dev/null
+++ b/man/man8/Makefile.am
@@ -0,0 +1,2 @@
+man8_MANS = tcsd.8
+EXTRA_DIST = $(man8_MANS)
diff --git a/man/man8/Makefile.in b/man/man8/Makefile.in
new file mode 100644
index 0000000..0aac0a2
--- /dev/null
+++ b/man/man8/Makefile.in
@@ -0,0 +1,446 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = man/man8
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/tcsd.8.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = tcsd.8
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+man8dir = $(mandir)/man8
+am__installdirs = "$(DESTDIR)$(man8dir)"
+NROFF = nroff
+MANS = $(man8_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CRYPTOLIB = @CRYPTOLIB@
+CRYPTO_PACKAGE = @CRYPTO_PACKAGE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OPENSSL_LIB_DIR = @OPENSSL_LIB_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RPC = @RPC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TCSD_DEFAULT_PORT = @TCSD_DEFAULT_PORT@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+man8_MANS = tcsd.8
+EXTRA_DIST = $(man8_MANS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/man8/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign man/man8/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+tcsd.8: $(top_builddir)/config.status $(srcdir)/tcsd.8.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man8: $(man8_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
+ @list='$(man8_MANS)'; test -n "$(man8dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man8:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man8_MANS)'; test -n "$(man8dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man8dir)" && rm -f $$files; }
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(man8dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man
+
+uninstall-man: uninstall-man8
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man8 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-man uninstall-man8
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/man/man8/tcsd.8.in b/man/man8/tcsd.8.in
new file mode 100644
index 0000000..721538e
--- /dev/null
+++ b/man/man8/tcsd.8.in
@@ -0,0 +1,112 @@
+.\" Copyright (C) 2005 International Business Machines Corporation
+.\"
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "tcsd" 8 "2005-03-15" "TSS 1.1"
+.ce 1
+TCG Software Stack
+.SH NAME
+tcsd \- daemon that manages Trusted Computing resources
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.B tcsd
+.RB [ \-f ]
+.RB [ \-c\ <configfile>\ ]
+
+.SH "DESCRIPTION"
+.PP
+Trousers is an open-source TCG Software Stack (TSS), released under the Common
+Public License. Trousers aims to be compliant with the current (1.1b) and
+upcoming (1.2) TSS specifications available from the Trusted Computing Group
+website: http://www.trustedcomputinggroup.org.
+
+\fBtcsd\fR is a user space daemon that should be (according to the TSS spec)
+the only portal to the TPM device driver. At boot time, \fBtcsd\fR should
+be started, it should open the TPM device driver and from that point on, all
+requests to the TPM should go through the TSS stack. The \fBtcsd\fR manages TPM
+resources and handles requests from TSP's both local and remote.
+
+.TP
+\fB\-f\fR
+run the daemon in the foreground
+
+.TP
+\fB\-c <configfile>\fR
+use the provided configuration file rather than the default configuration file
+
+.SH "ACCESS CONTROL"
+.PP
+There are two types of access control for the \fBtcsd\fR, access to the
+daemon's socket itself and access to specific commands internal to the
+\fBtcsd\fR. Access to the \fBtcsd\fR's port should be controlled by the system
+administrator using firewall rules. If using iptables, the following rule
+will allow a specific host access to the tcsd:
+
+# iptables -A INPUT -s $IP_ADDRESS -p tcp --destination-port @TCSD_DEFAULT_PORT@ -j ACCEPT
+
+Access to individual commands internal to the tcsd is configured by the
+\fBtcsd\fR configuration file's "remote_ops" directive. Each function call
+in the TCS API is reachable by a unique ordinal. Each labeled "remote op"
+actually defines a set of ordinals (usually more than one) necessary to
+accomplish the operation. So, for example, the "random" operation enables
+the ordinals for opening and closing a context, calling TCS_StirRandom
+and TCS_GetRandom, as well as TCS_FreeMemory. By default, connections from
+localhost will allow any ordinals.
+
+.SH "DATA FILES"
+.PP
+TSS applications have access to 2 different kinds of 'persistant' storage. 'User'
+persistant storage has the lifetime of that of the application using it
+and therefore is destroyed when an application exits. User PS is controlled
+by the TSP of the application. 'System' persistent storage is controlled by
+the TCS and stays valid across application lifetimes, \fBtcsd\fR restarts and
+system resets. Data registered in system PS stays valid until an application
+requests that it be removed. User PS files are by default stored as
+/var/tpm/user.{pid} and the system PS file by default is /var/tpm/system.data.
+The system PS file is initially created when ownership of the TPM is first
+taken.
+
+.SH "CONFIGURATION"
+\fBtcsd\fR configuration is stored by default in /etc/tcsd.conf
+
+.SH "DEBUG OUTPUT"
+If TrouSerS has been compiled with debugging enabled, the debugging output
+can be supressed by setting the TSS_DEBUG_OFF environment variable.
+
+.SH "DEVICE DRIVERS"
+.PP
+\fBtcsd\fR is compatible with the IBM Research TPM device driver available
+from http://www.research.ibm.com/gsal/tcpa and the TPM device driver available
+from http://sf.net/projects/tmpdd
+
+.SH "CONFORMING TO"
+.PP
+\fBtcsd\fR conforms to the Trusted Computing Group Software
+Specification version 1.1 Golden
+
+.SH "SEE ALSO"
+.PP
+\fBtcsd.conf\fR(5)
+
+.SH "AUTHOR"
+Kent Yoder
+
+.SH "REPORTING BUGS"
+Report bugs to <@PACKAGE_BUGREPORT@>