File: liborange.h

package info (click to toggle)
orange 0.2-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,044 kB
  • ctags: 299
  • sloc: sh: 7,824; ansic: 2,419; makefile: 83
file content (149 lines) | stat: -rw-r--r-- 2,848 bytes parent folder | download
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