Log in / Register
Home arrow Computer Science arrow A Practical Guide to TPM 2.0
< Prev   CONTENTS   Next >

Part 2: Notation Syntax

The “Notation” section in Part 2 of the specification is very important to understand; we often refer to it when studying the TPM 2.0 data structures. You are highly encouraged to read this entire section of the specification, so we don't repeat all the information here; but we'll touch on a few critical areas (this is another good section to bookmark, because you'll will refer to it often):

• In an enumeration table, a # character specifies the return type when the marshalling of an enumerated value fails: that is, when the passed-in value doesn't match any of the allowed values.

• A $ character specifies that a parameter can be one of a previously defined range of values.

• A + character prefix to a value name in an enumeration means the value is a conditional type: it's optional in an enumeration.

Whether the optional value is allowed in a particular use of an enumeration is determined by whether the + character is appended to the type specification

• A null parameter in a union definition means the union can be empty.

• If a union member has no selector, it means the member is common to all the union types. The no-selector member is a superclass of the members that have selectors.

• {} specifies parameter limits. Read the “Parameter Limits” section for details.

Part 3: Table Decorations

The “Command Modifiers and Table Decorations” section in Part 3 describes the special notation used in the command schematics in Part 3; this is another good area to bookmark. We describe some of the more commonly used ones here, but please refer to the section in the specification for a complete list:

• +: Similar to the notation used in Part 2 for conditional types. When appended to the type, indicates that the null value of the variable can be used.

• @r: When used as a prefix to the name of a handle parameter, indicates that an authorization is required for that handle. This also means the tag for the command must be TPM_ST_SESSIONS.

+PP, +{PP}: Suffixes to TPM_RH_PLATFORM that indicate an authorization using this handle is or may be, respectively, required to have physical presence asserted.

• Auth Index: In the description, indicates the number of required handles. (From our viewpoint, this seems redundant. The order of the handles is already indicated by their order in the table.)

• Auth Role: In the description for a required handle, indicates the role of the authorization: USER, ADMIN, or DUP. These roles are described in detail in chapter 13.

Found a mistake? Please highlight the word and press Shift + Enter  
< Prev   CONTENTS   Next >
Business & Finance
Computer Science
Language & Literature
Political science