aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/api/lzma.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2009-01-31Add LZMA_API to liblzma API headers. It's useful at leastLasse Collin1-0/+17
on Windows. sysdefs.h no longer #includes lzma.h, so lzma.h has to be #included separately where needed.
2009-01-31Fix two lines in lzma.h on which the # wasn't at theLasse Collin1-2/+2
beginning of the line.
2009-01-31Add support for using liblzma headers in MSVC, which has noLasse Collin1-24/+46
stdint.h or inttypes.h.
2009-01-31Fix # -> ## in a macro in lzma.h.Lasse Collin1-1/+1
2008-12-31Renamed lzma_options_simple to lzma_options_bcj in the API.Lasse Collin1-1/+1
The internal implementation is still using the name "simple". It may need some cleanups, so I look at it later.
2008-12-31Remove lzma_init() and other init functions from liblzma API.Lasse Collin1-1/+0
Half of developers were already forgetting to use these functions, which could have caused total breakage in some future liblzma version or even now if --enable-small was used. Now liblzma uses pthread_once() to do the initializations unless it has been built with --disable-threads which make these initializations thread-unsafe. When --enable-small isn't used, liblzma currently gets needlessly linked against libpthread (on systems that have it). While it is stupid for now, liblzma will need threads in future anyway, so this stupidity will be temporary only. When --enable-small is used, different code CRC32 and CRC64 is now used than without --enable-small. This made the resulting binary slightly smaller, but the main reason was to clean it up and to handle the lack of lzma_init_check(). The pkg-config file lzma.pc was renamed to liblzma.pc. I'm not sure if it works correctly and portably for static linking (Libs.private includes -pthread or other operating system specific flags). Hopefully someone complains if it is bad. lzma_rc_prices[] is now included as a precomputed array even with --enable-small. It's just 128 bytes now that it uses uint8_t instead of uint32_t. Smaller array seemed to be at least as fast as the more bloated uint32_t array on x86; hopefully it's not bad on other architectures.
2008-12-27Bunch of liblzma tweaks, including some API changes.Lasse Collin1-4/+4
The API and ABI should now be very close to stable, although the code behind it isn't yet.
2008-12-17Remove the alignment functions for now. Maybe they willLasse Collin1-1/+0
be added back in some form later, but the current version wasn't modular, so it would need fixing anyway.
2008-12-15Bunch of liblzma API cleanups and fixes.Lasse Collin1-56/+66
2008-11-25Remove the nowadays unneeded memory limitting malloc() wrapper.Lasse Collin1-1/+0
2008-08-28Sort of garbage collection commit. :-| Many things are stillLasse Collin1-35/+126
broken. API has changed a lot and it will still change a little more here and there. The command line tool doesn't have all the required changes to reflect the API changes, so it's easy to get "internal error" or trigger assertions.
2008-06-18Update the code to mostly match the new simpler file formatLasse Collin1-6/+3
specification. Simplify things by removing most of the support for known uncompressed size in most places. There are some miscellaneous changes here and there too. The API of liblzma has got many changes and still some more will be done soon. While most of the code has been updated, some things are not fixed (the command line tool will choke with invalid filter chain, if nothing else). Subblock filter is somewhat broken for now. It will be updated once the encoded format of the Subblock filter has been decided.
2008-01-22Added lzma_easy_* functions. These should make usingLasse Collin1-0/+1
liblzma as easy as using zlib, because the easy API don't require developers to know any fancy LZMA options. Note that Multi-Block Stream encoding is currently broken. The easy API should be OK, the bug(s) are elsewhere.
2008-01-06Introduced compatibility with systems that have pre-C99Lasse Collin1-14/+26
or no inttypes.h. This is useful when the compiler has good enough support for C99, but libc headers don't. Changed liblzma API so that sys/types.h and inttypes.h have to be #included before #including lzma.h. On systems that don't have C99 inttypes.h, it's the problem of the applications to provide the required types and macros before #including lzma.h. If lzma.h defined the missing types and macros, it could conflict with third-party applications whose configure has detected that the types are missing and defined them in config.h already. An alternative would have been introducing lzma_uint32 and similar types, but that would just be an extra pain on modern systems.
2007-12-09Imported to git.Lasse Collin1-0/+122