blob: 955aa896aeb17ca0888bfbe816c8607b3c77fd41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
/*
* Copyright (c) 2013 TRUSTONIC LIMITED
* All rights reserved
*
* The present software is the confidential and proprietary information of
* TRUSTONIC LIMITED. You shall not disclose the present software and shall
* use it only in accordance with the terms of the license agreement you
* entered into with TRUSTONIC LIMITED. This software may be subject to
* export or import laws in certain countries.
*/
#ifndef __TPLAY_MARSHAL_H__
#define __TPLAY_MARSHAL_H__ __FILE__
#include "DrApi/DrApiCommon.h"
#include "TlApi/TlApiError.h"
#include "TlApi/TPlay.h"
/**
* Driver ID
*/
#define TPLAY_DR_ID TB_DRV_ID_TPLAY
/**
* Function id definitions
*/
#define FID_DR_OPEN_SESSION 1
#define FID_DR_CLOSE_SESSION 2
#define FID_DR_PROCESS_DRM_CONTENT 3
#define FID_DR_CHECK_LINK 4
#define FID_DR_UNKNOWN_CMD 100 /* For test purposes */
/**
* Secure cipher request data structure.
* This structure helps define a buffer that contains mixed encrypted and clear data.
*/
typedef struct {
uint8_t sHandle;
tlApiDrmDecryptContext_t decryptCtx;
uint8_t *input;
tlApiDrmInputSegmentDescriptor_t inputDesc;
uint32_t processMode;
uint8_t *rfu;
} tlDrmApiDrmContent_t, *tlDrmApiDrmContent_ptr;
/**
* Link status data structure.
*/
typedef struct {
uint8_t sHandle;
tlApiDrmLink_t link;
} tlDrmApiLink_t, *tlDrmApiLink_ptr;
/**
* Union of marshaling parameters. */
/* If adding any function, add the marshaling structure here
*/
typedef struct {
uint32_t functionId; /* Function identifier. */
union {
uint8_t *returned_sHandle;
uint8_t sHandle_to_close;
tlDrmApiDrmContent_t drmContent;
tlDrmApiLink_t link;
int32_t retVal; /* Return value */
} payload;
} tplayMarshalingParam_t, *tplayMarshalingParam_ptr;
#endif // __TPLAY_MARSHAL_H__
|