Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
C
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061/* SPDX-License-Identifier: GPL-2.0-only *//* * Following copyright information was take from the original file * <include/linux/tpm.h> where the definitions were moved from: * * Copyright (C) 2004,2007,2008 IBM Corporation * * Authors: * Leendert van Doorn <leendert@watson.ibm.com> * Dave Safford <safford@watson.ibm.com> * Reiner Sailer <sailer@watson.ibm.com> * Kylene Hall <kjhall@us.ibm.com> * Debora Velarde <dvelarde@us.ibm.com> * * Maintained by: <tpmdd_devel@lists.sourceforge.net> * * Device driver for TCG/TCPA TPM (trusted platform module). * Specifications at www.trustedcomputinggroup.org */
#ifndef __LINUX_TPM_BUF_H__#define __LINUX_TPM_BUF_H__
#include <linux/types.h>#include <linux/bits.h>
enum tpm_buf_flags { /* TPM2B format: */ TPM_BUF_TPM2B = BIT(0), /* The buffer is in invalid and unusable state: */ TPM_BUF_INVALID = BIT(1),};
/* * A buffer for constructing and parsing TPM commands, responses and sized * (TPM2B) buffers. */struct tpm_buf { u8 flags; u8 handles; u16 length; u16 capacity; u8 data[];};
void tpm_buf_init(struct tpm_buf *buf, u16 buf_size);void tpm_buf_init_sized(struct tpm_buf *buf, u16 buf_size);void tpm_buf_reset(struct tpm_buf *buf, u16 tag, u32 ordinal);void tpm_buf_reset_sized(struct tpm_buf *buf);u16 tpm_buf_length(struct tpm_buf *buf);void tpm_buf_append(struct tpm_buf *buf, const u8 *new_data, u16 new_length);void tpm_buf_append_u8(struct tpm_buf *buf, const u8 value);void tpm_buf_append_u16(struct tpm_buf *buf, const u16 value);void tpm_buf_append_u32(struct tpm_buf *buf, const u32 value);u8 tpm_buf_read_u8(struct tpm_buf *buf, off_t *offset);u16 tpm_buf_read_u16(struct tpm_buf *buf, off_t *offset);u32 tpm_buf_read_u32(struct tpm_buf *buf, off_t *offset);void tpm_buf_append_handle(struct tpm_buf *buf, u32 handle);
#endif