2 * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License
19 using System.Runtime.InteropServices;
21 internal static partial class Interop
23 [StructLayout(LayoutKind.Sequential)]
24 internal struct TEEC_Context
26 public readonly IntPtr imp;
29 [StructLayout(LayoutKind.Sequential)]
30 internal struct TEEC_Session
32 public readonly IntPtr imp;
35 [StructLayout(LayoutKind.Sequential)]
36 internal struct TEEC_UUID
38 public UInt32 timeLow;
39 public UInt16 timeMid;
40 public UInt16 timeHiAndVersion;
41 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
42 public byte[] clockSeqAndNode;
45 [StructLayout(LayoutKind.Sequential)]
46 internal struct sTEEC_SharedMemoryImp
48 public IntPtr context;
49 public IntPtr context_imp;
54 [StructLayout(LayoutKind.Sequential)]
55 internal struct TEEC_SharedMemory
62 [StructLayout(LayoutKind.Sequential)]
63 internal struct TEEC_Parameter
69 [StructLayout(LayoutKind.Sequential)]
70 internal struct TEEC_Operation
72 public UInt32 started;
73 public UInt32 paramTypes;
74 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
75 public TEEC_Parameter[] paramlist;