rpm  5.4.15
Macros | Typedefs | Enumerations | Functions | Variables
rpmzq.h File Reference
#include <popt.h>
#include <yarn.h>
Include dependency graph for rpmzq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _ZKFB(n)   (1U << (n))
 
#define _ZFB(n)   (_ZKFB(n) | 0x40000000)
 
#define RPMZ_FLAGS_FORCE   (RPMZ_FLAGS_OVERWRITE|RPMZ_FLAGS_ALREADY|RPMZ_FLAGS_SYMLINKS|RPMZ_FLAGS_TTY)
 

Typedefs

typedef struct rpmzSpace_s * rpmzSpace
 
typedef struct rpmzPool_s * rpmzPool
 
typedef struct rpmzQueue_s * rpmzQueue
 
typedef struct rpmzJob_s * rpmzJob
 
typedef struct rpmzFIFO_s * rpmzFIFO
 
typedef struct rpmzSEQ_s * rpmzSEQ
 

Enumerations

enum  rpmzMode_e { RPMZ_MODE_COMPRESS = 0, RPMZ_MODE_DECOMPRESS = 1, RPMZ_MODE_TEST = 2 }
 
enum  rpmzFormat_e {
  RPMZ_FORMAT_AUTO = 0, RPMZ_FORMAT_XZ = 1, RPMZ_FORMAT_LZMA = 2, RPMZ_FORMAT_RAW = 3,
  RPMZ_FORMAT_GZIP = 4, RPMZ_FORMAT_ZLIB = 5, RPMZ_FORMAT_ZIP2 = 6, RPMZ_FORMAT_ZIP3 = 7,
  RPMZ_FORMAT_BZIP2 = 8
}
 
enum  rpmzFlags_e {
  RPMZ_FLAGS_NONE = 0, RPMZ_FLAGS_STDOUT = ((1U << ( 0 )) | 0x40000000), RPMZ_FLAGS_KEEP = ((1U << ( 2 )) | 0x40000000), RPMZ_FLAGS_RECURSE = ((1U << ( 3 )) | 0x40000000),
  RPMZ_FLAGS_EXTREME = ((1U << ( 4 )) | 0x40000000), RPMZ_FLAGS_FAST = ((1U << ( 5 )) | 0x40000000), RPMZ_FLAGS_BEST = ((1U << ( 6 )) | 0x40000000), RPMZ_FLAGS_HNAME = ((1U << ( 7 )) | 0x40000000),
  RPMZ_FLAGS_HTIME = ((1U << ( 8 )) | 0x40000000), RPMZ_FLAGS_RSYNCABLE = ((1U << ( 9 )) | 0x40000000), RPMZ_FLAGS_INDEPENDENT = ((1U << ( 10 )) | 0x40000000), RPMZ_FLAGS_LIST = ((1U << ( 11 )) | 0x40000000),
  RPMZ_FLAGS_OVERWRITE = ((1U << ( 12 )) | 0x40000000), RPMZ_FLAGS_ALREADY = ((1U << ( 13 )) | 0x40000000), RPMZ_FLAGS_SYMLINKS = ((1U << ( 14 )) | 0x40000000), RPMZ_FLAGS_TTY = ((1U << ( 15 )) | 0x40000000),
  RPMZ_FLAGS_X86 = ((1U << ( 16 )) | 0x40000000), RPMZ_FLAGS_POWERPC = ((1U << ( 17 )) | 0x40000000), RPMZ_FLAGS_IA64 = ((1U << ( 18 )) | 0x40000000), RPMZ_FLAGS_ARM = ((1U << ( 19 )) | 0x40000000),
  RPMZ_FLAGS_ARMTHUMB = ((1U << ( 20 )) | 0x40000000), RPMZ_FLAGS_SPARC = ((1U << ( 21 )) | 0x40000000)
}
 

Functions

int rpmbzCompressBlock (void *_bz, rpmzJob job)
 
rpmzPool rpmzqNewPool (size_t size, int limit)
 
rpmzSpace rpmzqNewSpace (rpmzPool pool, size_t len)
 Get a space from a pool (or malloc if pool == NULL). More...
 
void rpmzqUseSpace (rpmzSpace space)
 Increment the use count to require one more drop before returning this space to the pool. More...
 
