Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

lib/hdrproto.h

Go to the documentation of this file.
00001 #ifndef H_HDRPROTO
00002 #define H_HDRPROTO
00003 
00008 #ifdef __cplusplus
00009 extern "C" {
00010 #endif
00011 
00016 Header headerNew(void)  /*@*/;
00017 
00023 /*@null@*/ Header headerFree( /*@null@*/ /*@killref@*/ Header h)
00024         /*@modifies h @*/;
00025 
00031 Header headerLink(Header h)
00032         /*@modifies h @*/;
00033 
00034 /*@-exportlocal@*/
00039 void headerSort(Header h)
00040         /*@modifies h @*/;
00041 
00046 void headerUnsort(Header h)
00047         /*@modifies h @*/;
00048 /*@=exportlocal@*/
00049 
00056 unsigned int headerSizeof(/*@null@*/ Header h, enum hMagic magicp)
00057         /*@modifies h @*/;
00058 
00064 /*@only@*/ /*@null@*/ void * headerUnload(Header h)
00065         /*@modifies h @*/;
00066 
00074 /*@null@*/ Header headerReload(/*@only@*/ Header h, int tag)
00075         /*@modifies h @*/;
00076 
00082 /*@null@*/ Header headerCopy(Header h)
00083         /*@modifies h @*/;
00084 
00090 /*@-exportlocal@*/
00091 /*@null@*/ Header headerLoad(/*@kept@*/ void * uh)
00092         /*@modifies uh @*/;
00093 /*@=exportlocal@*/
00094 
00102 int headerWrite(FD_t fd, /*@null@*/ Header h, enum hMagic magicp)
00103         /*@modifies fd, h, fileSystem @*/;
00104 
00110 /*@null@*/ Header headerCopyLoad(const void * uh)
00111         /*@*/;
00112 
00119 /*@null@*/ Header headerRead(FD_t fd, enum hMagic magicp)
00120         /*@modifies fd, fileSystem @*/;
00121 
00128 int headerIsEntry(/*@null@*/Header h, int_32 tag)
00129         /*@*/;
00130 
00144 int headerGetEntry(Header h, int_32 tag,
00145                         /*@null@*/ /*@out@*/ hTYP_t type,
00146                         /*@null@*/ /*@out@*/ void ** p,
00147                         /*@null@*/ /*@out@*/ hCNT_t c)
00148         /*@modifies *type, *p, *c @*/;
00149 
00162 int headerGetEntryMinMemory(Header h, int_32 tag,
00163                         /*@null@*/ /*@out@*/ hTYP_t type,
00164                         /*@null@*/ /*@out@*/ hPTR_t * p,
00165                         /*@null@*/ /*@out@*/ hCNT_t c)
00166         /*@modifies *type, *p, *c @*/;
00167 
00182 /*@mayexit@*/
00183 int headerAddEntry(Header h, int_32 tag, int_32 type, const void * p, int_32 c)
00184         /*@modifies h @*/;
00185 
00200 int headerAppendEntry(Header h, int_32 tag, int_32 type,
00201                 const void * p, int_32 c)
00202         /*@modifies h @*/;
00203 
00214 int headerAddOrAppendEntry(Header h, int_32 tag, int_32 type,
00215                 const void * p, int_32 c)
00216         /*@modifies h @*/;
00217 
00238 int headerAddI18NString(Header h, int_32 tag, const char * string,
00239                 const char * lang)
00240         /*@modifies h @*/;
00241 
00252 int headerModifyEntry(Header h, int_32 tag, int_32 type,
00253                         const void * p, int_32 c)
00254         /*@modifies h @*/;
00255 
00265 int headerRemoveEntry(Header h, int_32 tag)
00266         /*@modifies h @*/;
00267 
00279 /*@only@*/ char * headerSprintf(Header h, const char * fmt,
00280                      const struct headerTagTableEntry_s * tags,
00281                      const struct headerSprintfExtension_s * extensions,
00282                      /*@null@*/ /*@out@*/ errmsg_t * errmsg)
00283         /*@modifies *errmsg @*/;
00284 
00291 void headerCopyTags(Header headerFrom, Header headerTo, hTAG_t tagstocopy)
00292         /*@modifies headerTo @*/;
00293 
00299 /*@null@*/ HeaderIterator headerFreeIterator(/*@only@*/ HeaderIterator hi)
00300         /*@modifies hi @*/;
00301 
00307 HeaderIterator headerInitIterator(Header h)
00308         /*@modifies h */;
00309 
00319 int headerNextIterator(HeaderIterator hi,
00320                 /*@null@*/ /*@out@*/ hTAG_t tag,
00321                 /*@null@*/ /*@out@*/ hTYP_t type,
00322                 /*@null@*/ /*@out@*/ hPTR_t * p,
00323                 /*@null@*/ /*@out@*/ hCNT_t c)
00324         /*@modifies hi, *tag, *type, *p, *c @*/;
00325 
00326 #ifdef __cplusplus
00327 }
00328 #endif
00329 
00330 #endif  /* H_HDRPROTO */

Generated on Wed Mar 13 15:34:47 2002 for rpm by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002