summaryrefslogtreecommitdiff
path: root/lib/header.h
AgeCommit message (Collapse)AuthorFilesLines
2008-10-10Add headerConvert() "proxy" for performing various conversions on header dataPanu Matilainen1-0/+13
2008-07-08Shove header legacy interfaces into rpmlegacy.hPanu Matilainen1-181/+0
- get them out of sight from main header.h - turn headerSprintf() into macro around headerFormat(), that way rpmTagTable and rpmHeaderFormats lossage can be hidden away as far as headerSprintf() use is concerned
2008-07-03Change headerPutString() arg name to match the othersPanu Matilainen1-1/+1
- doxygen whines a bit less..
2008-06-19Add type-safe headerPutFoo() methods for supported tag data typesPanu Matilainen1-0/+33
- requiring all access through rpmtdFromFoo() just adds unnecessary indirection and pain for little gain, the header is fairly intelligent when it comes to inserting data - this gives us various benefits over the old headerAddEntry() interface too: + basic type checking done by compiler + extra sanity checking (ie you can't add string data to integer tags, don't permit adding more than one entry to non-array data etc) + "do the right thing" approach - add / append as needed and supported by various types + headerPutString() can now be used on both single strings and string arrays making the interface much nicer for the rather common case of appending strings one by one to string array tags
2008-06-18Group legacy interfaces at the end of header.hPanu Matilainen1-199/+143
- out of sight, out of mind ;) - add deprecation warnings where missing - move to header_legacy doxygen group to avoid littering main documentation
2008-06-18Switch around headerAdd*Entry() family vs headerPut()Panu Matilainen1-3/+4
- make internal header add + append take rpmtd as argument, legacy interfaces are just wrappers around them - add deprecation markers
2008-06-18Switch around headerMod() and headerModifyEntry()Panu Matilainen1-1/+1
- headerModifyEntry() is the legacy interface going away, make it use headerMod() and deprecate it
2008-06-18Add headerMod() to headerPut() etc familyPanu Matilainen1-0/+11
- just a dumb wrapper around old headerModifyEntry() for now
2008-06-17Rename headerRemoveEntry() to headerDel(), add compat wrapperPanu Matilainen1-1/+13
- no differences here except headerDel is a nice short name (lifted from rpm5.org) to go with the new headerGet() etc family - deprecate headerRemoveEntry()
2008-06-13Deprecate headerGetEntry() and headerGetEntryMinMemory()Panu Matilainen1-2/+4
2008-06-11Add headerGet() flag to force allocation of returned dataPanu Matilainen1-0/+1
- earlier there was no way for caller to know if returned data or parts of it pointed to header memory (other than "know" how rpm behaves on given types), this allows consistent behavior for callers (ie you always "own" the returned data, not depending on header) when needed - if HEADERGET_ALLOC flag is set, all returned data is malloced, instead of possibly pointing to header memory depending on type - HEADERGET_ALLOC overrides HEADERGET_MINMEM if both specified - adjust various header internal callers to accept flags instead of just minmem argument - TODO: make sure tag extensions honor this too (all but fsnamesTag currently allocate anyway)
2008-05-26Treat epoch as unsigned integerPanu Matilainen1-1/+1
2008-05-26Deprecate headerNextIterator()Panu Matilainen1-1/+3
2008-05-22Remove some leftover doxygen @todo markersPanu Matilainen1-1/+0
2008-05-21Eliminate rpmTagTable internals from API/ABI completelyPanu Matilainen1-30/+0
- everything is now accessible through other methods, no need to expose our internals - tagtbl.c is now included from tagname.c instead and not separately built
2008-05-17Add HEADERGET_RAW flag to disable i18n lookupsPanu Matilainen1-0/+1
2008-05-17Push header getter flags down to internal helpersPanu Matilainen1-1/+1
2008-05-17Oops, thinko/typo in headerGetFlagsPanu Matilainen1-1/+1
2008-05-17Add typedefs for header get/put flags, use instead of intPanu Matilainen1-6/+7
2008-05-16Remove unused hRET_s and HE_s definitions for goodPanu Matilainen1-28/+0
2008-05-16Eliminate rpmHeaderFormats and rpmHeaderTagExtensions from the APIPanu Matilainen1-21/+1
2008-05-16Push finding of formatter and tag extension functions down to formats.cPanu Matilainen1-0/+4
2008-05-16Make extension formatter functions opaquePanu Matilainen1-32/+2
- tag extensions are only needed by headerGet(), formats only by headerFormat()
2008-05-16Eliminate the now unnecessary extension type fieldsPanu Matilainen1-9/+0
2008-05-16Split format and tag extensions to separate tablesPanu Matilainen1-0/+1
2008-05-15Change headerTagTagFunction() to take tag container as argPanu Matilainen1-11/+4
- minimal, crude conversion of all formatTag() functions for now
2008-05-14Teach headerGet() to retrieve extension tags if enabled with flagsPanu Matilainen1-1/+2
- bit of a kludgery until fooTag() formatters have been converted to take rpmtd struct as argument - idea lifted from rpm5.org, implemented independently (and probably quite differently)
2008-05-14Teach rpm tag table about extensionsPanu Matilainen1-0/+1
- add rpmTag_e enumerations for all extension tags - add extension field to headerTagTableEntry_s for things that are "pure" extensions (instead of just extension overrides) so we have a chance to catch out anybody trying to insert such tags to headers
2008-05-13Add headerPut() for adding data to headers through tag containerPanu Matilainen1-0/+14
- tag container isn't that big a win on add/append operations as it is on retrieval, just use the existing headerAddEntry() family to do the actual work - headerPut() is a nice and short name, lifted from rpm5.org, API might differ - flags to control operation, just whether append is permitted or not for now
2008-05-13Convert header tag iterator to use rpmtdPanu Matilainen1-0/+8
- new API function headerNext() for the new interface - headerNextIterator() is just a compat wrapper
2008-05-13Convert headerGetEntry() internals to use rpmtd for dataPanu Matilainen1-0/+15
- new public API function headerGet() that returns data in rpmtd, with flags to control operation (just minmem or no for now) - headerGet() is nice and short name, lifted from rpm5.org but our API differs as this takes a separate arg for the tag to get instead of (ab)using the container to pass data back and forth - internal compatibility wrapper to keep headerGetEntry() and -MinMem version working
2008-05-13New "tag data" container struct + some basic methods to deal with itPanu Matilainen1-0/+1
- to be used for passing around header and extension data - inspired by similar changes in rpm5.org, details and implementation differ
2008-05-12Push extension defaults one level deeper into headerFormat()Panu Matilainen1-2/+2
2008-05-12Simplify header extension handlingPanu Matilainen1-8/+0
- remove the now unnecessary chaining to different extension tables
2008-05-12Move headerVerifyInfo() to header.[ch] where it logically belongsPanu Matilainen1-0/+11
- removes the need for copy-paste typeAlign array in package.c
2008-05-12Convert internal uses of headerSprintf() to headerFormat()Panu Matilainen1-1/+0
2008-05-12Add simpler headerFormat() function, deprecate headerSprintf()Panu Matilainen1-3/+16
- headerSprintf() is just a dumb wrapper around headerFormat() now, tbltags and extensions are not used at all - baby steps towards eliminating the the tag and extension tables from the API/ABI...
2008-05-12Fixup paths and Makefiles for rpmdb/ eliminationPanu Matilainen1-1/+1
2008-05-12Start (re-)joining librpmdb and librpmPanu Matilainen1-0/+615
- the split is largely arbitrary and mostly just causes, well, arbitrary issues and limitations - just move content from rpmdb/ to lib/ for now
2001-11-19- header handling moved to librpmdb to avoid linkage loops.jbj1-727/+0
CVS patchset: 5193 CVS date: 2001/11/19 22:45:35
2001-11-11Rip alGetHeader() out of depends.c.jbj1-4/+5
CVS patchset: 5169 CVS date: 2001/11/11 00:11:33
2001-11-01- depends.c: availablePackage is (almost) opaque.jbj1-1/+1
CVS patchset: 5147 CVS date: 2001/11/01 23:18:15
2001-11-01- add header refcount annotations throughout.jbj1-4/+20
CVS patchset: 5146 CVS date: 2001/11/01 20:15:10
2001-10-15- use only header methods, routines are now static.jbj1-3/+1
CVS patchset: 5115 CVS date: 2001/10/15 21:07:08
2001-10-15Explicit branchstate annotations.jbj1-1/+2
CVS patchset: 5113 CVS date: 2001/10/15 17:53:34
2001-09-24Move to lclint-3.0.0.15, revisit and clean up annotations.jbj1-0/+2
intl/: Add gettext orphans. popt/intl/: Add gettext orphans. beecrypt: Add beecrypt repository. rpmio/tdigest.c: Add beecrypt digest checks. CVS patchset: 5077 CVS date: 2001/09/24 21:53:14
2001-07-20- fix: yet another segfault from bad metadata prevented.jbj1-5/+8
CVS patchset: 4962 CVS date: 2001/07/20 16:41:09
2001-07-06- expose rpmShowProgress() and rpmVerifyDigest() in rpmcli.h.jbj1-2/+2
- portability: avoid st_mtime, gendiff uses basename, etc (#47497). - glibc-2.0.x has not __va_copy(). - popthelp.c: static copy of stpcpy/stpncpy for the deprived (#47500). CVS patchset: 4921 CVS date: 2001/07/06 20:37:42
2001-06-28- fix: sanity checks on #tags (<65K) and offset (<16Mb) in header.jbj1-8/+8
- fix: add -r to useradd to prevent /etc/skel glop (#46215). - fix: disambiguate typedef and struct name(s) for kpackage. CVS patchset: 4908 CVS date: 2001/06/28 22:19:08
2001-06-19- finalize per-header methods, accessing headerFoo through vector.jbj1-165/+360
CVS patchset: 4880 CVS date: 2001/06/19 16:59:23