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