Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/gallium/frontends/nine/cryptosession9.h
4561 views
1
/*
2
* Copyright 2011 Joakim Sindholt <[email protected]>
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a
5
* copy of this software and associated documentation files (the "Software"),
6
* to deal in the Software without restriction, including without limitation
7
* on the rights to use, copy, modify, merge, publish, distribute, sub
8
* license, and/or sell copies of the Software, and to permit persons to whom
9
* the Software is furnished to do so, subject to the following conditions:
10
*
11
* The above copyright notice and this permission notice (including the next
12
* paragraph) shall be included in all copies or substantial portions of the
13
* Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
18
* THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
19
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
20
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
21
* USE OR OTHER DEALINGS IN THE SOFTWARE. */
22
23
#ifndef _NINE_CRYPTOSESSION9_H_
24
#define _NINE_CRYPTOSESSION9_H_
25
26
#include "iunknown.h"
27
28
struct NineCryptoSession9
29
{
30
struct NineUnknown base;
31
};
32
static inline struct NineCryptoSession9 *
33
NineCryptoSession9( void *data )
34
{
35
return (struct NineCryptoSession9 *)data;
36
}
37
38
HRESULT NINE_WINAPI
39
NineCryptoSession9_GetCertificateSize( struct NineCryptoSession9 *This,
40
UINT *pCertificateSize );
41
42
HRESULT NINE_WINAPI
43
NineCryptoSession9_GetCertificate( struct NineCryptoSession9 *This,
44
UINT CertifacteSize,
45
BYTE *ppCertificate );
46
47
HRESULT NINE_WINAPI
48
NineCryptoSession9_NegotiateKeyExchange( struct NineCryptoSession9 *This,
49
UINT DataSize,
50
void *pData );
51
52
HRESULT NINE_WINAPI
53
NineCryptoSession9_EncryptionBlt( struct NineCryptoSession9 *This,
54
IDirect3DSurface9 *pSrcSurface,
55
IDirect3DSurface9 *pDstSurface,
56
UINT DstSurfaceSize,
57
void *pIV );
58
59
HRESULT NINE_WINAPI
60
NineCryptoSession9_DecryptionBlt( struct NineCryptoSession9 *This,
61
IDirect3DSurface9 *pSrcSurface,
62
IDirect3DSurface9 *pDstSurface,
63
UINT SrcSurfaceSize,
64
D3DENCRYPTED_BLOCK_INFO *pEncryptedBlockInfo,
65
void *pContentKey,
66
void *pIV );
67
68
HRESULT NINE_WINAPI
69
NineCryptoSession9_GetSurfacePitch( struct NineCryptoSession9 *This,
70
IDirect3DSurface9 *pSrcSurface,
71
UINT *pSurfacePitch );
72
73
HRESULT NINE_WINAPI
74
NineCryptoSession9_StartSessionKeyRefresh( struct NineCryptoSession9 *This,
75
void *pRandomNumber,
76
UINT RandomNumberSize );
77
78
HRESULT NINE_WINAPI
79
NineCryptoSession9_FinishSessionKeyRefresh( struct NineCryptoSession9 *This );
80
81
HRESULT NINE_WINAPI
82
NineCryptoSession9_GetEncryptionBltKey( struct NineCryptoSession9 *This,
83
void *pReadbackKey,
84
UINT KeySize );
85
86
#endif /* _NINE_CRYPTOSESSION9_H_ */
87
88