rpmzSpace rpmzqDropSpace (rpmzSpace space)
 Drop a space, returning to the pool (or free'ing if no pool) when the use count is zero. More...
 
rpmzPool rpmzqFreePool (rpmzPool pool, int *countp)
 
rpmzJob rpmzqFreeJob (rpmzJob job)
 
rpmzJob rpmzqNewJob (long seq)
 
rpmzJob rpmzqUseJob (rpmzJob job)
 
rpmzJob rpmzqDropJob (rpmzJob job)
 
void rpmzqFini (rpmzQueue zq)
 command the compress threads to all return, then join them all (call from main thread), free all the thread-related resources More...
 
void rpmzqInit (rpmzQueue zq)
 setup job lists (call from main thread) More...
 
rpmzQueue rpmzqFree (rpmzQueue zq)
 
rpmzQueue rpmzqNew (rpmzQueue zq, rpmzLog zlog, int limit)
 
rpmzFIFO rpmzqInitFIFO (long val)
 
rpmzFIFO rpmzqFiniFIFO (rpmzFIFO zs)
 
void rpmzqVerifyFIFO (rpmzFIFO zs)
 
rpmzJob rpmzqDelFIFO (rpmzFIFO zs)
 
void rpmzqAddFIFO (rpmzFIFO zs, rpmzJob job)
 
rpmzSEQ rpmzqInitSEQ (long val)
 
rpmzSEQ rpmzqFiniSEQ (rpmzSEQ zs)
 
void rpmzqVerifySEQ (rpmzSEQ zs)
 
rpmzJob rpmzqDelSEQ (rpmzSEQ zs, long seq)
 
void rpmzqAddSEQ (rpmzSEQ zs, rpmzJob job)
 
rpmzJob rpmzqDelCJob (rpmzQueue zq)
 
void rpmzqAddCJob (rpmzQueue zq, rpmzJob job)
 
rpmzJob rpmzqDelWJob (rpmzQueue zq, long seq)
 
void rpmzqAddWJob (rpmzQueue zq, rpmzJob job)
 
void rpmzqLaunch (rpmzQueue zq, long seq, unsigned int threads)
 start another compress/decompress thread if needed More...
 
void rpmzqVerify (rpmzQueue zq)
 verify no more jobs, prepare for next use More...
 

Variables

int _rpmzq_debug
 
rpmzQueue _rpmzq
 
struct poptOption rpmzqOptionsPoptTable []
 

Macro Definition Documentation

#define _ZFB (   n)    (_ZKFB(n) | 0x40000000)

Definition at line 72 of file rpmzq.h.

#define _ZKFB (   n)    (1U << (n))

Definition at line 71 of file rpmzq.h.

Definition at line 102 of file rpmzq.h.

Typedef Documentation

typedef struct rpmzFIFO_s* rpmzFIFO

Definition at line 29 of file rpmzq.h.

typedef struct rpmzJob_s* rpmzJob

Definition at line 27 of file rpmzq.h.

typedef struct rpmzPool_s* rpmzPool

Definition at line 19 of file rpmzq.h.

typedef struct rpmzQueue_s* rpmzQueue

Definition at line 23 of file rpmzq.h.

typedef struct rpmzSEQ_s* rpmzSEQ

Definition at line 30 of file rpmzq.h.

typedef struct rpmzSpace_s* rpmzSpace

Definition at line 15 of file rpmzq.h.

Enumeration Type Documentation

Enumerator
RPMZ_FLAGS_NONE 
RPMZ_FLAGS_STDOUT 

-c, –stdout ...

RPMZ_FLAGS_KEEP 

-k, –keep ...

RPMZ_FLAGS_RECURSE 

-r, –recursive ...

RPMZ_FLAGS_EXTREME 

-e, –extreme ...

RPMZ_FLAGS_FAST 

–fast ...

RPMZ_FLAGS_BEST 

–best ...

RPMZ_FLAGS_HNAME 

-n, –no-name ...

RPMZ_FLAGS_HTIME 

-T, –no-time ...

RPMZ_FLAGS_RSYNCABLE 

-R, –rsyncable ...

RPMZ_FLAGS_INDEPENDENT 

-i, –independent ...

RPMZ_FLAGS_LIST 

-l, –list ...

RPMZ_FLAGS_OVERWRITE 

–overwrite ...

RPMZ_FLAGS_ALREADY 

–recompress ...

RPMZ_FLAGS_SYMLINKS 

–symlinks ...

RPMZ_FLAGS_TTY 

–tty ...

RPMZ_FLAGS_X86 
RPMZ_FLAGS_POWERPC 
RPMZ_FLAGS_IA64 
RPMZ_FLAGS_ARM 
RPMZ_FLAGS_ARMTHUMB 
RPMZ_FLAGS_SPARC 

Definition at line 76 of file rpmzq.h.

Enumerator
RPMZ_FORMAT_AUTO 
RPMZ_FORMAT_XZ 
RPMZ_FORMAT_LZMA 
RPMZ_FORMAT_RAW 
RPMZ_FORMAT_GZIP 
RPMZ_FORMAT_ZLIB 
RPMZ_FORMAT_ZIP2 
RPMZ_FORMAT_ZIP3 
RPMZ_FORMAT_BZIP2 

Definition at line 59 of file rpmzq.h.

enum rpmzMode_e
Enumerator
RPMZ_MODE_COMPRESS 
RPMZ_MODE_DECOMPRESS 
RPMZ_MODE_TEST 

Definition at line 51 of file rpmzq.h.

Function Documentation

int rpmbzCompressBlock ( void *  _bz,
rpmzJob  job 
)
void rpmzqAddCJob ( rpmzQueue  zq,
rpmzJob  job 
)
void rpmzqAddFIFO ( rpmzFIFO  zs,
rpmzJob  job 
)
void rpmzqAddSEQ ( rpmzSEQ  zs,
rpmzJob  job 
)
void rpmzqAddWJob ( rpmzQueue  zq,
rpmzJob  job 
)
rpmzJob rpmzqDelCJob ( rpmzQueue  zq)
rpmzJob rpmzqDelFIFO ( rpmzFIFO  zs)
rpmzJob rpmzqDelSEQ ( rpmzSEQ  zs,
long  seq 
)
rpmzJob rpmzqDelWJob ( rpmzQueue  zq,
long  seq 
)
rpmzJob rpmzqDropJob ( rpmzJob  job)
rpmzSpace rpmzqDropSpace ( rpmzSpace  space)

Drop a space, returning to the pool (or free'ing if no pool) when the use count is zero.

If space == NULL, nothing is done.

void rpmzqFini ( rpmzQueue  zq)

command the compress threads to all return, then join them all (call from main thread), free all the thread-related resources

rpmzFIFO rpmzqFiniFIFO ( rpmzFIFO  zs)
rpmzSEQ rpmzqFiniSEQ ( rpmzSEQ  zs)
rpmzQueue rpmzqFree ( rpmzQueue  zq)
rpmzJob rpmzqFreeJob ( rpmzJob  job)
rpmzPool rpmzqFreePool ( rpmzPool  pool,
int *  countp 
)
void rpmzqInit ( rpmzQueue  zq)

setup job lists (call from main thread)

rpmzFIFO rpmzqInitFIFO ( long  val)
rpmzSEQ rpmzqInitSEQ ( long  val)
void rpmzqLaunch ( rpmzQueue  zq,
long  seq,
unsigned int  threads 
)

start another compress/decompress thread if needed

rpmzQueue rpmzqNew ( rpmzQueue  zq,
rpmzLog  zlog,
int  limit 
)
rpmzJob rpmzqNewJob ( long  seq)
rpmzPool rpmzqNewPool ( size_t  size,
int  limit 
)
rpmzSpace rpmzqNewSpace ( rpmzPool  pool,
size_t  len 
)

Get a space from a pool (or malloc if pool == NULL).

The use count is initially set to one, so there is no need to call rpmzUseSpace() for the first use.

rpmzJob rpmzqUseJob ( rpmzJob  job)
void rpmzqUseSpace ( rpmzSpace  space)

Increment the use count to require one more drop before returning this space to the pool.

void rpmzqVerify ( rpmzQueue  zq)

verify no more jobs, prepare for next use

void rpmzqVerifyFIFO ( rpmzFIFO  zs)
void rpmzqVerifySEQ ( rpmzSEQ  zs)

Variable Documentation

rpmzQueue _rpmzq
int _rpmzq_debug
struct poptOption rpmzqOptionsPoptTable[]