+++ /dev/null
-/**********************************************************************
-** **
-** I N T E L P R O P R I E T A R Y **
-** **
-** COPYRIGHT (c) 1993 - 2006 BY INTEL CORPORATION. ALL **
-** RIGHTS RESERVED. NO PART OF THIS PROGRAM OR PUBLICATION MAY **
-** BE REPRODUCED, TRANSMITTED, TRANSCRIBED, STORED IN A **
-** RETRIEVAL SYSTEM, OR TRANSLATED INTO ANY LANGUAGE OR COMPUTER **
-** LANGUAGE IN ANY FORM OR BY ANY MEANS, ELECTRONIC, MECHANICAL, **
-** MAGNETIC, OPTICAL, CHEMICAL, MANUAL, OR OTHERWISE, WITHOUT **
-** THE PRIOR WRITTEN PERMISSION OF : **
-** **
-** INTEL CORPORATION **
-** **
-** 2200 MISSION COLLEGE BOULEVARD **
-** **
-** SANTA CLARA, CALIFORNIA 95052-8119 **
-** **
-**********************************************************************/
-
-//+--------------------------------------------------------------------
-//
-//
-// File: iamt_api.h
-//
-// Contents: Header file for the IntelĀ® AMT storage library.
-//
-//---------------------------------------------------------------------
-
-
-#ifndef _PTHI_API_
-#define _PTHI_API_
-
-#include <wchar.h>
-#ifdef _WIN32
-#include <windows.h>
-#include <Wincrypt.h>
-#include <tchar.h>
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-To enable compile time checking for Intel(r) AMT2 compatible usage use the following definition:
-#define ENFORCE_IAMT2_USAGE
-*/
-
-#define ISVS_VERSION_MAJOR 2
-#define ISVS_VERSION_MINOR 0
-
-
-#ifndef VOID
-typedef void VOID;
-#endif
-typedef char CHAR;
-typedef unsigned char UINT8;
-typedef unsigned short UINT16;
-typedef unsigned int UINT32;
-
-#ifndef _WIN32
-typedef char _TCHAR;
-#endif
-
-typedef UINT8 PT_UUID[16];
-
-typedef UINT32 ISVS_APPLICATION_HANDLE;
-
-#define ISVS_APPLICATION_NAME_FILTER 0xFFFFFFF0
-#define ISVS_VENDOR_NAME_FILTER 0xFFFFFFF1
-#define ISVS_INVALID_HANDLE 0xFFFFFFFF
-
-
-typedef UINT32 PT_BOOLEAN;
-static const PT_BOOLEAN PTHI_FALSE = 0;
-static const PT_BOOLEAN PTHI_TRUE = 1;
-
-
-// ------------------------
-// ISVS_VERSION
-// ------------------------
-typedef struct _ISVS_VERSION
-{
- UINT8 MajorNumber;
- UINT8 MinorNumber;
-
-} ISVS_VERSION;
-
-
-// ------------------------
-// PTSDK_UNICODE_STRING
-// ------------------------
-// UTF16 Unicode String
-// Length - The length in bytes of the string stored in Buffer.
-// MaximumLength - The maximum length in bytes of Buffer.
-// Buffer - Points to a buffer used to contain a string of wide characters.
-//
-// PTSDK_UNICODE_STRING types may not be null terminated
-//
-typedef struct _PTSDK_UNICODE_STRING
-{
- UINT16 Length;
- UINT16 MaximumLength;
- UINT16 *Buffer;
-
-} PTSDK_UNICODE_STRING;
-
-
-
-
-// -----------------
-// ISVS_GROUP
-// -----------------
-typedef UINT32 ISVS_GROUP_HANDLE;
-
-typedef UINT32 ISVS_GROUP_PERMISSIONS;
-static const ISVS_GROUP_PERMISSIONS ISVS_GROUP_PERMISSIONS_READ_ONLY = 1;
-static const ISVS_GROUP_PERMISSIONS ISVS_GROUP_PERMISSIONS_READ_WRITE = 2;
-
-typedef struct _PTSDK_PERMISSIONS_GROUP_ATTRIBUTES
-{
- PTSDK_UNICODE_STRING Name;
- ISVS_GROUP_PERMISSIONS Permissions;
-
-} PTSDK_PERMISSIONS_GROUP_ATTRIBUTES;
-
-
-// -----------------
-// ISVS_BLOCK
-// -----------------
-
-typedef UINT32 ISVS_BLOCK_HANDLE;
-
-typedef struct _PTSDK_BLOCK_ATTRIBUTES
-{
- UINT32 BlockSize;
- PT_BOOLEAN BlockHidden;
- PTSDK_UNICODE_STRING BlockName;
-
-} PTSDK_BLOCK_ATTRIBUTES;
-
-
-// -----------------
-// ISVS_APPLICATION
-// -----------------
-
-typedef struct _PTSDK_APPLICATION_ATTRIBUTES
-{
- PTSDK_UNICODE_STRING VendorName;
- PTSDK_UNICODE_STRING ApplicationName;
-
-} PTSDK_APPLICATION_ATTRIBUTES;
-
-
-// ------------
-// PT_STATUS
-// ------------
-
-typedef UINT32 PT_STATUS;
-
-static const PT_STATUS PT_STATUS_SUCCESS = 0;
-static const PT_STATUS PT_STATUS_INTERNAL_ERROR = 0x0001;
-static const PT_STATUS PT_STATUS_NOT_READY = 0x0002;
-static const PT_STATUS PT_STATUS_INVALID_PT_MODE = 0x0003;
-static const PT_STATUS PT_STATUS_INVALID_MESSAGE_LENGTH = 0x0004;
-static const PT_STATUS PT_STATUS_TABLE_FINGERPRINT_NOT_AVAILABLE = 0x0005;
-static const PT_STATUS PT_STATUS_INTEGRITY_CHECK_FAILED = 0x0006;
-static const PT_STATUS PT_STATUS_UNSUPPORTED_ISVS_VERSION = 0x0007;
-static const PT_STATUS PT_STATUS_APPLICATION_NOT_REGISTERED = 0x0008;
-static const PT_STATUS PT_STATUS_INVALID_REGISTRATION_DATA = 0x0009;
-static const PT_STATUS PT_STATUS_APPLICATION_DOES_NOT_EXIST = 0x000a;
-static const PT_STATUS PT_STATUS_NOT_ENOUGH_STORAGE = 0x000b;
-static const PT_STATUS PT_STATUS_INVALID_NAME = 0x000c;
-static const PT_STATUS PT_STATUS_BLOCK_DOES_NOT_EXIST = 0x000d;
-static const PT_STATUS PT_STATUS_INVALID_BYTE_OFFSET = 0x000e;
-static const PT_STATUS PT_STATUS_INVALID_BYTE_COUNT = 0x000f;
-static const PT_STATUS PT_STATUS_NOT_PERMITTED = 0x0010;
-static const PT_STATUS PT_STATUS_NOT_OWNER = 0x0011;
-static const PT_STATUS PT_STATUS_BLOCK_LOCKED_BY_OTHER = 0x0012;
-static const PT_STATUS PT_STATUS_BLOCK_NOT_LOCKED = 0x0013;
-static const PT_STATUS PT_STATUS_INVALID_GROUP_PERMISSIONS = 0x0014;
-static const PT_STATUS PT_STATUS_GROUP_DOES_NOT_EXIST = 0x0015;
-static const PT_STATUS PT_STATUS_INVALID_MEMBER_COUNT = 0x0016;
-static const PT_STATUS PT_STATUS_MAX_LIMIT_REACHED = 0x0017;
-static const PT_STATUS PT_STATUS_INVALID_AUTH_TYPE = 0x0018;
-static const PT_STATUS PT_STATUS_AUTHENTICATION_FAILED = 0x0019;
-static const PT_STATUS PT_STATUS_INVALID_DHCP_MODE = 0x001a;
-static const PT_STATUS PT_STATUS_INVALID_IP_ADDRESS = 0x001b;
-static const PT_STATUS PT_STATUS_INVALID_DOMAIN_NAME = 0x001c;
-
-static const PT_STATUS PT_STATUS_REQUEST_UNEXPECTED = 0x001e;
-static const PT_STATUS PT_STATUS_INVALID_TABLE_TYPE = 0x001f;
-static const PT_STATUS PT_STATUS_INVALID_PROVISIONING_MODE = 0x0020;
-static const PT_STATUS PT_STATUS_UNSUPPORTED_OBJECT = 0x0021;
-static const PT_STATUS PT_STATUS_INVALID_TIME = 0x0022;
-static const PT_STATUS PT_STATUS_INVALID_INDEX = 0x0023;
-static const PT_STATUS PT_STATUS_INVALID_PARAMETER = 0x0024;
-
-static const PT_STATUS PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED = 0x0026;
-
-static const PT_STATUS PT_STATUS_NETWORK_IF_ERROR_BASE = 0x0800;
-static const PT_STATUS PT_STATUS_SDK_DEFINED_ERROR_BASE = 0x1000;
-
-static const PT_STATUS PTSDK_STATUS_INTERNAL_ERROR = 0x1000;
-static const PT_STATUS PTSDK_STATUS_NOT_INITIALIZED = 0x1001;
-static const PT_STATUS PTSDK_STATUS_LIB_VERSION_UNSUPPORTED = 0x1002;
-static const PT_STATUS PTSDK_STATUS_INVALID_PARAM = 0x1003;
-static const PT_STATUS PTSDK_STATUS_RESOURCES = 0x1004;
-static const PT_STATUS PTSDK_STATUS_HARDWARE_ACCESS_ERROR = 0x1005;
-static const PT_STATUS PTSDK_STATUS_REQUESTOR_NOT_REGISTERED = 0x1006;
-static const PT_STATUS PTSDK_STATUS_NETWORK_ERROR = 0x1007;
-static const PT_STATUS PTSDK_STATUS_PARAM_BUFFER_TOO_SHORT = 0x1008;
-static const PT_STATUS PTSDK_STATUS_COM_NOT_INITIALIZED_IN_THREAD = 0x1009;
-static const PT_STATUS PTSDK_STATUS_URL_REQUIRED = 0x100a;
-
-// -------------------
-// IN/OUT definitions
-// -------------------
-#ifdef IN
-#undef IN
-#endif
-#define IN const /* input parameter (const) */
-#define OUT /* output parameter */
-#define INOUT /* input & output parameter */
-#define OPTIONAL /* optional parameter */
-
-
-#undef FALSE
-#undef TRUE
-#undef NULL
-
-#define FALSE 0
-#define TRUE 1
-#define NULL 0
-
-typedef int BOOL;
-typedef unsigned long ULONG;
-typedef char * PCHAR;
-typedef unsigned long * PULONG;
-
-typedef struct _SESSION_HANDLE *SESSION_HANDLE;
-typedef struct _SESSION_AUTHENTICATION_INFO SESSION_AUTHENTICATION_INFO;
-
-
-PT_STATUS
-ISVS_Initialize (
- INOUT UINT32 *LibMajorVersion,
- INOUT UINT32 *LibMinorVersion,
- OUT UINT32 *LibBuildNumber
- );
-
-
-PT_STATUS
-ISVS_Uninitialize();
-#ifdef _WIN32
-
-PT_STATUS
-ISVS_InitializeCOMinThread();
-
-PT_STATUS
-ISVS_UninitializeCOMinThread();
-
-#endif
-
-
-#ifndef ENFORCE_IAMT2_USAGE
-// ISVS 1.0 support
-PT_STATUS
-ISVS_RegisterApplication(
- OUT SESSION_HANDLE *SessionHandle,
- IN wchar_t *Username OPTIONAL,
- IN wchar_t *Password OPTIONAL,
- IN CHAR *TargetUrl,
- IN PT_UUID MachineUUID OPTIONAL,
- IN PTSDK_UNICODE_STRING *VendorName,
- IN PTSDK_UNICODE_STRING *AppName,
- IN PTSDK_UNICODE_STRING *EnterpriseName
- );
-#endif
-
-
-PT_STATUS
-ISVS_RegisterApplicationEx(
- OUT SESSION_HANDLE *SessionHandle,
- IN wchar_t *Username OPTIONAL,
- IN wchar_t *Password OPTIONAL,
- IN CHAR *TargetUrl ,
- IN PT_UUID MachineUUID OPTIONAL,
- IN PTSDK_UNICODE_STRING *VendorName,
- IN PTSDK_UNICODE_STRING *AppName,
- IN PTSDK_UNICODE_STRING *EnterpriseName,
- IN SESSION_AUTHENTICATION_INFO *AuthInfo OPTIONAL
- );
-
-
-
-SESSION_AUTHENTICATION_INFO*
-ISVS_CreateAuthInfo(
- IN _TCHAR *certificateName,
-#ifdef _WIN32
- IN PCCERT_CONTEXT certificate,
- IN BOOL krb
-#else
- IN _TCHAR *certificatePass
-#endif
- );
-
-VOID
-ISVS_FreeAuthInfo(
- IN SESSION_AUTHENTICATION_INFO* authInfo
- );
-
-
-PT_STATUS
-ISVS_GetRegisteredApplications(
- IN SESSION_HANDLE SessionHandle,
- IN UINT32 StartIndex,
- OUT UINT32 *TotalRegisteredAppCount,
- INOUT UINT32 *AppHandleCount,
- OUT ISVS_APPLICATION_HANDLE AppHandles[] // [<AppHandleCount>]
- );
-
-
-PT_STATUS
-ISVS_GetCurrentApplicationHandle (
- IN SESSION_HANDLE SessionHandle,
- OUT ISVS_APPLICATION_HANDLE *AppHandle
- );
-
-
-PT_STATUS
-ISVS_GetApplicationAttributes(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_APPLICATION_HANDLE ApplicationBeingRequested,
- INOUT PTSDK_APPLICATION_ATTRIBUTES *ApplicationAttributes
- );
-
-
-PT_STATUS
-ISVS_UnregisterApplication(
- IN SESSION_HANDLE SessionHandle
- );
-
-
-PT_STATUS
-ISVS_RemoveApplication(
- SESSION_HANDLE SessionHandle
- );
-
-
-PT_STATUS
-ISVS_GetBytesAvailable(
- IN SESSION_HANDLE SessionHandle,
- OUT UINT32 *BytesAvailable
- );
-
-
-PT_STATUS
-ISVS_AllocateBlock(
- IN SESSION_HANDLE SessionHandle,
- IN UINT32 BytesRequested,
- IN PT_BOOLEAN BlockHidden,
- IN PTSDK_UNICODE_STRING *BlockName,
- OUT ISVS_BLOCK_HANDLE *BlockHandle
- );
-
-
-PT_STATUS
-ISVS_GetAllocatedBlocks(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_APPLICATION_HANDLE BlockOwnerApplication,
- IN UINT32 StartIndex,
- OUT UINT32 *TotalAllocatedBlockCount,
- INOUT UINT32 *BlockHandleCount,
- OUT ISVS_BLOCK_HANDLE BlockHandles[] // [<BlockHandleCount>]
- );
-
-
-PT_STATUS
-ISVS_GetBlockAttributes(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- INOUT PTSDK_BLOCK_ATTRIBUTES *BlockAttributes
- );
-
-
-PT_STATUS
-ISVS_DeallocateBlock(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle
- );
-
-
-PT_STATUS
-ISVS_WriteBlock(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN UINT32 ByteOffset,
- IN UINT32 ByteCount,
- OUT UINT32 *BytesWritten,
- IN UINT8 Data[]
- );
-
-
-PT_STATUS
-ISVS_ReadBlock(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN UINT32 ByteOffset,
- IN UINT32 ByteCount,
- OUT UINT32 *BytesRead,
- OUT UINT8 Data[]
- );
-
-
-PT_STATUS
-ISVS_LockBlock(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle
- );
-
-
-PT_STATUS
-ISVS_UnlockBlock(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle
- );
-
-
-PT_STATUS
-ISVS_SetBlockName(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN PTSDK_UNICODE_STRING *BlockName
- );
-
-
-PT_STATUS
-ISVS_SetBlockVisibility(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN PT_BOOLEAN BlockHidden
- );
-
-
-PT_STATUS
-ISVS_AddPermissionsGroup(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN ISVS_GROUP_PERMISSIONS GroupPermissions,
- IN PTSDK_UNICODE_STRING *GroupName,
- OUT ISVS_GROUP_HANDLE *GroupHandle
- );
-
-
-PT_STATUS
-ISVS_GetPermissionsGroups(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN UINT32 StartIndex,
- OUT UINT32 *TotalGroupCount,
- INOUT UINT32 *GroupHandleCount,
- OUT ISVS_GROUP_HANDLE GroupHandles[] // [<HandleCount>]
- );
-
-
-PT_STATUS
-ISVS_GetPermissionsGroupAttributes(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN ISVS_GROUP_HANDLE GroupHandle,
- INOUT PTSDK_PERMISSIONS_GROUP_ATTRIBUTES *GroupAttributes
- );
-
-
-PT_STATUS
-ISVS_RemovePermissionsGroup(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN ISVS_GROUP_HANDLE GroupHandle
- );
-
-
-PT_STATUS
-ISVS_SetPermissionsGroupName(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN ISVS_GROUP_HANDLE GroupHandle,
- IN PTSDK_UNICODE_STRING *GroupName
- );
-
-
-PT_STATUS
-ISVS_SetPermissionsGroupPermissions(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN ISVS_GROUP_HANDLE GroupHandle,
- IN ISVS_GROUP_PERMISSIONS Permissions
- );
-
-
-PT_STATUS
-ISVS_AddPermissionsGroupMembers(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN ISVS_GROUP_HANDLE GroupHandle,
- IN UINT32 MemberHandleCount,
- IN ISVS_APPLICATION_HANDLE MemberHandles[] // [<MemberHandleCount>]
- );
-
-
-PT_STATUS
-ISVS_GetPermissionsGroupMembers(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN ISVS_GROUP_HANDLE GroupHandle,
- IN UINT32 StartIndex,
- OUT UINT32 *TotalMemberCount,
- INOUT UINT32 *MemberHandleCount,
- OUT ISVS_APPLICATION_HANDLE MemberHandles[] // [<MemberHandleCount>]
- );
-
-
-PT_STATUS
-ISVS_RemovePermissionsGroupMembers(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- IN ISVS_GROUP_HANDLE GroupHandle,
- IN UINT32 MemberHandleCount,
- IN ISVS_APPLICATION_HANDLE MemberHandles[] // [<MemberHandleCount>]
- );
-
-
-PT_STATUS
-ISVS_GetTimeoutValues(
- IN SESSION_HANDLE SessionHandle,
- OUT UINT32 *RegistrationTimeout,
- OUT UINT32 *LockTimeout
- );
-
-
-PT_STATUS
-ISVS_GetHostUUID(
- OUT PT_UUID Uuid
- );
-
-#ifndef ENFORCE_IAMT2_USAGE
-// ISVS 1.0 support
-PT_STATUS
-ISVS_GetAPIVersion(
- IN wchar_t *Username OPTIONAL,
- IN wchar_t *Password OPTIONAL,
- IN CHAR *TargetUrl,
- OUT ISVS_VERSION *Version
- );
-#endif
-
-
-PT_STATUS
-ISVS_GetAPIVersionEx(
- OUT ISVS_VERSION *Version,
- IN wchar_t *Username OPTIONAL,
- IN wchar_t *Password OPTIONAL,
- IN CHAR *TargetUrl ,
- IN SESSION_AUTHENTICATION_INFO *AuthInfo OPTIONAL
- );
-
-
-PT_STATUS
-ISVS_GetBlockWriteEraseLimit(
- IN SESSION_HANDLE SessionHandle,
- IN ISVS_BLOCK_HANDLE BlockHandle,
- OUT UINT32 *WriteEraseLimit
- );
-
-
-
-VOID
-ISVS_GetLastNetworkError(
- IN SESSION_HANDLE SessionHandle OPTIONAL,
- OUT VOID *NetworkError
- );
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // _PTHI_API_
-