aboutsummaryrefslogtreecommitdiff
path: root/project/src/lib-std.h
diff options
context:
space:
mode:
authorWiimm <wiimm@wiimm.de>2024-03-26 10:35:38 +0100
committerWiimm <wiimm@wiimm.de>2024-03-26 10:35:38 +0100
commit246fdb38d7c2fb3054b8f8528e11dc8f17691750 (patch)
treec106adbb6c640ab93c4b3f19864fde6046b1a759 /project/src/lib-std.h
parentb8aca433e32346c9293acc34a9e2242809ac5692 (diff)
SZS 2.42a
Diffstat (limited to 'project/src/lib-std.h')
-rw-r--r--project/src/lib-std.h48
1 files changed, 45 insertions, 3 deletions
diff --git a/project/src/lib-std.h b/project/src/lib-std.h
index 6ff932c..c6b7dc8 100644
--- a/project/src/lib-std.h
+++ b/project/src/lib-std.h
@@ -121,7 +121,6 @@ void LogSHA1 ( ccp func, ccp file, uint line, cvp data, uint size, ccp info );
#define M1(a) ( (typeof(a))~0 )
#define IS_M1(a) ( (a) == (typeof(a))~0 )
-
//
///////////////////////////////////////////////////////////////////////////////
/////////////// Setup ///////////////
@@ -167,6 +166,9 @@ enum
//-----------------------------------------------------------------------------
+int FixExitStatus ( int stat );
+void ExitFixed ( int stat ) __attribute__ ((noreturn));
+
ccp LibGetErrorName ( int stat, ccp ret_not_found );
ccp LibGetErrorText ( int stat, ccp ret_not_found );
@@ -688,7 +690,7 @@ typedef enum cmd_flags_t
//-----------------------------------------------------------------------------
-ccp GetNameFF ( file_format_t ff1, file_format_t ff2 );
+ccp GetNameFF ( file_format_t ff_arch, file_format_t ff_data );
ccp GetNameFFv ( file_format_t ff1, file_format_t ff2, int version );
ccp GetExtFF ( file_format_t ff1, file_format_t ff2 );
ccp GetBinExtFF ( file_format_t ff );
@@ -761,6 +763,8 @@ bool IsByMagicBRSUB ( const void * data, uint data_size );
bool CanBeTrackFF ( file_format_t ff );
bool IsArchiveFF ( file_format_t ff );
+bool IsCompressFF ( file_format_t ff );
+bool IsTrackCompressFF ( file_format_t ff );
bool IsTextFF ( file_format_t ff );
bool IsGeoHitKartFF ( file_format_t ff );
bool IsGeoHitObjFF ( file_format_t ff );
@@ -775,7 +779,7 @@ void SetCompressionFF
(
file_format_t ff_arch, // if >=0: set 'opt_fform'
file_format_t ff_compr // if >=0: set 'fform_compr'
- // and 'fform_compr_force'
+ // and 'fform_compr_force'
);
static inline bool IsTplFF ( file_format_t ff )
@@ -1806,6 +1810,7 @@ void CheckOptDest ( ccp default_dest, bool default_mkdir );
///////////////////////////////////////////////////////////////////////////////
int ScanOptCompr ( ccp arg );
+int GetComprByFF ( file_format_t ff, int compr );
int ScanOptTracks ( ccp arg );
int ScanOptArenas ( ccp arg );
ccp NormalizeTrackName ( char *buf, uint bufsize, ccp arg );
@@ -2640,6 +2645,42 @@ void AnalyzeKCL ( const struct kcl_t * kcl );
///////////////////////////////////////////////////////////////////////////////
+int GetCompressionLevel
+(
+ // return -1: invalid ff,
+ // 0: compression level unknown
+ // 1..9: compression level unknown
+
+ file_format_t ff, // file format, call GetByMagicFF() if FF_UNKNOWN
+ cvp data, // NULL or pointer to data
+ uint size // size of data
+);
+
+//-----------------------------------------------------------------------------
+
+ccp GetCompressionSuffix
+(
+ // returns EmptyString[] or CircBuf of format ".#"
+
+ file_format_t ff, // file format, call GetByMagicFF() if FF_UNKNOWN
+ cvp data, // NULL or pointer to data
+ uint size // size of data
+);
+
+//-----------------------------------------------------------------------------
+
+ccp GetCompressionNameFF
+(
+ // returns const string or CircBuf of format "FF.#"
+
+ file_format_t ff_arch, // FF_UNKNOWN or file format of archive
+ file_format_t ff_data, // file format of data, call GetByMagicFF() if FF_UNKNOWN
+ cvp data, // NULL or pointer to data
+ uint size // size of data
+);
+
+///////////////////////////////////////////////////////////////////////////////
+
bool IsExtractEnabled(); // return true if enabled and mkdir() successful
bool PrepareExtract
@@ -2766,6 +2807,7 @@ typedef struct Image_t Image_t;
extern ccp opt_config;
extern bool opt_no_pager;
+extern int opt_zero;
extern ccp config_path;
extern ccp tool_name;
extern ccp std_share_path;