this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Create libcompression stubs

+163
+2
src/CMakeLists.txt
··· 164 164 ${CMAKE_CURRENT_SOURCE_DIR}/IOPlatformPluginFamily/include 165 165 ${CMAKE_CURRENT_SOURCE_DIR}/PlugInKit/include 166 166 ${CMAKE_CURRENT_SOURCE_DIR}/libsysmon/include 167 + ${CMAKE_CURRENT_SOURCE_DIR}/libcompression/include 167 168 ${CMAKE_CURRENT_SOURCE_DIR}/lkm/include 168 169 ) 169 170 ··· 317 318 add_subdirectory(IOPlatformPluginFamily) 318 319 add_subdirectory(PlugInKit) 319 320 add_subdirectory(libsysmon) 321 + add_subdirectory(libcompression) 320 322 add_subdirectory(external/bsm) 321 323 add_subdirectory(external/gdb) 322 324 add_subdirectory(external/Heimdal)
+13
src/libcompression/CMakeLists.txt
··· 1 + project(compression) 2 + 3 + set(DYLIB_INSTALL_NAME "/usr/lib/libcompression.dylib") 4 + set(DYLIB_COMPAT_VERSION "1.0.0") 5 + set(DYLIB_CURRENT_VERSION "1.0.0") 6 + 7 + add_darling_library(compression 8 + src/compression.c 9 + ) 10 + make_fat(compression) 11 + target_link_libraries(compression system) 12 + 13 + install(TARGETS compression DESTINATION libexec/darling/usr/lib)
+102
src/libcompression/include/compression.h
··· 1 + #ifndef __COMPRESSION_H__ 2 + #define __COMPRESSION_H__ 3 + 4 + #include <stdint.h> 5 + #include <os/base.h> 6 + #include <sys/types.h> 7 + #include <Availability.h> 8 + 9 + #ifdef __cplusplus 10 + extern "C" { 11 + #endif 12 + 13 + #if __has_feature(assume_nonnull) 14 + _Pragma("clang assume_nonnull begin") 15 + #else 16 + # define __nullable 17 + #endif 18 + 19 + typedef enum { 20 + 21 + COMPRESSION_LZ4 = 0x100, 22 + COMPRESSION_ZLIB = 0x205, 23 + COMPRESSION_LZMA = 0x306, 24 + COMPRESSION_LZ4_RAW = 0x101, 25 + COMPRESSION_LZFSE = 0x801, 26 + 27 + } compression_algorithm; 28 + 29 + extern size_t 30 + compression_encode_scratch_buffer_size(compression_algorithm algorithm) 31 + __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0); 32 + 33 + extern size_t 34 + compression_encode_buffer(uint8_t * __restrict dst_buffer, size_t dst_size, 35 + const uint8_t * __restrict src_buffer, size_t src_size, 36 + void * __restrict __nullable scratch_buffer, 37 + compression_algorithm algorithm) 38 + __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0); 39 + 40 + extern size_t 41 + compression_decode_scratch_buffer_size(compression_algorithm algorithm) 42 + __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0); 43 + 44 + extern size_t 45 + compression_decode_buffer(uint8_t * __restrict dst_buffer, size_t dst_size, 46 + const uint8_t * __restrict src_buffer, size_t src_size, 47 + void * __restrict __nullable scratch_buffer, 48 + compression_algorithm algorithm) 49 + __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0); 50 + 51 + typedef struct { 52 + uint8_t * dst_ptr; 53 + size_t dst_size; 54 + const uint8_t * src_ptr; 55 + size_t src_size; 56 + void * __nullable state; 57 + 58 + } compression_stream; 59 + 60 + typedef enum { 61 + COMPRESSION_STREAM_ENCODE = 0, 62 + COMPRESSION_STREAM_DECODE = 1, 63 + 64 + } compression_stream_operation; 65 + 66 + typedef enum { 67 + COMPRESSION_STREAM_FINALIZE = 0x0001, 68 + } compression_stream_flags; 69 + 70 + typedef enum { 71 + 72 + COMPRESSION_STATUS_OK = 0, 73 + COMPRESSION_STATUS_ERROR = -1, 74 + COMPRESSION_STATUS_END = 1, 75 + 76 + } compression_status; 77 + 78 + 79 + extern compression_status 80 + compression_stream_init(compression_stream * stream, 81 + compression_stream_operation operation, 82 + compression_algorithm algorithm) 83 + __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0); 84 + 85 + extern compression_status 86 + compression_stream_process(compression_stream * stream, 87 + int flags) 88 + __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0); 89 + 90 + extern compression_status 91 + compression_stream_destroy(compression_stream * stream) 92 + __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0); 93 + 94 + #if __has_feature(assume_nonnull) 95 + _Pragma("clang assume_nonnull end") 96 + #endif 97 + #ifdef __cplusplus 98 + } 99 + #endif 100 + 101 + #endif 102 +
+46
src/libcompression/src/compression.c
··· 1 + #include <compression.h> 2 + 3 + size_t 4 + compression_encode_scratch_buffer_size(compression_algorithm algorithm) { 5 + return 0; 6 + } 7 + 8 + size_t 9 + compression_encode_buffer(uint8_t * __restrict dst_buffer, size_t dst_size, 10 + const uint8_t * __restrict src_buffer, size_t src_size, 11 + void * __restrict __nullable scratch_buffer, 12 + compression_algorithm algorithm) { 13 + return 0; 14 + } 15 + 16 + size_t 17 + compression_decode_scratch_buffer_size(compression_algorithm algorithm) { 18 + return 0; 19 + } 20 + 21 + size_t 22 + compression_decode_buffer(uint8_t * __restrict dst_buffer, size_t dst_size, 23 + const uint8_t * __restrict src_buffer, size_t src_size, 24 + void * __restrict __nullable scratch_buffer, 25 + compression_algorithm algorithm) { 26 + return 0; 27 + } 28 + 29 + compression_status 30 + compression_stream_init(compression_stream * stream, 31 + compression_stream_operation operation, 32 + compression_algorithm algorithm) { 33 + return COMPRESSION_STATUS_ERROR; 34 + } 35 + 36 + compression_status 37 + compression_stream_process(compression_stream * stream, 38 + int flags) { 39 + return COMPRESSION_STATUS_ERROR; 40 + } 41 + 42 + compression_status 43 + compression_stream_destroy(compression_stream * stream) { 44 + return COMPRESSION_STATUS_ERROR; 45 + } 46 +