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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
/* $Id: liborange.h,v 1.4 2003/09/12 18:44:01 twogood Exp $ */
#ifndef __liborange_h__
#define __liborange_h__
#include <synce.h>
typedef struct _CabInfo
{
size_t size;
int processor;
} CabInfo;
/**
Examine a Microsoft Cabinet File to see if it is installable
*/
bool orange_get_installable_cab_info(
const char* input_filename,
CabInfo* cab_info);
/**
Generic callback with a filename
*/
typedef bool (*orange_filename_callback)(
const char* filename,
CabInfo* info,
void* cookie);
/**
Generic callback with a buffer
*/
typedef bool (*orange_buffer_callback)(
const uint8_t* buffer,
size_t size,
CabInfo* info,
void* cookie);
/**
Squeeze a file in order to find installable Microsoft Cabinet files
*/
bool orange_squeeze_file(
const char* filename,
orange_filename_callback callback,
void* cookie);
/**
Squeeze a directory in order to find installable Microsoft Cabinet files
*/
bool orange_squeeze_directory(
const char* directory,
orange_filename_callback callback,
void* cookie);
/**
Takes an self-extracting program that uses a function called DllInflate in a
DLL called inflate.dll to extract the actual installation program.
*/
bool orange_dllinflate(
const char* input_filename,
const char* output_filename);
/**
Takes a Setup Factory installer and extract its contents
Source in suf.c
*/
bool orange_extract_setup_factory(
const char* input_filename,
const char* output_directory);
/**
Source in inno.c
*/
bool orange_extract_inno(
const char* input_filename,
const char* output_directory);
/**
Separate installable Microsoft Cabinet Files from a file
*/
bool orange_separate(
const char* input_filename,
const char* output_directory);
bool orange_separate2(
uint8_t* input_buffer,
size_t input_size,
orange_buffer_callback callback,
void* cookie);
/**
Extract a TomTom .apk file
*/
bool orange_extract_apk(
const char* input_filename,
const char* output_directory);
/**
Extract a TomTom .arh file
*/
bool orange_extract_arh(
const char* input_filename,
const char* output_directory);
/**
Extract an InstallShield Cabinet File to a directory
*/
bool orange_extract_is_cab(
const char* input_filename,
const char* output_directory);
/**
Extract a (self-extracting) Microsoft Cabinet File to a directory
*/
bool orange_extract_ms_cab(
const char* input_filename,
const char* output_directory);
/**
Extract a (self-extracting) RAR file to a directory
*/
bool orange_extract_rar(
const char* input_filename,
const char* output_directory);
/**
Extract a (self-extracting) ZIP file to a directory
*/
bool orange_extract_zip(
const char* input_filename,
const char* output_directory);
#endif
|