Go to the documentation of this file.00001 #ifndef H_RPMXAR
00002 #define H_RPMXAR
00003
00009 #include <rpmiotypes.h>
00010
00011
00012 extern int _xar_debug;
00013
00014 typedef struct rpmxar_s * rpmxar;
00015
00016 #ifdef _RPMXAR_INTERNAL
00017 #include "yarn.h"
00018 struct rpmxar_s {
00019 struct rpmioItem_s _item;
00020
00021 const void * x;
00022
00023 const void * f;
00024
00025 const void * i;
00026
00027 const char * member;
00028
00029 unsigned char * b;
00030 size_t bsize;
00031 size_t bx;
00032 int first;
00033 #if defined(__LCLINT__)
00034
00035 int nrefs;
00036 #endif
00037 };
00038 #endif
00039
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043
00050
00051 rpmxar rpmxarUnlink ( rpmxar xar,
00052 const char * msg)
00053 ;
00054 #define rpmxarUnlink(_xar, _msg) \
00055 ((rpmxar)rpmioUnlinkPoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__))
00056
00063
00064 rpmxar rpmxarLink ( rpmxar xar, const char * msg)
00065 ;
00066 #define rpmxarLink(_xar, _msg) \
00067 ((rpmxar)rpmioLinkPoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__))
00068
00069
00070 rpmxar rpmxarFree( rpmxar xar,
00071 const char * msg)
00072 ;
00073 #define rpmxarFree(_xar, _msg) \
00074 ((rpmxar)rpmioFreePoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__))
00075
00076
00077
00078 rpmxar rpmxarNew(const char * fn, const char * fmode)
00079
00080 ;
00081
00082
00083 int rpmxarNext(rpmxar xar)
00084
00085 ;
00086
00087 int rpmxarPush(rpmxar xar, const char * fn, unsigned char * b, size_t bsize)
00088
00089 ;
00090
00091 int rpmxarPull(rpmxar xar, const char * fn)
00092
00093 ;
00094
00095 int rpmxarSwapBuf(rpmxar xar, unsigned char * b, size_t bsize,
00096 unsigned char ** obp, size_t * obsizep)
00097
00098 ;
00099
00100
00101 ssize_t xarRead(void * cookie, char * buf, size_t count)
00102
00103
00104 ;
00105
00106
00107 #ifdef __cplusplus
00108 }
00109 #endif
00110
00111 #endif