/usr/include/libunshield.h is in libunshield-dev 1.4.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | /* $Id$ */
#ifndef __unshield_h__
#define __unshield_h__
#include <stdbool.h>
#include <stddef.h>
#define UNSHIELD_LOG_LEVEL_LOWEST 0
#define UNSHIELD_LOG_LEVEL_ERROR 1
#define UNSHIELD_LOG_LEVEL_WARNING 2
#define UNSHIELD_LOG_LEVEL_TRACE 3
#define UNSHIELD_LOG_LEVEL_HIGHEST 4
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _Unshield Unshield;
/*
Logging
*/
void unshield_set_log_level(int level);
/*
Open/close functions
*/
Unshield* unshield_open(const char* filename);
Unshield* unshield_open_force_version(const char* filename, int version);
void unshield_close(Unshield* unshield);
/*
Component functions
*/
typedef struct
{
const char* name;
unsigned file_group_count;
const char** file_group_names;
} UnshieldComponent;
int unshield_component_count (Unshield* unshield);
const char* unshield_component_name (Unshield* unshield, int index);
/*
File group functions
*/
typedef struct
{
const char* name;
unsigned first_file;
unsigned last_file;
} UnshieldFileGroup;
int unshield_file_group_count (Unshield* unshield);
UnshieldFileGroup* unshield_file_group_get (Unshield* unshield, int index);
UnshieldFileGroup* unshield_file_group_find (Unshield* unshield, const char* name);
const char* unshield_file_group_name (Unshield* unshield, int index);
/*
Directory functions
*/
int unshield_directory_count (Unshield* unshield);
const char* unshield_directory_name (Unshield* unshield, int index);
/*
File functions
*/
int unshield_file_count (Unshield* unshield);
const char* unshield_file_name (Unshield* unshield, int index);
bool unshield_file_is_valid (Unshield* unshield, int index);
bool unshield_file_save (Unshield* unshield, int index, const char* filename);
int unshield_file_directory (Unshield* unshield, int index);
size_t unshield_file_size (Unshield* unshield, int index);
/** For investigation of compressed data */
bool unshield_file_save_raw(Unshield* unshield, int index, const char* filename);
/** Maybe it's just gzip without size? */
bool unshield_file_save_old(Unshield* unshield, int index, const char* filename);
/** Deobfuscate a buffer. Seed is 0 at file start */
void unshield_deobfuscate(unsigned char* buffer, size_t size, unsigned* seed);
/** Is the archive Unicode-capable? */
bool unshield_is_unicode(Unshield* unshield);
#ifdef __cplusplus
}
#endif
#endif
|