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. More...
rpmxar | rpmxarLink (rpmxar xar, const char *msg)
| Reference a xar archive instance. More...
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

  xar | xar 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
| ) |  |

Definition at line 136 of file rpmxar.c.

References _xar_debug, xar_add_frombuffer, XAR_OPT_COMPRESSION, xar_opt_set, XAR_OPT_VAL_GZIP, and XAR_OPT_VAL_NONE.

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

  xar | xar 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.