Wasabi ExpressPlay SDK for Embedded Systems
1.10
Main Page
Modules
Data Structures
Files
File List
Globals
Client
Source
Interface
Extended
WsbKeyManager.h
Go to the documentation of this file.
1
/*****************************************************************
2
|
3
| Wasabi - Key Manager API
4
|
5
| $Id: WsbKeyManager.h 10793 2014-06-25 12:46:08Z jebaseelir $
6
| Original author: Julien Boeuf
7
|
8
| This software is provided to you pursuant to your agreement
9
| with Intertrust Technologies Corporation ("Intertrust").
10
| This software may be used only in accordance with the terms
11
| of the agreement.
12
|
13
| Copyright (c) 2010-2014 by Intertrust. All rights reserved.
14
|
15
****************************************************************/
21
#ifndef _WSB_KEY_MANAGER_H_
22
#define _WSB_KEY_MANAGER_H_
23
24
/*----------------------------------------------------------------------
25
| includes
26
+---------------------------------------------------------------------*/
27
#include "
WsbTypes.h
"
28
29
/*----------------------------------------------------------------------
30
| types
31
+---------------------------------------------------------------------*/
36
typedef
struct
WSB_KeyManager
WSB_KeyManager
;
37
38
typedef
enum
{
39
WSB_CONTENT_KEY_FORMAT_CLEARTEXT
,
40
WSB_CONTENT_KEY_FORMAT_SKB_STANDARD
,
41
WSB_CONTENT_KEY_FORMAT_SKB_CUSTOM
42
}
WSB_ContentKeyFormat
;
43
44
typedef
struct
{
45
WSB_ContentKeyFormat
format
;
46
const
void
*
parameters
;
47
}
WSB_ContentKeyFormatInfo
;
48
49
/*----------------------------------------------------------------------
50
| prototypes
51
+---------------------------------------------------------------------*/
52
#if defined(__cplusplus)
53
extern
"C"
{
54
#endif
55
67
WSB_EXPORT
WSB_Result
68
WSB_KeyManager_Create
(
WSB_KeyManager
** manager);
69
79
WSB_EXPORT
WSB_Result
80
WSB_KeyManager_CreateEx
(
WSB_ContentKeyFormatInfo
format_info,
81
WSB_KeyManager
** manager);
82
89
WSB_EXPORT
WSB_ContentKeyFormatInfo
90
WSB_KeyManager_GetContentKeyFormatInfo
(
WSB_KeyManager
*
self
);
91
106
WSB_EXPORT
WSB_Result
107
WSB_KeyManager_SetTrackKey
(
WSB_KeyManager
*
self
,
108
WSB_UInt32
track_id,
109
const
char
* track_content_id,
110
const
WSB_Byte
* key_data,
111
WSB_Size
key_data_size);
112
126
WSB_EXPORT
WSB_Result
127
WSB_KeyManager_SetFileKey
(
WSB_KeyManager
*
self
,
128
const
char
* file_content_id,
129
const
WSB_Byte
* key_data,
130
WSB_Size
key_data_size);
156
WSB_EXPORT
WSB_Result
157
WSB_KeyManager_GetKeyByName
(
const
WSB_KeyManager
*
self
,
158
const
char
* key_name,
159
WSB_Byte
* key_data,
160
WSB_Size
* key_data_size);
161
166
WSB_EXPORT
WSB_Result
167
WSB_KeyManager_Clear
(
WSB_KeyManager
*
self
);
168
172
WSB_EXPORT
WSB_Result
173
WSB_KeyManager_Destroy
(
WSB_KeyManager
*
self
);
174
177
#if defined(__cplusplus)
178
}
179
#endif
180
181
#endif
/* _WSB_KEY_MANAGER_H_ */
182