pax_global_header 0000666 0000000 0000000 00000000064 12301440175 0014507 g ustar 00root root 0000000 0000000 52 comment=5ac54fe7beab67cbfb6f95552c15a68204a014bd
tpl-1.6.1/ 0000775 0000000 0000000 00000000000 12301440175 0012313 5 ustar 00root root 0000000 0000000 tpl-1.6.1/.gitignore 0000664 0000000 0000000 00000000213 12301440175 0014277 0 ustar 00root root 0000000 0000000 # Object files
*.o
# Libraries
*.lib
*.a
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
# Executables
*.exe
*.out
*.app
tpl-1.6.1/LICENSE 0000775 0000000 0000000 00000002157 12301440175 0013330 0 ustar 00root root 0000000 0000000 Copyright (c) 2005-2013, Troy Hanson http://troydhanson.github.com/tpl/
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
tpl-1.6.1/Makefile.am 0000664 0000000 0000000 00000000064 12301440175 0014347 0 ustar 00root root 0000000 0000000 SUBDIRS = src
EXTRA_DIST = LICENSE tests lang doc
tpl-1.6.1/README 0000664 0000000 0000000 00000002665 12301440175 0013204 0 ustar 00root root 0000000 0000000 tpl: fast, easy serialization in C
==============================================================================
Documentation for tpl is available in the doc/ directory or at:
http://troydhanson.github.com/tpl
You can build tpl as a library, like so:
./configure
make
make install
This installs libtpl.so and libtpl.a into a standard system library directory.
You can customize the install directory using configure's "--prefix" option:
./configure --prefix=/some/directory
For other options accepted by configure, run "./configure --help".
NON-LIBRARY OPTION
------------------
Alternatively, if you don't want to muck around with libraries, you can simply
copy these two files into your own C project and build them with your program:
src/tpl.h
src/tpl.c
WINDOWS
-------
You can build tpl as a DLL under Visual Studio 2008. Or you can use MinGW or
Cygwin.
SELF-TEST SUITE
---------------
The automated self-test can be run by doing:
cd tests
make
LICENSE
-------
The BSD license applies to this software. The text is in the LICENSE file.
CREDITS
-------
Many people have contributed to tpl, both bits of code and ideas. Rather than
listing them all here, at risk of omitting anyone- I just wish to say thank
you. Some particular features are noted with contributors' names in the
ChangeLog.
Feel free to send me questions, comments or bug reports.
Troy D. Hanson, March 17 2013
tdh@tkhanson.net
tpl-1.6.1/README.md 0000664 0000000 0000000 00000000116 12301440175 0013570 0 ustar 00root root 0000000 0000000
Documentation for tpl is available at:
http://troydhanson.github.com/tpl/
tpl-1.6.1/bootstrap 0000775 0000000 0000000 00000000326 12301440175 0014257 0 ustar 00root root 0000000 0000000 #!/bin/sh
# THIS SCRIPT IS FOR PROJECT MAINTAINER ONLY
# It is executed only to generate "configure"
set -x
aclocal -I config
autoheader
libtoolize --copy --force
automake --foreign --add-missing --copy
autoconf
tpl-1.6.1/configure.ac 0000664 0000000 0000000 00000001323 12301440175 0014600 0 ustar 00root root 0000000 0000000 AC_PREREQ(2.59)
AC_INIT([libtpl], [1.4], [tdh@tkhanson.net])
AC_CONFIG_SRCDIR(src/tpl.c)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_HEADERS(config/config.h)
AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
dnl next 4 lines are a hack to avoid libtool's
dnl needless checks for C++ and Fortran compilers
m4_undefine([AC_PROG_CXX])
m4_defun([AC_PROG_CXX],[])
m4_undefine([AC_PROG_F77])
m4_defun([AC_PROG_F77],[])
AC_PROG_LIBTOOL
dnl detect Cygwin or MinGW and use mmap family replacements
AC_CONFIG_LIBOBJ_DIR(src/win)
case $host in
*-*-mingw32* | *-*-cygwin* | *-*-windows*)
AC_LIBOBJ(mmap)
AC_MSG_NOTICE([using custom mmap for Cygwin/MinGW])
;;
esac
AC_CONFIG_FILES(src/win/Makefile src/Makefile Makefile)
AC_OUTPUT
tpl-1.6.1/doc/ 0000775 0000000 0000000 00000000000 12301440175 0013060 5 ustar 00root root 0000000 0000000 tpl-1.6.1/doc/ChangeLog.html 0000664 0000000 0000000 00000053755 12301440175 0015614 0 ustar 00root root 0000000 0000000
tpl ChangeLog
Version 1.6 (2011-??-??)
-
Added const
to a number of API parameters and exposed tpl_map_va (thanks, Simon Dawson!)
-
Fixed a bug in the Windows version of tpl that prevented an application
from serializing more than once to the same file- the file stayed locked until
the application was closed. (thanks, Werner Krattenthaler!)
-
Fixed a documentation error to indicate that tpl_dump
when used in the
TPL_GETSIZE
mode stores its result in a size_t
rather than a uint32_t
(thanks, M. Nunberge!)
-
Fixed a typo in the User Guide example of packing a linked link (thanks, Bryan Mishkin!)
Version 1.5 (2010-02-05)
-
tpl now builds as a DLL under Microsoft Visual Studio! (thanks, degski and Zhang Yafei!)
-
there are now two download options: the tarball and the Visual Studio solution
-
a crash in tpl_free
on certain format strings has been fixed (thanks, Eric Rose!)
-
fixed a bug in tpl_dump
on 64-bit, big-endian platforms
-
changed some pointer casts from long
to uintptr_t
since 64-bit Windows has 32-bit longs
-
tpl has been downloaded 4,195 times.
Version 1.4 (2009-04-21)
-
fixed-length arrays can now be multi-dimensional like i##
-
fixed-length string arrays like s#
are now supported
-
nested structures can now be expressed, using the dollar symbol, e.g. S(ci$(cc))
-
tpl_dump
can use a caller-allocated output buffer (TPL_MEM|TPL_PREALLOCD
)
-
tpl_load
can tolerate excess space in input buffer (TPL_MEM|TPL_EXCESS_OK
)
-
implement TPL_FXLENS
flag for tpl_peek
to get lengths of fixed-length arrays
-
implement TPL_GETSIZE
flag for tpl_dump
to get dump size without dumping
-
fix success return code from tpl_dump(TPL_FD,...)
(thanks, Max Lapan!)
-
deprecated the wildcard unpacking S(*)
feature
Version 1.3 (2009-02-10)
-
added TPL_DATAPEEK
mode for tpl_peek
-
added support for NULL
strings
-
added support for 16-bit integer types (j
,v
)
-
added tpl_jot
-
added support for fixed-length arrays of structures S(...)#
-
added support for pre-C99 compilers (thanks, Wei Wei!)
-
improved structure alignment calculation (thanks, Wu Yongwei!)
-
added RPM spec file (thanks, Alessandro Ren!)
-
compiles cleanly with -Wall
and -pedantic
and with -O3
-
made BSD license terms even more permissive
-
test suite: exit with status zero when all tests pass
-
added PDF user guide
-
added update news
-
added tpl wiki
Version 1.1 (2007-04-25)
-
support for serializing C structures
-
support for serializing fixed-length arrays
-
MinGW support (thanks, Horea Haitonic!)
-
revised User Guide
tpl-1.6.1/doc/ChangeLog.txt 0000664 0000000 0000000 00000006174 12301440175 0015460 0 ustar 00root root 0000000 0000000 tpl ChangeLog
=============
Version 1.6 (2011-??-??)
--------------------------
* Added `const` to a number of API parameters and exposed tpl_map_va (thanks, Simon Dawson!)
* Fixed a bug in the Windows version of tpl that prevented an application
from serializing more than once to the same file- the file stayed locked until
the application was closed. (thanks, Werner Krattenthaler!)
* Fixed a documentation error to indicate that `tpl_dump` when used in the
`TPL_GETSIZE` mode stores its result in a `size_t` rather than a `uint32_t`
(thanks, M. Nunberge!)
* Fixed a typo in the User Guide example of packing a linked link (thanks, Bryan Mishkin!)
Version 1.5 (2010-02-05)
--------------------------
* tpl now builds as a DLL under Microsoft Visual Studio! (thanks, degski and Zhang Yafei!)
* there are now two download options: the http://downloads.sourceforge.net/tpl/libtpl-1.5.tar.bz2[tarball] and the Visual Studio http://downloads.sourceforge.net/tpl/tpl-1.5-vs2008.zip[solution]
* a crash in `tpl_free` on certain format strings has been fixed (thanks, Eric Rose!)
* fixed a bug in `tpl_dump` on 64-bit, big-endian platforms
* changed some pointer casts from `long` to `uintptr_t` since 64-bit Windows has 32-bit longs
* tpl has been downloaded 4,195 times.
Version 1.4 (2009-04-21)
--------------------------
* fixed-length arrays can now be multi-dimensional like `i##`
* fixed-length string arrays like `s#` are now supported
* nested structures can now be expressed, using the dollar symbol, e.g. `S(ci$(cc))`
* `tpl_dump` can use a caller-allocated output buffer (`TPL_MEM|TPL_PREALLOCD`)
* `tpl_load` can tolerate excess space in input buffer (`TPL_MEM|TPL_EXCESS_OK`)
* implement `TPL_FXLENS` flag for `tpl_peek` to get lengths of fixed-length arrays
* implement `TPL_GETSIZE` flag for `tpl_dump` to get dump size without dumping
* fix success return code from `tpl_dump(TPL_FD,...)` (thanks, Max Lapan!)
* deprecated the wildcard unpacking `S(*)` feature
Version 1.3 (2009-02-10)
--------------------------
* added `TPL_DATAPEEK` mode for `tpl_peek`
* added support for `NULL` strings
* added support for 16-bit integer types (`j`,`v`)
* added `tpl_jot`
* added support for fixed-length arrays of structures `S(...)#`
* added support for pre-C99 compilers (thanks, Wei Wei!)
* improved structure alignment calculation (thanks, Wu Yongwei!)
* added RPM spec file (thanks, Alessandro Ren!)
* compiles cleanly with `-Wall` and `-pedantic` and with `-O3`
* made link:license.html[BSD license] terms even more permissive
* test suite: exit with status zero when all tests pass
* added PDF user guide
* added http://troydhanson.wordpress.com/feed/[update news] image:img/rss.png[(RSS)]
* added http://apps.sourceforge.net/mediawiki/tpl/[tpl wiki]
Version 1.2 (2007-04-27)
--------------------------
* Perl API and XML converter support 64-bit types
Version 1.1 (2007-04-25)
--------------------------
* support for serializing C structures
* support for serializing fixed-length arrays
* MinGW support (thanks, Horea Haitonic!)
* revised User Guide
Version 1.0 (2006-09-28)
--------------------------
* Initial version
// vim: set tw=80 wm=2 nowrap syntax=asciidoc:
tpl-1.6.1/doc/Makefile 0000664 0000000 0000000 00000000454 12301440175 0014523 0 ustar 00root root 0000000 0000000 HTML=$(patsubst %.txt,%.html,$(wildcard *.txt))
all: $(HTML)
# when each target of a multi-target rule has its own prereq
# we use a static pattern rule.
$(HTML): %.html: %.txt
asciidoc -a toc2 $<
TMP=/tmp/tpl-gh-pages
stage:
mkdir -p ${TMP}
rm -if ${TMP}/*
cp *.html *.css *.png ${TMP}
tpl-1.6.1/doc/banner.png 0000664 0000000 0000000 00000057101 12301440175 0015037 0 ustar 00root root 0000000 0000000 PNG
IHDR Q D bKGD pHYs tIMEA IDATxwևߞY%
(r
WQiW159bBtQJXD*Qr9oQ53=yfyJ}Sф8l pB: bºk*ьc!9]+uEV8.4{oOt+6o}#("g&A52uLC w{ohԱ{?~Nw[w0҆Lkh}DbDqq[4uyyW}!/['~د.s7]|`JFK{jQG
(EK\R2wO$f`w y3u|ⷯ8G`xfs6 PD}%[~O~o /ǂB{R|y>惟B44 u=۷Om+ul??c}W)>^}=CQRB_#c"S[*F1/ D呍:~Wmj =w-
O^3T}|Cd6|oaG~^-.4tXBGn7x}PYrS`Ϝ-?\a;~'tc#Lڍہt
+^> Q@/^?j:9ddd}&.Xa'`P9%HNR$tfHz4[>`.
'X_L;gxd+&JvK'wZsRlߜ;1%:J
o3̫iɣC[je vE~q&AEDpd$&"@;)Infjk 3npyeL0G[U+.Kbl8Esv3pe0'r%S\RP %w "hY2-$?!r%:͒<32DR2k"WQ`dTIn4&ÿ~B|; mȃhrU!p.\X`=