All Projects → calccrypto → tar

calccrypto / tar

Licence: MIT license
A simple tar implementation in C

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to tar

ratarmount
Random Access Read-Only Tar Mount
Stars: ✭ 217 (+143.82%)
Mutual labels:  extract, tar
Decompress
Extracting archives made easy
Stars: ✭ 316 (+255.06%)
Mutual labels:  extract, tar
PLzmaSDK
PLzmaSDK is (Portable, Patched, Package, cross-P-latform) Lzma SDK.
Stars: ✭ 28 (-68.54%)
Mutual labels:  extract, tar
Extrakt
Extract .tar(.gz) using the system binary (fast!), with a javascript fallback (portable!)
Stars: ✭ 19 (-78.65%)
Mutual labels:  extract, tar
Archiver
Easily create & extract archives, and compress & decompress files of various formats
Stars: ✭ 3,373 (+3689.89%)
Mutual labels:  extract, tar
Libarchivejs
Archive library for browsers
Stars: ✭ 145 (+62.92%)
Mutual labels:  extract, tar
Dyld cache extract
A macOS utility to extract dynamic libraries from the dyld_shared_cache of macOS and iOS.
Stars: ✭ 180 (+102.25%)
Mutual labels:  extract
MangDL
The most inefficient Manga downloader for PC
Stars: ✭ 40 (-55.06%)
Mutual labels:  tar
Earth Reverse Engineering
Reversing Google's 3D satellite mode
Stars: ✭ 2,083 (+2240.45%)
Mutual labels:  extract
Me Tools
Tools for working with Intel ME
Stars: ✭ 165 (+85.39%)
Mutual labels:  extract
fastHistory
A python tool connected to your terminal to store important commands, search them in a fast way and automatically paste them into your terminal
Stars: ✭ 24 (-73.03%)
Mutual labels:  commandline-interface
extractor
Compressed files extractor for PHP
Stars: ✭ 23 (-74.16%)
Mutual labels:  tar
Swiftsoup
SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS)
Stars: ✭ 3,079 (+3359.55%)
Mutual labels:  extract
Sass Extract
Extract structured variables from sass files
Stars: ✭ 183 (+105.62%)
Mutual labels:  extract
yellowpages-scraper
Yellowpages.com Web Scraper written in Python and LXML to extract business details available based on a particular category and location.
Stars: ✭ 56 (-37.08%)
Mutual labels:  extract
Extract React Intl Messages
extract react intl messages
Stars: ✭ 174 (+95.51%)
Mutual labels:  extract
DyAnnotationExtractor
DyAnnotationExtractor is software for extracting annotations (highlighted text and comments) from e-documents like PDF.
Stars: ✭ 34 (-61.8%)
Mutual labels:  extract
Pythonvscode
This extension is now maintained in the Microsoft fork.
Stars: ✭ 2,013 (+2161.8%)
Mutual labels:  extract
Datashare
Better analyze information, in all its forms
Stars: ✭ 254 (+185.39%)
Mutual labels:  extract
keyword-extract
简单高效的URL关键词提取工具
Stars: ✭ 15 (-83.15%)
Mutual labels:  extract

A simple tar implementation

Copyright (c) 2015 Jason Lee @ calccrypto at gmail.com

Please see LICENSE file for license.

Build Status

This is only a simple implementation of the tar file format. It can tar files and extract them. That is about it. Although there are some other utility functions written, they are a very small subset that are provided by GNU Tar. Everything was written based on Wikipedia and the observed results of GNU Tar.

This only works on Linux (or Linux-like environment, such as cygwin) due to the sheer number of POSIX header files being used. The minimum C standard needed is C99.

The purpose of this is to be a tar library that can be used inside other programs, so that programs don't have to call or perform the tarring outside of the program (such as with system, exec, or through a script)

To build:

make      - creates libtar.a
make exec - makes the commandline interface 'exec'
make test - tests the commandline interface

Usage:

The library consists of some core functions for basic funtionality, some utility functions that expand on functionality, and some internal functions that should not be called from outside the function.

Core Functions Description
tar_read Read from a tar file. Expects address to a null pointer.
tar_write Write to a tar file. If a non-empty archive is also provided, the new files will be appended to the older data.
tar_free Frees up memory used by existing archive instances.

Utility Functions Description
tar_ls Prints the contents of an archive. Verbosity level changes what is printed.
tar_extract Extracts the contents of an archive. A filter list can be provided to only extract certain files.
tar_update Scans through the current working directory and appends any files that are updates of archive entries.
tar_remove Given a list of entries, removes those entries from the archive.
tar_diff Checks for differences between entries in the archive and the current working directory.

Many of these functions are just wrappers around internal functions. All functions that involve changing the data in a struct tar_t * will take in the address of the archive (struct tar_t **).

If any function that modifies archive variables errors, it is most likely that the data held in the archive variable is no longer valid.

The commandline interface only has a handful of options, each of which runs one or more of the public functions. Type help into the commandline interface to see its usage.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].