Menu

Tree [12869d] master /
 History

HTTPS access


File Date Author Commit
 .github 2024-02-20 Dirk Stolle Dirk Stolle [6328ca] ci: test on more compiler versions
 archive 2021-11-17 Dirk Stolle Dirk Stolle [8863ab] adjustments to get rid of compiler warnings; st...
 ci 2022-12-05 Dirk Stolle Dirk Stolle [3530bd] update project and CMake files
 cmake 2017-06-04 Dirk Stolle Dirk Stolle [0e2cf5] add class for handling InstallShield CAB files
 common 6 days ago Dirk Stolle Dirk Stolle [12869d] fix a typo
 encoding 2021-11-17 Dirk Stolle Dirk Stolle [8863ab] adjustments to get rid of compiler warnings; st...
 filesystem 2024-02-20 Dirk Stolle Dirk Stolle [c725a0] add missing header include for time_t type
 hash 2016-08-05 Thoronador Thoronador [261185] rename library + adjust name in copyright notice
 os 2016-08-05 Thoronador Thoronador [261185] rename library + adjust name in copyright notice
 procfs 2021-11-17 Dirk Stolle Dirk Stolle [9d2f5c] shorten namespace declarations, update document...
 tests 2024-05-29 Dirk Stolle Dirk Stolle [03046f] remove outdated comments in CMake files
 zlib 2023-01-26 Dirk Stolle Dirk Stolle [0a87f1] modernize documentation + code style in zlib co...
 .gitignore 2012-05-26 Thoronador Thoronador [7adb49] added .gitignore file for cpp directory
 .gitlab-ci.yml 2021-11-16 Dirk Stolle Dirk Stolle [8922e3] breaking change: remove glfw GUI code
 CMakeLists.txt 2024-05-29 Dirk Stolle Dirk Stolle [03046f] remove outdated comments in CMake files
 CONTRIBUTING.md 2021-04-15 Dirk Stolle Dirk Stolle [79bd9e] add contribution guidelines
 LICENSE 2021-11-17 Dirk Stolle Dirk Stolle [e3ff88] rename license file to LICENSE
 readme.md 2024-05-29 Dirk Stolle Dirk Stolle [eba550] update readme files
 readme.txt 2024-05-29 Dirk Stolle Dirk Stolle [eba550] update readme files

Read Me

libstriezel

This is the libstriezel repository (formerly known as libthoro).
It contains code that is shared (or potentially shared) between multiple
projects by striezel (hence the name). All code is in C++, some classes use
low-level C libraries, but encapsulate them. Let's shove the dirt under the
carpet, right where it belongs.

Build status

GitLab pipeline status
GitHub Actions status

License

Most code is licensed under the GNU General Public License v3 as published by
the Free Software Foundation. A few individual files might use other
non-copyleft licenses, e.g. the MIT/X11 license. These files will have an
appropriate notice attached. However, any of those licenses should be
compatible with the GPL v3.

Contents

Here is a short overview over the contents of the various directories. If you
want details about the classes, just look into the source code. Most of it is
documented well enough to understand it from the documentation alone.

  • archive/7z/ - classes to read 7-Zip archives
  • archive/ar/ - classes to read Ar archives
  • archive/cab/ - classes to read Microsoft Cabinet archives
  • archive/gzip/ - classes to uncompress GZIP files
  • archive/iso9660/ - classes to read ISO 9660 disk images
  • archive/rar/ - classes to read Roschal archives (limited support only,
    due to the proprietary format of those archives)
  • archive/tar/ - classes to read tape archives (*.tar)
  • archive/xz/ - classes to read XZ archives
  • archive/zip/ - classes to read ZIP archives
  • ci/ - contains script(s) for continuous integration
  • cmake/ - files for the CMake build systems
  • common/ - code to do some "common" tasks
  • common/graphics/ - functions + classes to read various image formats
    (e.g. bitmap, JPEG, PNG, binary PPM) and prepare them for use as OpenGL
    textures
  • common/gui/ - incomplete GUI attempt based on GLUT
  • encoding/ - functions to convert strings between different encodings
  • filesystem/ - filesystem-related functions for directories and files
  • hash/ - classes that implement several hash algorithms from the "Secure
    Hash Algorithm" standard as described in FIPS PUB 180-1 and FIPS PUB 180-2;
    namely SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512
  • iso9660/ - classes to read ISO 9660 disk images
  • os/ - class to detect the operating system (main focus on Linux)
  • procfs/ - functions that use the /proc file system from Linux
  • tests/ - test cases for various classes (but unfortunately not all
    classes are covered yet)
  • zlib/ - wrappers for compression and decompression with zlib