⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drm_types.h

📁 SAMSUNG 5009的源代码
💻 H
字号:
// $Header: /Mux_Demux_SDK/libDrmCommon/src/DrmTypes.h 12    10/07/03 9:42a Bfudge $
// Copyright (c) 2003 DivXNetworks, Inc. http://www.divxnetworks.com
// All rights reserved.
//
// This software is the confidential and proprietary information of DivXNetworks
// Inc. ("Confidential Information").  You shall not disclose such Confidential
// Information and shall use it only in accordance with the terms of the license
// agreement you entered into with DivXNetworks, Inc.

#ifndef DRM_DEFINES_H
#define DRM_DEFINES_H

// Key Source Modes
#define KEY_SOURCE_MODE_BASE_FLAGS				0x0001
#define KEY_SOURCE_MODE_CONNECTED_FLAGS			0x0002
#define KEY_SOURCE_MODE_DISCONNECTED_FLAGS		0x0004

// DRM Modes
#define DRM_TYPE_BASE						0xF0F0
#define DRM_TYPE_ACTIVATION_PURCHASE		0xC3C3
#define DRM_TYPE_ACTIVATION_RENTAL			0x3C3C
#define DRM_TYPE_PURCHASE					0x5555
#define DRM_TYPE_RENTAL						0xAAAA

// Use Limits.
#define USE_LIMIT_ID_UNLIMITED		0x0707
#define USE_LIMIT_ID_ONE			0x1001		
#define USE_LIMIT_ID_THREE			0x3003
#define USE_LIMIT_ID_FIVE			0x5005
#define USE_LIMIT_ID_SEVEN			0x7007
#define USE_LIMIT_ID_TEN			0xAAAA
#define USE_LIMIT_ID_TWENTY			0x5555
#define USE_LIMIT_ID_THIRTY			0xF0F0

typedef struct DrmUseLimitIdInfoStruct
{
    USHORT id;
    UCHAR uses;
} DrmUseLimitIdInfo;

typedef struct DrmActivateRecordStruct
{
	UCHAR memoryGuard[OWNER_GUARD_BYTES];
	UCHAR modelId[MODEL_ID_BYTES];
	UCHAR userKey[KEY_SIZE_BYTES];
	UCHAR reserved[3];
} DrmActivateRecord;

typedef struct DrmRentalRecordStruct
{
	USHORT useLimitId;
	UCHAR serialNumber[SLOT_SERIAL_NUMBER_BYTES];
	UCHAR slotNumber;
	UCHAR reserved[3];
} DrmRentalRecord;

typedef struct DrmAdpTargetHeaderStruct
{
	USHORT drmMode;
	UCHAR userId[OWNER_USER_ID_BYTES];
	UCHAR reservedAlign;
    DrmRentalRecord rentalRecord;
	UCHAR sessionKey[KEY_SIZE_BYTES];
	DrmActivateRecord activateRecord;
	UCHAR reserved[DRM_ADP_RESERVED];
} DrmAdpTargetHeader;

typedef struct DrmTransactionInfoHeaderStruct
{
	UCHAR transactionId[TRANSACTION_ID_BYTES];
	USHORT transactionAuthorityId;
	UINT contentId;
	UCHAR reserved[DRM_OTHER_RESERVED];
} DrmTransactionInfoHeader;

typedef struct DrmHeaderStruct
{
	UINT keySourceMode;
	UCHAR masterKeyId[DRM_PORTABLE_KEY_LENGTH];
	DrmAdpTargetHeader adpTarget;
	DrmTransactionInfoHeader transaction;
	UCHAR frameKeys[DRM_FRAME_KEY_COUNT][KEY_SIZE_BYTES];
} DrmHeader;

// DRM Playback Context States
#define DRM_STATE_INITIALIZED				1
#define DRM_STATE_RENTAL_QUERIED			2
#define DRM_STATE_COMMITTED					3

typedef struct DrmPlaybackContextStruct
{
	DrmHeader clearHeader;
	UCHAR state;
} DrmPlaybackContext;

#endif // DRM_DEFINES_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -