]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/TianoTools/CompressDll/CompressDll.c
Convert to unix format.
[mirror_edk2.git] / Tools / Source / TianoTools / CompressDll / CompressDll.c
CommitLineData
878ddf1f 1#include "CompressDll.h"\r
2#include "EfiCompress.h"\r
3\r
4extern\r
5EFI_STATUS\r
6Compress (\r
7 IN UINT8 *SrcBuffer,\r
8 IN UINT32 SrcSize,\r
9 IN UINT8 *DstBuffer,\r
10 IN OUT UINT32 *DstSize\r
11 );\r
12 \r
13JNIEXPORT jbyteArray JNICALL Java_org_tianocore_framework_tasks_Compress_CallCompress \r
14(JNIEnv *env, jobject obj, jbyteArray SourceBuffer, jint SourceSize, jstring path)\r
15{\r
16 char* DestBuffer;\r
17 int DestSize; \r
18 int Result;\r
19 char *InputBuffer;\r
20 jbyteArray OutputBuffer;\r
21 jbyte *TempByte;\r
22 \r
23 DestSize = 0;\r
24 DestBuffer = NULL;\r
25 \r
26 TempByte = (*env)->GetByteArrayElements(env, SourceBuffer, 0);\r
27 InputBuffer = (char*) TempByte;\r
28\r
29 \r
30 //\r
31 // First call compress function and get need buffer size\r
32 //\r
33\r
34 Result = Compress (\r
35 (char*) InputBuffer, \r
36 SourceSize, \r
37 DestBuffer,\r
38 &DestSize\r
39 );\r
40\r
41 if (Result = EFI_BUFFER_TOO_SMALL) {\r
42 DestBuffer = malloc (DestSize);\r
43 }\r
44\r
45 //\r
46 // Second call compress and get the DestBuffer value\r
47 //\r
48 Result = Compress(\r
49 (char*) InputBuffer, \r
50 SourceSize, \r
51 DestBuffer,\r
52 &DestSize \r
53 );\r
54\r
55 //\r
56 // new a MV array to store the return compressed buffer\r
57 //\r
58 OutputBuffer = (*env)->NewByteArray(env, DestSize);\r
59 (*env)->SetByteArrayRegion(env, OutputBuffer,0, DestSize, (jbyte*) DestBuffer);\r
60\r
61 //\r
62 // Free Ouputbuffer.\r
63 //\r
64 free (DestBuffer);\r
65 \r
66\r
67 if (Result != 0) {\r
68 return NULL;\r
69 } else {\r
70 return OutputBuffer;\r
71 }\r
72}\r
73\r
74#ifdef _MSC_VER\r
75BOOLEAN \r
76__stdcall \r
77DllMainCRTStartup(\r
78 unsigned int hDllHandle, \r
79 unsigned int nReason, \r
80 void* Reserved \r
81)\r
82{\r
83 return TRUE;\r
84}\r
85#else\r
86#ifdef __GNUC__\r
87#endif\r
88#endif\r
89\r