rpm  5.2.1
Macros | Typedefs | Functions | Variables
rpmxar.h File Reference

Structure(s)and methods for a XAR archive wrapper format. More...

#include <rpmiotypes.h>
Include dependency graph for rpmxar.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define rpmxarUnlink(_xar, _msg)   ((rpmxar)rpmioUnlinkPoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__))
 
#define rpmxarLink(_xar, _msg)   ((rpmxar)rpmioLinkPoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__))
 
#define rpmxarFree(_xar, _msg)   ((rpmxar)rpmioFreePoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__))
 

Typedefs

typedef struct rpmxar_s * rpmxar
 

Functions

rpmxar rpmxarUnlink (rpmxar xar, const char *msg)
 Unreference a xar archive instance.
 
rpmxar rpmxarLink (rpmxar xar, const char *msg)
 Reference a xar archive instance.
 
rpmxar rpmxarFree (rpmxar xar, const char *msg)
 
rpmxar rpmxarNew (const char *fn, const char *fmode)
 
int rpmxarNext (rpmxar xar)
 
int rpmxarPush (rpmxar xar, const char *fn, unsigned char *b, size_t bsize)
 
int rpmxarPull (rpmxar xar, const char *fn)
 
int rpmxarSwapBuf (rpmxar xar, unsigned char *b, size_t bsize, unsigned char **obp, size_t *obsizep)
 
ssize_t xarRead (void *cookie, char *buf, size_t count)
 

Variables

int _xar_debug
 

Detailed Description

Structure(s)and methods for a XAR archive wrapper format.

Definition in file rpmxar.h.

Macro Definition Documentation

#define rpmxarFree (   _xar,
  _msg 
)    ((rpmxar)rpmioFreePoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__))

Definition at line 73 of file rpmxar.h.

#define rpmxarLink (   _xar,
  _msg 
)    ((rpmxar)rpmioLinkPoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__))

Definition at line 66 of file rpmxar.h.

#define rpmxarUnlink (   _xar,
  _msg 
)    ((rpmxar)rpmioUnlinkPoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__))

Definition at line 54 of file rpmxar.h.

Typedef Documentation

typedef struct rpmxar_s* rpmxar

Definition at line 14 of file rpmxar.h.

Function Documentation

rpmxar rpmxarFree ( rpmxar  xar,
const char *  msg 
)

Referenced by fdFini(), and rdLead().

rpmxar rpmxarLink ( rpmxar  xar,
const char *  msg 
)

Reference a xar archive instance.

Parameters
xarxar archive
msg
Returns
new xar archive reference

Referenced by fdSetXAR(), and rpmxarNew().

rpmxar rpmxarNew ( const char *  fn,
const char *  fmode 
)

Definition at line 108 of file rpmxar.c.

References READ, rpmxarGetPool(), rpmxarLink(), WRITE, xar_iter_new, and xar_open.

Referenced by rdLead().

int rpmxarNext ( rpmxar  xar)

Definition at line 122 of file rpmxar.c.

References _xar_debug, xar_file_first, and xar_file_next.

Referenced by rdLead(), rdSignature(), readFile(), rpmReadHeader(), and xarRead().

int rpmxarPull ( rpmxar  xar,
const char *  fn 
)

Definition at line 157 of file rpmxar.c.

References _free(), _xar_debug, xar_extract_tobuffersz, and xar_get_path.

Referenced by rdLead(), rdSignature(), readFile(), rpmReadHeader(), and xarRead().

int rpmxarPush ( rpmxar  xar,
const char *  fn,
unsigned char *  b,
size_t  bsize 
)
int rpmxarSwapBuf ( rpmxar  xar,
unsigned char *  b,
size_t  bsize,
unsigned char **  obp,
size_t *  obsizep 
)

Definition at line 189 of file rpmxar.c.

References _free(), and _xar_debug.

Referenced by rdLead(), and xarRead().

rpmxar rpmxarUnlink ( rpmxar  xar,
const char *  msg 
)

Unreference a xar archive instance.

Parameters
xarxar archive
msg
Returns
NULL on last dereference
ssize_t xarRead ( void *  cookie,
char *  buf,
size_t  count 
)

Definition at line 215 of file rpmxar.c.

References _xar_debug, fdGetXAR(), RPMRC_FAIL, rpmxarNext(), rpmxarPull(), and rpmxarSwapBuf().

Referenced by __fdRead().

Variable Documentation

int _xar_debug

Definition at line 68 of file rpmxar.c.