Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.2 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > System > Clustering and Distributed Networks

    tpl 1.5

    Download button

    No screenshots available
    Downloads: 940  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Troy Hanson | More programs
    BSD License / FREE
    February 6th, 2010, 18:26 GMT [view history]
    ROOT / System / Clustering and Distributed Networks

     Read user reviews (0)  Refer to a friend  Subscribe

    tpl description

    A binary data interchange format and C API.

    Tpl is a binary data interchange format and C API.

    C programs can use tpl to store or load serialized images of structured C data. The data is stored in its native binary format. The data can consist of the basic C types, binary buffers and strings, and aggregations and arrays. The serialized image is a discrete, strictly-formatted data buffer that can be stored in a file, memory buffer or transmitted via sockets or pipes. It is suited for IPC or data storage.

    Example: Storing an array of integers to file.

    #include "tpl.h"

    int main() {
    tpl_node *tn;
    int i;

    tn = tpl_map( "A(i)", &i );
    for( i=0; i file.xml
    % tplxml file.xml > file.tpl


    Typed, structured data

    Every tpl has a data type, expressed as a format string. A few examples: A(i) is an integer array. A(is) is an array of integer/string pairs. Deeper structure is the same-- an array of integers which each have an array of strings is A(iA(s)).

    Binary data portability

    Tpl addresses binary data portability by transparently applying endian-conversion when necessary. It also prescribes sizes for the supported types. This permits binary data to be shared effectively between machines that use different CPU types. A tpl generated on an 32-bit x86 can be read on a 64-bit Sparc Ultra for example. This is especially useful for socket IPC.

    Full native binary efficiency

    The data within a tpl is never converted unless necessary, so you get the full efficiency of using your data types in their native binary representation. This makes it feasible to deal with very large tpl images (up to 4GB) efficiently. It also uses memory-mapped I/O when reading and writing files to avoid the overhead of copying data through the kernel.


    Product's homepage

    What's New in This Release: [ read full changelog ]

    · 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

      


    TAGS:

    binary data interchange | data interchange | C API | tpl | binary | data

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM