The tar Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The tar Reference Manual

This is the tar Reference Manual, version 0.2.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Thu Sep 15 04:13:01 2022 GMT+0.

Table of Contents


1 Introduction

This project provides a high level interface for interacting with tar archives. It consists of several systems that provide different levels of functionality.

NOTE: In order to load tar/create on Windows you need a version of osicat with commits from this PR.

Quickstart

If you want to extract a tar archive, without caring about preserving all the metadata, run the following:

(asdf:load-system "tar/simple-extract")

(tar:with-open-archive (a "/path/to/file.tar")
  (tar-simple-extract:simple-extract-archive a :directory "/path/to/extraction/point/"))

If you want to extract a tar archive, attempting to preserve symbolic links and as much metadata as possible, evaluate the following:

(asdf:load-system "tar/extract")

(tar:with-open-archive (a "/path/to/file.tar")
  (tar-extract:extract-archive a :directory "/path/to/extraction/point/"))

If you want to create a tar archive, attempting to preserve symbolic links and as much metadata as possible, evaluate the following:

(asdf:load-system "tar/create")

(let ((*default-pathname-defaults* #p"/path/to/parent/"))
  (tar:with-open-archive (a "/path/to/file.tar" :direction :output)
    (tar-create:create-archive a '("directory/") :recursep t)))

Systems

tar

The tar system is a thin layer on top of the tar-file system. While tar-file is focused on reading and writing physical entries, tar places an emphasis on reading and writing logical entries.

The practical effect of this is that when using tar, any single object stored in a tar archive (regular file, symlink, etc.) is always represented as a single entry (tar:file-entry, tar:symbolic-link-entry, etc.). This is in contrast to tar-file where a regular file with a long name could be either unrepresentable, a single tar-file:file-entry with a ustar header, a tar-file:pax-extended-attributes-entry followed by a tar-file:file-entry, or a tar-file:gnu-long-name-entry followed by a tar-file:file-entry. tar takes care of generating and interpreting the correct sequence of physical entries, depending on the type of the archive being used.

While this system is useful for reading and writing tar archives, its primary purpose is for the inspection of archives and creating archives whose content does not come directly from the file system. For file system integration, see the remaining systems.

tar/simple-extract

The tar/simple-extract system provides functionality to extract a tar archive to your filesystem. Unfortunately, faithfully extracting tar files onto the filesystem is a complex task and is impossible to perform using only the functionality mandated by the Common Lisp specification.

Therefore, this system does not try to faithfully reproduce the contents of the tar file. This means that it should work on any CL implementation that tar and tar-file does, but the cost is there is information loss.

This system does not support extracting the following entry types:

Additionally, metadata such as file owner, permissions, and modification time are not set.

It is recommended that this extraction method is used only to extract an archive to an empty folder. If that is done with default settings, the extraction process should be fairly safe and predictable. Otherwise, you run the risk of existing symlinks being followed and overwriting arbitrary files on your machine.

tar/extract

The tar/extract system attempts to provide full extraction functionality. As such, it is a much more complex beast and likely does not work on all implementation/OS combinations. Patches are always welcome to make it more portable.

This system does not support extracting the following entry types on Windows:

While it is possible to create symbolic links on Windows, it requires special user permissions and many Windows applications are not designed with symlinks in mind. This makes it both very unlikely that an arbitrary user can create symlinks and very likely that the creation of symlinks would pose a risk to other applications running on the same machine. Hard link support is also possible, but I've rarely seen it and need to do more research before attempting to support it.

While there is much less information loss when extracting an archive using this system, that comes at the cost of increased security concerns when given an untrusted archive as input. For example, a typical attack vector is to write a symlink that points to an arbitrary file on your system and then using that symlink to modify the target.

The goal of this system is to provide default extraction options so that it is safe to extract an untrusted archive into an empty directory and have no way for the extraction process to modify any file that exists outside of that directory. Bug reports and patches are always welcome if you find this goal is not met.

The safety goal is paramount, and as such, the performance of this system is likely not the best. A primary reason is that we want to be robust to the different file systems that are out there (e.g., case insensitive or unicode normalizing), so we (currently) do not rely on caches to determine if a path is safe to write to. The result is that there are many syscalls that happen during extraction. There are probably ways this can be improved and patches are always welcome.

tar/create

The tar/create system produces a tar file from your file system that faithfully reproduces all the metadata. It is a fairly complex beast and might not work on all implementation/OS combinations. Patches are always welcome to make it more portable.

See the docstring for tar-create:create-archive to understand its options.

FAQ

Can I create/extract compressed tar files?

Yes! It supports transparent gzip comporession. On input streams, the first few bytes are examined for magic bytes. On output streams, the pathname is used as a hint. You can override this behavior using the :compression argument to with-open-archive or open-archive.


2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 tar

A high level interface for tar archives

Author

Eric Timmons <eric@timmons.dev>

License

MIT

Version

0.2.3

Dependencies
  • alexandria (system).
  • babel (system).
  • local-time (system).
  • split-sequence (system).
  • tar-file (system)., at least version "0.2.0"
  • uiop (system).
  • 40ants-doc (system).
Source

tar.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.1 tar/tar.asd

Source

tar.asd.

Parent Component

tar (system).

ASDF Systems

tar.


Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.2 tar/archive.lisp

Dependency

package.lisp (file).

Source

tar.asd.

Parent Component

tar (system).

Public Interface
Internals

Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.3 tar/conditions.lisp

Dependency

package.lisp (file).

Source

tar.asd.

Parent Component

tar (system).

Public Interface
Internals

3.1.4 tar/entry.lisp

Dependencies
Source

tar.asd.

Parent Component

tar (system).

Public Interface
Internals

Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.5 tar/gnu-archive.lisp

Dependencies
Source

tar.asd.

Parent Component

tar (system).

Public Interface

gnu-archive (class).

Internals

3.1.6 tar/package.lisp

Source

tar.asd.

Parent Component

tar (system).

Packages

tar.


3.1.7 tar/pax-archive.lisp

Dependencies
Source

tar.asd.

Parent Component

tar (system).

Public Interface

pax-archive (class).

Internals

Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.8 tar/ustar-archive.lisp

Dependencies
Source

tar.asd.

Parent Component

tar (system).

Public Interface

ustar-archive (class).

Internals

3.1.9 tar/utils.lisp

Dependency

package.lisp (file).

Source

tar.asd.

Parent Component

tar (system).

Internals

Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.10 tar/v7-archive.lisp

Dependencies
Source

tar.asd.

Parent Component

tar (system).

Public Interface

v7-archive (class).

Internals

Previous: , Up: Lisp   [Contents][Index]

3.1.11 tar/validation.lisp

Dependencies
Source

tar.asd.

Parent Component

tar (system).

Internals

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 tar

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Public Interface


5.1.1 Macros

Macro: do-entries ((entry archive &optional result) &body body)

Iterate over the entries in ARCHIVE. For each entry, ENTRY is bound to an ENTRY representing the entry. RESULT is returned.

Package

tar.

Source

archive.lisp.

Macro: with-ignored-unsupported-properties ((&optional value) &body body)

Execute BODY in a context where UNSUPPORTED-PROPERTY errors are ignored and VALUE is returned from any attempt to access them.

Package

tar.

Source

conditions.lisp.

Macro: with-open-archive ((archive-var stream-or-path &rest args &key type direction if-exists if-does-not-exist blocking-factor header-encoding compression) &body body)

Evaluate BODY with ARCHIVE-VAR bound to an instance of ARCHIVE. See OPEN-ARCHIVE for more discussion of the arguments. If STREAM-OR-PATH is a path, the underlying stream is closed upon exiting the macro. If it is a stream, it remains open.

Package

tar.

Source

archive.lisp.

Macro: with-truncated-unsupported-values ((&key properties) &body body)

Evaluate BODY in a context where truncatable values are automatically truncated.

Package

tar.

Source

conditions.lisp.


5.1.2 Ordinary functions

Function: ignore-unsupported-property (&optional value condition)

A restart to ignore an UNSUPPORTED-PROPERTY CONDITION. Either returns VALUE from the accessor or silently ignores the attempt to set the value.

Package

tar.

Source

conditions.lisp.

Function: open-archive (stream-or-path &key type direction if-exists if-does-not-exist blocking-factor compression header-encoding)

Create a tar archive object backed by STREAM-OR-PATH. If a stream, it should not be read from or written to any more.

DIRECTION is either :INPUT or :OUTPUT.

BLOCKING-FACTOR is an integer that specifies how many 512-byte blocks should be read from or written to STREAM at any one time.

TYPE is either AUTO or a class designator for a subclass of ARCHIVE. If :AUTO, the appropriate class will be determined by looking at the first tar header.

HEADER-ENCODING is an encoding specifier recognized by Babel.

COMPRESSION determines what compression scheme is used, if any. It can be either :AUTO (the default), NIL (no compression), or :GZIP. If :AUTO, the compression type is determined using the PATHNAME of the stream (for :OUTPUT) or by peeking at the stream for magic numbers (for :INPUT).

Package

tar.

Source

archive.lisp.

Function: truncate-value (&optional condition)

Truncate the value and write it to the archive.

Package

tar.

Source

conditions.lisp.


5.1.3 Generic functions

Generic Reader: archive (object)
Package

tar.

Methods
Reader Method: archive ((entry entry))

automatically generated reader method

Source

entry.lisp.

Target Slot

archive.

Generic Writer: (setf archive) (object)
Package

tar.

Methods
Writer Method: (setf archive) ((entry entry))

automatically generated writer method

Source

entry.lisp.

Target Slot

archive.

Generic Function: atime (entry)

The atime of ENTRY. Returns a TIMESTAMP.

Package

tar.

Source

entry.lisp.

Methods
Reader Method: atime ((entry entry))

automatically generated reader method

Target Slot

atime.

Method: atime :around (entry)
Generic Function: (setf atime) (entry)

Set the atime of ENTRY. VALUE must be a TIMESTAMP.

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf atime) ((entry entry))

automatically generated writer method

Target Slot

atime.

Method: (setf atime) :around (entry)
Generic Function: close-archive (archive)

Close the ARCHIVE, performing any finalization as necessary. If a pathname was passed to OPEN-ARCHIVE, then the underlying stream is closed, otherwise it remains open.

Package

tar.

Source

archive.lisp.

Methods
Method: close-archive ((archive archive))
Generic Function: ctime (entry)

The ctime of ENTRY. Returns a TIMESTAMP.

Package

tar.

Source

entry.lisp.

Methods
Reader Method: ctime ((entry entry))

automatically generated reader method

Target Slot

ctime.

Method: ctime :around (entry)
Generic Function: (setf ctime) (entry)

Set the ctime of ENTRY. VALUE must be a TIMESTAMP.

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf ctime) ((entry entry))

automatically generated writer method

Target Slot

ctime.

Method: (setf ctime) :around (entry)
Generic Reader: devmajor (entry)

The devmajor of ENTRY. Returns a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Reader Method: devmajor ((device-entry device-entry))

automatically generated reader method

Target Slot

devmajor.

Generic Writer: (setf devmajor) (entry)

Set the devmajor of ENTRY. VALUE must be a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf devmajor) ((device-entry device-entry))

automatically generated writer method

Target Slot

devmajor.

Generic Reader: devminor (entry)

The devminor of ENTRY. Returns a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Reader Method: devminor ((device-entry device-entry))

automatically generated reader method

Target Slot

devminor.

Generic Writer: (setf devminor) (entry)

Set the devminor of ENTRY. VALUE must be a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf devminor) ((device-entry device-entry))

automatically generated writer method

Target Slot

devminor.

Generic Reader: gid (entry)

The gid of ENTRY. Returns a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Reader Method: gid ((entry entry))

automatically generated reader method

Target Slot

gid.

Generic Writer: (setf gid) (entry)

Set the gid of ENTRY. VALUE must be a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf gid) ((entry entry))

automatically generated writer method

Target Slot

gid.

Generic Function: gname (entry)

The gname of ENTRY. Returns a STRING.

Package

tar.

Source

entry.lisp.

Methods
Reader Method: gname ((entry entry))

automatically generated reader method

Target Slot

gname.

Method: gname :around (entry)
Generic Function: (setf gname) (entry)

Set the gname of ENTRY. VALUE must be a STRING.

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf gname) ((entry entry))

automatically generated writer method

Target Slot

gname.

Method: (setf gname) :around (entry)
Generic Reader: linkname (entry)

The linkname of ENTRY. Returns a STRING.

Package

tar.

Source

entry.lisp.

Methods
Reader Method: linkname ((link-entry link-entry))

automatically generated reader method

Target Slot

linkname.

Generic Writer: (setf linkname) (entry)

Set the linkname of ENTRY. VALUE must be a STRING.

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf linkname) ((link-entry link-entry))

automatically generated writer method

Target Slot

linkname.

Generic Function: make-entry-stream (entry)

Return a binary stream with the contents of ENTRY. Depending on the the type of stream underlying the archive (if it is seekable or not) and the BLOCKING-FACTOR given to OPEN-ARCHIVE, this may be callable either once or multiple times per entry, may or may not be callable after the next call to READ-ENTRY, and the the returned stream may or may not be readable after the next call to READ-ENTRY.

For maximum compatibility, you should call this only once per ENTRY and completely read from the stream before calling READ-ENTRY again.

Package

tar.

Source

entry.lisp.

Methods
Method: make-entry-stream ((entry has-data-mixin))
Generic Reader: mode (entry)

The mode of ENTRY. Returns a MODE-LIST.

Package

tar.

Source

entry.lisp.

Methods
Reader Method: mode ((entry entry))

automatically generated reader method

Target Slot

mode.

Generic Writer: (setf mode) (entry)

Set the mode of ENTRY. VALUE must be a MODE-LIST.

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf mode) ((entry entry))

automatically generated writer method

Target Slot

mode.

Generic Reader: mtime (entry)

The mtime of ENTRY. Returns a TIMESTAMP.

Package

tar.

Source

entry.lisp.

Methods
Reader Method: mtime ((entry entry))

automatically generated reader method

Target Slot

mtime.

Generic Writer: (setf mtime) (entry)

Set the mtime of ENTRY. VALUE must be a TIMESTAMP.

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf mtime) ((entry entry))

automatically generated writer method

Target Slot

mtime.

Generic Reader: name (entry)

The name of ENTRY. Returns a STRING.

Package

tar.

Source

entry.lisp.

Methods
Reader Method: name ((entry entry))

automatically generated reader method

Target Slot

name.

Generic Writer: (setf name) (entry)

Set the name of ENTRY. VALUE must be a STRING.

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf name) ((entry entry))

automatically generated writer method

Target Slot

name.

Generic Function: read-entry (archive)

Read an ENTRY from ARCHIVE.

Package

tar.

Source

archive.lisp.

Methods
Method: read-entry ((archive archive))
Generic Reader: required-property-missing-name (condition)
Package

tar.

Methods
Reader Method: required-property-missing-name ((condition required-property-missing))
Source

conditions.lisp.

Target Slot

name.

Generic Reader: size (entry)

The size of ENTRY. Returns a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Reader Method: size ((unknown-entry unknown-entry))

automatically generated reader method

Target Slot

size.

Reader Method: size ((directory-entry directory-entry))

automatically generated reader method

Target Slot

size.

Reader Method: size ((file-entry file-entry))

automatically generated reader method

Target Slot

size.

Generic Writer: (setf size) (entry)

Set the size of ENTRY. VALUE must be a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf size) ((unknown-entry unknown-entry))

automatically generated writer method

Target Slot

size.

Writer Method: (setf size) ((directory-entry directory-entry))

automatically generated writer method

Target Slot

size.

Writer Method: (setf size) ((file-entry file-entry))

automatically generated writer method

Target Slot

size.

Generic Reader: uid (entry)

The uid of ENTRY. Returns a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Reader Method: uid ((entry entry))

automatically generated reader method

Target Slot

uid.

Generic Writer: (setf uid) (entry)

Set the uid of ENTRY. VALUE must be a (INTEGER 0).

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf uid) ((entry entry))

automatically generated writer method

Target Slot

uid.

Generic Function: uname (entry)

The uname of ENTRY. Returns a STRING.

Package

tar.

Source

entry.lisp.

Methods
Reader Method: uname ((entry entry))

automatically generated reader method

Target Slot

uname.

Method: uname :around (entry)
Generic Function: (setf uname) (entry)

Set the uname of ENTRY. VALUE must be a STRING.

Package

tar.

Source

entry.lisp.

Methods
Writer Method: (setf uname) ((entry entry))

automatically generated writer method

Target Slot

uname.

Method: (setf uname) :around (entry)
Generic Reader: unsupported-property-value-name (condition)
Package

tar.

Methods
Reader Method: unsupported-property-value-name ((condition unsupported-property-value))
Source

conditions.lisp.

Target Slot

name.

Generic Reader: unsupported-property-value-value (condition)
Package

tar.

Methods
Reader Method: unsupported-property-value-value ((condition unsupported-property-value))
Source

conditions.lisp.

Target Slot

value.

Generic Function: write-entry (archive entry)

Write ENTRY to ARCHIVE.

Package

tar.

Source

archive.lisp.

Methods
Method: write-entry ((archive archive) entry)

5.1.4 Conditions

Condition: property-value-too-long

Signaled when trying to WRITE-ENTRY with a property that is too long for the underlying archive type.

Package

tar.

Source

conditions.lisp.

Direct superclasses

unsupported-property-value.

Condition: required-property-missing

Signaled when trying to WRITE-ENTRY with a required property that is missing.

Package

tar.

Source

conditions.lisp.

Direct superclasses

tar-error.

Direct methods

required-property-missing-name.

Direct slots
Slot: name

The name of the missing property.

Initargs

:name

Readers

required-property-missing-name.

Writers

This slot is read-only.

Condition: tar-condition

The base condition.

Package

tar.

Source

conditions.lisp.

Direct superclasses

condition.

Direct subclasses

tar-error.

Condition: tar-error

The base error condition.

Package

tar.

Source

conditions.lisp.

Direct superclasses
Direct subclasses
Condition: unsupported-property

Signaled when a property is set or accessed that the underlying tar file cannot represent.

Package

tar.

Source

conditions.lisp.

Direct superclasses

tar-error.

Direct methods

unsupported-property-name.

Direct slots
Slot: name

The name of the unsupported property.

Initargs

:name

Readers

unsupported-property-name.

Writers

This slot is read-only.

Condition: unsupported-property-value

Signaled when trying to WRITE-ENTRY with a property that is unsupported by the underlying archive type.

Package

tar.

Source

conditions.lisp.

Direct superclasses

tar-error.

Direct subclasses

property-value-too-long.

Direct methods
Direct slots
Slot: name

The name of the unsupported property.

Initargs

:name

Readers

unsupported-property-value-name.

Writers

This slot is read-only.

Slot: value

The value of the unsupported property.

Initargs

:value

Readers

unsupported-property-value-value.

Writers

This slot is read-only.


Next: , Previous: , Up: Public Interface   [Contents][Index]

5.1.5 Classes

Class: archive

The base class of all archives.

Package

tar.

Source

archive.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: opened-stream
Initargs

:opened-stream

Readers

archive-opened-stream.

Writers

This slot is read-only.

Slot: file
Initargs

:file

Readers

archive-file.

Writers

This slot is read-only.

Slot: direction
Initargs

:direction

Readers

archive-direction.

Writers

This slot is read-only.

Class: block-device-entry

An entry representing a block device.

Package

tar.

Source

entry.lisp.

Direct superclasses

device-entry.

Direct methods

%write-entry.

Class: character-device-entry

An entry representing a character device.

Package

tar.

Source

entry.lisp.

Direct superclasses

device-entry.

Direct methods

%write-entry.

Class: directory-entry

An entry representing a directory.

Package

tar.

Source

entry.lisp.

Direct superclasses

entry.

Direct methods
Direct slots
Slot: size
Type

integer

Initform

0

Initargs

:size

Readers

size.

Writers

(setf size).

Class: entry

The base class of all entry types. Each ENTRY must contain a NAME, MODE, UID, GID, and MTIME. Other common properties are UNAME, GNAME, ATIME, and CTIME.

Package

tar.

Source

entry.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: archive
Initargs

:%archive

Readers

archive.

Writers

(setf archive).

Slot: name
Type

string

Initargs

:name

Readers

name.

Writers

(setf name).

Slot: mode
Type

list

Initargs

:mode

Readers

mode.

Writers

(setf mode).

Slot: uid
Type

(integer 0)

Initargs

:uid

Readers

uid.

Writers

(setf uid).

Slot: gid
Type

(integer 0)

Initargs

:gid

Readers

gid.

Writers

(setf gid).

Slot: uname
Type

(or string null)

Initargs

:uname

Readers

uname.

Writers

(setf uname).

Slot: gname
Type

(or string null)

Initargs

:gname

Readers

gname.

Writers

(setf gname).

Slot: mtime
Type

local-time:timestamp

Initargs

:mtime

Readers

mtime.

Writers

(setf mtime).

Slot: atime
Type

(or local-time:timestamp null)

Initargs

:atime

Readers

atime.

Writers

(setf atime).

Slot: ctime
Type

(or local-time:timestamp null)

Initargs

:ctime

Readers

ctime.

Writers

(setf ctime).

Class: fifo-entry

An entry representing a FIFO.

Package

tar.

Source

entry.lisp.

Direct superclasses

entry.

Direct methods

%write-entry.

Class: file-entry

An entry representing a regular file.

Package

tar.

Source

entry.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: size
Type

integer

Initargs

:size

Readers

size.

Writers

(setf size).

Class: gnu-archive

An archive that uses GNU specific extensions.

Package

tar.

Source

gnu-archive.lisp.

Direct superclasses

archive.

Direct methods

An entry representing a hard link.

Package

tar.

Source

entry.lisp.

Direct superclasses

link-entry.

Direct methods
Class: pax-archive

An archive as specified by POSIX. Uses multiple physical entries to represent a single logical entry when values do not fit into the standard USTAR-ARCHIVE header.

Package

tar.

Source

pax-archive.lisp.

Direct superclasses

ustar-archive.

Direct methods
Direct slots
Slot: default-attributes
Readers

archive-default-attributes.

Writers

This slot is read-only.

An entry representing a symbolic link.

Package

tar.

Source

entry.lisp.

Direct superclasses

link-entry.

Direct methods
Class: ustar-archive

A ustar archive that adds more fields to the header when compared to V7-ARCHIVEs.

Package

tar.

Source

ustar-archive.lisp.

Direct superclasses

archive.

Direct subclasses

pax-archive.

Direct methods
Class: v7-archive

A very early archive format.

Package

tar.

Source

v7-archive.lisp.

Direct superclasses

archive.

Direct methods

Previous: , Up: Public Interface   [Contents][Index]

5.1.6 Types

Type: mode-list ()

A list consisting of a subset of:
(:SET-USER-ID :SET-GROUP-ID :STICKY :USER-READ :USER-WRITE :USER-EXEC :GROUP-READ :GROUP-WRITE :GROUP-EXEC :OTHER-READ :OTHER-WRITE :OTHER-EXEC)

Package

tar.

Source

entry.lisp.


5.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.1 Constants

Constant: +mode-permissions+
Package

tar.

Source

utils.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.2 Macros

Macro: define-entry-property (name type)
Package

tar.

Source

entry.lisp.

Macro: define-optional-entry-property (name type)
Package

tar.

Source

entry.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.3 Ordinary functions

Function: call-with-ignored-unsupported-properties (thunk &optional value)
Package

tar.

Source

conditions.lisp.

Function: call-with-open-archive (thunk stream-or-path &rest args &key type direction if-exists if-does-not-exist blocking-factor header-encoding compression)
Package

tar.

Source

archive.lisp.

Function: call-with-truncated-unsupported-values (thunk properties)
Package

tar.

Source

conditions.lisp.

Function: check-integer-max-value (entry name max-value)
Package

tar.

Source

validation.lisp.

Function: check-required-property (entry name type)
Package

tar.

Source

validation.lisp.

Function: check-string-length (entry name max-length)
Package

tar.

Source

validation.lisp.

Function: check-timestamp (archive entry name)
Package

tar.

Source

validation.lisp.

Function: maybe-truncate (string length)
Package

tar.

Source

utils.lisp.

Function: mode-to-permissions (mode)
Package

tar.

Source

utils.lisp.

Function: permissions-list-p (list)
Package

tar.

Source

entry.lisp.

Function: permissions-to-mode (permissions)
Package

tar.

Source

utils.lisp.

Function: split-name (name)
Package

tar.

Source

ustar-archive.lisp.

Function: string-to-timestamp (string)
Package

tar.

Source

utils.lisp.

Function: tar-file-entry-with-prefix-name (entry)
Package

tar.

Source

utils.lisp.

Function: timestamp-to-string (timestamp)
Package

tar.

Source

utils.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.4 Generic functions

Generic Function: %write-entry (archive entry &rest overrides)
Package

tar.

Source

archive.lisp.

Methods
Method: %write-entry ((archive v7-archive) (entry hard-link-entry) &rest overrides)
Source

v7-archive.lisp.

Method: %write-entry ((archive v7-archive) (entry symbolic-link-entry) &rest overrides)
Source

v7-archive.lisp.

Method: %write-entry ((archive v7-archive) (entry directory-entry) &rest overrides)
Source

v7-archive.lisp.

Method: %write-entry ((archive v7-archive) (entry file-entry) &rest overrides)
Source

v7-archive.lisp.

Method: %write-entry ((archive ustar-archive) (entry character-device-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: %write-entry ((archive ustar-archive) (entry block-device-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: %write-entry ((archive ustar-archive) (entry fifo-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: %write-entry ((archive ustar-archive) (entry hard-link-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: %write-entry ((archive ustar-archive) (entry symbolic-link-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: %write-entry ((archive ustar-archive) (entry directory-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: %write-entry ((archive ustar-archive) (entry file-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: %write-entry ((archive pax-archive) entry &rest overrides)
Source

pax-archive.lisp.

Generic Reader: archive-default-attributes (object)
Package

tar.

Methods
Reader Method: archive-default-attributes ((pax-archive pax-archive))

automatically generated reader method

Source

pax-archive.lisp.

Target Slot

default-attributes.

Generic Reader: archive-direction (object)
Package

tar.

Methods
Reader Method: archive-direction ((archive archive))

automatically generated reader method

Source

archive.lisp.

Target Slot

direction.

Generic Reader: archive-file (object)
Package

tar.

Methods
Reader Method: archive-file ((archive archive))

automatically generated reader method

Source

archive.lisp.

Target Slot

file.

Generic Reader: archive-opened-stream (object)
Package

tar.

Methods
Reader Method: archive-opened-stream ((archive archive))

automatically generated reader method

Source

archive.lisp.

Target Slot

opened-stream.

Generic Function: archive-supports-negative-time-p (archive)
Package

tar.

Source

validation.lisp.

Methods
Method: archive-supports-negative-time-p ((archive v7-archive))
Source

v7-archive.lisp.

Method: archive-supports-negative-time-p ((archive ustar-archive))
Source

ustar-archive.lisp.

Method: archive-supports-negative-time-p ((archive pax-archive))
Source

pax-archive.lisp.

Generic Function: archive-supports-property-p (archive property)
Package

tar.

Source

archive.lisp.

Methods
Method: archive-supports-property-p ((archive ustar-archive) property)
Source

ustar-archive.lisp.

Method: archive-supports-property-p ((archive pax-archive) property)
Source

pax-archive.lisp.

Method: archive-supports-property-p ((archive gnu-archive) property)
Source

gnu-archive.lisp.

Method: archive-supports-property-p ((archive archive) property)
Generic Function: archive-supports-sub-seconds-p (archive)
Package

tar.

Source

validation.lisp.

Methods
Method: archive-supports-sub-seconds-p ((archive v7-archive))
Source

v7-archive.lisp.

Method: archive-supports-sub-seconds-p ((archive ustar-archive))
Source

ustar-archive.lisp.

Method: archive-supports-sub-seconds-p ((archive pax-archive))
Source

pax-archive.lisp.

Generic Function: archive-type-to-tar-file-type (type)
Package

tar.

Source

archive.lisp.

Methods
Method: archive-type-to-tar-file-type ((type (eql :auto)))
Method: archive-type-to-tar-file-type ((type (eql tar:v7-archive)))
Method: archive-type-to-tar-file-type ((type (eql :v7)))
Method: archive-type-to-tar-file-type ((type (eql tar:ustar-archive)))
Method: archive-type-to-tar-file-type ((type (eql :ustar)))
Method: archive-type-to-tar-file-type ((type (eql tar:pax-archive)))
Method: archive-type-to-tar-file-type ((type (eql :pax)))
Method: archive-type-to-tar-file-type ((type (eql tar:gnu-archive)))
Method: archive-type-to-tar-file-type ((type (eql :gnu)))
Generic Function: check-properties (archive entry)

Check that all properties defined in ENTRY are supported by ARCHIVE.

Package

tar.

Source

validation.lisp.

Methods
Method: check-properties ((archive archive) (entry entry))
Generic Function: check-property-for-writing (archive entry name)
Package

tar.

Source

validation.lisp.

Methods
Method: check-property-for-writing ((archive ustar-archive) (entry entry) (name (eql tar:name)))
Source

ustar-archive.lisp.

Method: check-property-for-writing ((archive pax-archive) (entry entry) (name (eql tar:gname)))
Source

pax-archive.lisp.

Method: check-property-for-writing ((archive pax-archive) (entry entry) (name (eql tar:uname)))
Source

pax-archive.lisp.

Method: check-property-for-writing ((archive pax-archive) (entry link-entry) (name (eql tar:linkname)))
Source

pax-archive.lisp.

Method: check-property-for-writing ((archive pax-archive) (entry entry) (name (eql tar:size)))
Source

pax-archive.lisp.

Method: check-property-for-writing ((archive pax-archive) (entry entry) (name (eql tar:gid)))
Source

pax-archive.lisp.

Method: check-property-for-writing ((archive pax-archive) (entry entry) (name (eql tar:uid)))
Source

pax-archive.lisp.

Method: check-property-for-writing ((archive pax-archive) (entry entry) (name (eql tar:mode)))
Source

pax-archive.lisp.

Method: check-property-for-writing ((archive pax-archive) (entry entry) (name (eql tar:name)))
Source

pax-archive.lisp.

Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:ctime)))
Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:atime)))
Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:gname)))
Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:uname)))
Method: check-property-for-writing ((archive archive) (entry link-entry) (name (eql tar:linkname)))
Method: check-property-for-writing ((archive archive) (entry device-entry) (name (eql tar:devminor)))
Method: check-property-for-writing ((archive archive) (entry device-entry) (name (eql tar:devmajor)))
Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:size)))
Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:mtime)))
Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:gid)))
Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:uid)))
Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:mode)))
Method: check-property-for-writing ((archive archive) (entry entry) (name (eql tar:name)))
Generic Function: convert-from-physical-entry (archive physical-entry &rest overrides)
Package

tar.

Source

archive.lisp.

Methods
Method: convert-from-physical-entry ((archive v7-archive) (physical-entry hard-link-entry) &rest overrides)
Source

v7-archive.lisp.

Method: convert-from-physical-entry ((archive v7-archive) (physical-entry symbolic-link-entry) &rest overrides)
Source

v7-archive.lisp.

Method: convert-from-physical-entry ((archive v7-archive) (physical-entry directory-entry) &rest overrides)
Source

v7-archive.lisp.

Method: convert-from-physical-entry ((archive v7-archive) (physical-entry file-entry) &rest overrides)
Source

v7-archive.lisp.

Method: convert-from-physical-entry ((archive ustar-archive) (physical-entry fifo-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: convert-from-physical-entry ((archive ustar-archive) (physical-entry block-device-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: convert-from-physical-entry ((archive ustar-archive) (physical-entry character-device-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: convert-from-physical-entry ((archive ustar-archive) (physical-entry hard-link-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: convert-from-physical-entry ((archive ustar-archive) (physical-entry symbolic-link-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: convert-from-physical-entry ((archive ustar-archive) (physical-entry directory-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: convert-from-physical-entry ((archive ustar-archive) (physical-entry file-entry) &rest overrides)
Source

ustar-archive.lisp.

Method: convert-from-physical-entry ((archive pax-archive) (physical-entry pax-extended-attributes-entry) &rest overrides)
Source

pax-archive.lisp.

Method: convert-from-physical-entry ((archive pax-archive) (physical-entry pax-global-attributes-entry) &rest overrides)
Source

pax-archive.lisp.

Method: convert-from-physical-entry ((archive gnu-archive) (physical-entry fifo-entry) &rest overrides)
Source

gnu-archive.lisp.

Method: convert-from-physical-entry ((archive gnu-archive) (physical-entry block-device-entry) &rest overrides)
Source

gnu-archive.lisp.

Method: convert-from-physical-entry ((archive gnu-archive) (physical-entry character-device-entry) &rest overrides)
Source

gnu-archive.lisp.

Method: convert-from-physical-entry ((archive gnu-archive) (physical-entry hard-link-entry) &rest overrides)
Source

gnu-archive.lisp.

Method: convert-from-physical-entry ((archive gnu-archive) (physical-entry symbolic-link-entry) &rest overrides)
Source

gnu-archive.lisp.

Method: convert-from-physical-entry ((archive gnu-archive) (physical-entry directory-entry) &rest overrides)
Source

gnu-archive.lisp.

Method: convert-from-physical-entry ((archive gnu-archive) (physical-entry file-entry) &rest overrides)
Source

gnu-archive.lisp.

Method: convert-from-physical-entry ((archive gnu-archive) (physical-entry gnu-long-link-name-entry) &rest overrides)
Source

gnu-archive.lisp.

Method: convert-from-physical-entry ((archive gnu-archive) (physical-entry gnu-long-name-entry) &rest overrides)
Source

gnu-archive.lisp.

Generic Reader: data (object)
Package

tar.

Methods
Reader Method: data ((has-data-mixin has-data-mixin))

automatically generated reader method

Source

entry.lisp.

Target Slot

data.

Generic Function: entry-property-slot-names (entry)
Package

tar.

Source

entry.lisp.

Method Combination

append.

Options

:most-specific-first

Methods
Method: entry-property-slot-names append ((entry unknown-entry))
Method: entry-property-slot-names append ((entry device-entry))
Method: entry-property-slot-names append ((entry link-entry))
Method: entry-property-slot-names append ((entry directory-entry))
Method: entry-property-slot-names append ((entry file-entry))
Method: entry-property-slot-names append ((entry entry))
Generic Function: integer-max-value (archive name)
Package

tar.

Source

validation.lisp.

Methods
Method: integer-max-value ((archive v7-archive) (name (eql tar:gid)))
Source

v7-archive.lisp.

Method: integer-max-value ((archive v7-archive) (name (eql tar:uid)))
Source

v7-archive.lisp.

Method: integer-max-value ((archive v7-archive) (name (eql tar:size)))
Source

v7-archive.lisp.

Method: integer-max-value ((archive ustar-archive) (name (eql tar:devminor)))
Source

ustar-archive.lisp.

Method: integer-max-value ((archive ustar-archive) (name (eql tar:devmajor)))
Source

ustar-archive.lisp.

Method: integer-max-value ((archive ustar-archive) (name (eql tar:gid)))
Source

ustar-archive.lisp.

Method: integer-max-value ((archive ustar-archive) (name (eql tar:uid)))
Source

ustar-archive.lisp.

Method: integer-max-value ((archive ustar-archive) (name (eql tar:size)))
Source

ustar-archive.lisp.

Generic Reader: physical-entry (object)
Package

tar.

Methods
Reader Method: physical-entry ((has-data-mixin has-data-mixin))

automatically generated reader method

Source

entry.lisp.

Target Slot

physical-entry.

Generic Function: string-max-length (archive name)
Package

tar.

Source

validation.lisp.

Methods
Method: string-max-length ((archive v7-archive) (name (eql tar:linkname)))
Source

v7-archive.lisp.

Method: string-max-length ((archive v7-archive) (name (eql tar:name)))
Source

v7-archive.lisp.

Method: string-max-length ((archive ustar-archive) (name (eql tar:linkname)))
Source

ustar-archive.lisp.

Method: string-max-length ((archive ustar-archive) (name (eql tar:name)))
Source

ustar-archive.lisp.

Method: string-max-length ((archive ustar-archive) (name (eql tar:gname)))
Source

ustar-archive.lisp.

Method: string-max-length ((archive ustar-archive) (name (eql tar:uname)))
Source

ustar-archive.lisp.

Generic Function: tar-file-to-archive-type (tar-file)
Package

tar.

Source

archive.lisp.

Methods
Method: tar-file-to-archive-type ((tar-file v7-tar-file))
Method: tar-file-to-archive-type ((tar-file ustar-tar-file))

We don’t know if this will ever have PAX headers, so upgrade to PAX-ARCHIVE.

Method: tar-file-to-archive-type ((tar-file gnu-tar-file))
Generic Reader: unbound-property-name (condition)
Package

tar.

Methods
Reader Method: unbound-property-name ((condition unbound-property))
Source

conditions.lisp.

Target Slot

name.

Generic Reader: unsupported-property-name (condition)
Package

tar.

Methods
Reader Method: unsupported-property-name ((condition unsupported-property))
Source

conditions.lisp.

Target Slot

name.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.5 Conditions

Condition: unbound-property

Signaled when a property is accessed that is unbound.

Package

tar.

Source

conditions.lisp.

Direct superclasses

tar-error.

Direct methods

unbound-property-name.

Direct slots
Slot: name

The name of the unbound property.

Initargs

:name

Readers

unbound-property-name.

Writers

This slot is read-only.


Previous: , Up: Internals   [Contents][Index]

5.2.6 Classes

Class: device-entry
Package

tar.

Source

entry.lisp.

Direct superclasses

entry.

Direct subclasses
Direct methods
Direct slots
Slot: devmajor
Type

integer

Initargs

:devmajor

Readers

devmajor.

Writers

(setf devmajor).

Slot: devminor
Type

integer

Initargs

:devminor

Readers

devminor.

Writers

(setf devminor).

Class: has-data-mixin
Package

tar.

Source

entry.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: physical-entry
Initargs

:%physical-entry

Readers

physical-entry.

Writers

This slot is read-only.

Slot: data
Initargs

:data

Readers

data.

Writers

This slot is read-only.

Package

tar.

Source

entry.lisp.

Direct superclasses

entry.

Direct subclasses
Direct methods
Direct slots
Slot: linkname
Type

string

Initargs

:linkname

Readers

linkname.

Writers

(setf linkname).

Class: unknown-entry

An entry representing an unknown entry.

Package

tar.

Source

entry.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: size
Type

integer

Initargs

:size

Readers

size.

Writers

(setf size).


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   C   D   E   F   G   I   L   M   N   O   P   R   S   T   U   W  
Index Entry  Section

%
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions
%write-entry: Private generic functions

(
(setf archive): Public generic functions
(setf archive): Public generic functions
(setf atime): Public generic functions
(setf atime): Public generic functions
(setf atime): Public generic functions
(setf ctime): Public generic functions
(setf ctime): Public generic functions
(setf ctime): Public generic functions
(setf devmajor): Public generic functions
(setf devmajor): Public generic functions
(setf devminor): Public generic functions
(setf devminor): Public generic functions
(setf gid): Public generic functions
(setf gid): Public generic functions
(setf gname): Public generic functions
(setf gname): Public generic functions
(setf gname): Public generic functions
(setf linkname): Public generic functions
(setf linkname): Public generic functions
(setf mode): Public generic functions
(setf mode): Public generic functions
(setf mtime): Public generic functions
(setf mtime): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf size): Public generic functions
(setf size): Public generic functions
(setf size): Public generic functions
(setf size): Public generic functions
(setf uid): Public generic functions
(setf uid): Public generic functions
(setf uname): Public generic functions
(setf uname): Public generic functions
(setf uname): Public generic functions

A
archive: Public generic functions
archive: Public generic functions
archive-default-attributes: Private generic functions
archive-default-attributes: Private generic functions
archive-direction: Private generic functions
archive-direction: Private generic functions
archive-file: Private generic functions
archive-file: Private generic functions
archive-opened-stream: Private generic functions
archive-opened-stream: Private generic functions
archive-supports-negative-time-p: Private generic functions
archive-supports-negative-time-p: Private generic functions
archive-supports-negative-time-p: Private generic functions
archive-supports-negative-time-p: Private generic functions
archive-supports-property-p: Private generic functions
archive-supports-property-p: Private generic functions
archive-supports-property-p: Private generic functions
archive-supports-property-p: Private generic functions
archive-supports-property-p: Private generic functions
archive-supports-sub-seconds-p: Private generic functions
archive-supports-sub-seconds-p: Private generic functions
archive-supports-sub-seconds-p: Private generic functions
archive-supports-sub-seconds-p: Private generic functions
archive-type-to-tar-file-type: Private generic functions
archive-type-to-tar-file-type: Private generic functions
archive-type-to-tar-file-type: Private generic functions
archive-type-to-tar-file-type: Private generic functions
archive-type-to-tar-file-type: Private generic functions
archive-type-to-tar-file-type: Private generic functions
archive-type-to-tar-file-type: Private generic functions
archive-type-to-tar-file-type: Private generic functions
archive-type-to-tar-file-type: Private generic functions
archive-type-to-tar-file-type: Private generic functions
atime: Public generic functions
atime: Public generic functions
atime: Public generic functions

C
call-with-ignored-unsupported-properties: Private ordinary functions
call-with-open-archive: Private ordinary functions
call-with-truncated-unsupported-values: Private ordinary functions
check-integer-max-value: Private ordinary functions
check-properties: Private generic functions
check-properties: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-property-for-writing: Private generic functions
check-required-property: Private ordinary functions
check-string-length: Private ordinary functions
check-timestamp: Private ordinary functions
close-archive: Public generic functions
close-archive: Public generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
convert-from-physical-entry: Private generic functions
ctime: Public generic functions
ctime: Public generic functions
ctime: Public generic functions

D
data: Private generic functions
data: Private generic functions
define-entry-property: Private macros
define-optional-entry-property: Private macros
devmajor: Public generic functions
devmajor: Public generic functions
devminor: Public generic functions
devminor: Public generic functions
do-entries: Public macros

E
entry-property-slot-names: Private generic functions
entry-property-slot-names: Private generic functions
entry-property-slot-names: Private generic functions
entry-property-slot-names: Private generic functions
entry-property-slot-names: Private generic functions
entry-property-slot-names: Private generic functions
entry-property-slot-names: Private generic functions

F
Function, call-with-ignored-unsupported-properties: Private ordinary functions
Function, call-with-open-archive: Private ordinary functions
Function, call-with-truncated-unsupported-values: Private ordinary functions
Function, check-integer-max-value: Private ordinary functions
Function, check-required-property: Private ordinary functions
Function, check-string-length: Private ordinary functions
Function, check-timestamp: Private ordinary functions
Function, ignore-unsupported-property: Public ordinary functions
Function, maybe-truncate: Private ordinary functions
Function, mode-to-permissions: Private ordinary functions
Function, open-archive: Public ordinary functions
Function, permissions-list-p: Private ordinary functions
Function, permissions-to-mode: Private ordinary functions
Function, split-name: Private ordinary functions
Function, string-to-timestamp: Private ordinary functions
Function, tar-file-entry-with-prefix-name: Private ordinary functions
Function, timestamp-to-string: Private ordinary functions
Function, truncate-value: Public ordinary functions

G
Generic Function, %write-entry: Private generic functions
Generic Function, (setf archive): Public generic functions
Generic Function, (setf atime): Public generic functions
Generic Function, (setf ctime): Public generic functions
Generic Function, (setf devmajor): Public generic functions
Generic Function, (setf devminor): Public generic functions
Generic Function, (setf gid): Public generic functions
Generic Function, (setf gname): Public generic functions
Generic Function, (setf linkname): Public generic functions
Generic Function, (setf mode): Public generic functions
Generic Function, (setf mtime): Public generic functions
Generic Function, (setf name): Public generic functions
Generic Function, (setf size): Public generic functions
Generic Function, (setf uid): Public generic functions
Generic Function, (setf uname): Public generic functions
Generic Function, archive: Public generic functions
Generic Function, archive-default-attributes: Private generic functions
Generic Function, archive-direction: Private generic functions
Generic Function, archive-file: Private generic functions
Generic Function, archive-opened-stream: Private generic functions
Generic Function, archive-supports-negative-time-p: Private generic functions
Generic Function, archive-supports-property-p: Private generic functions
Generic Function, archive-supports-sub-seconds-p: Private generic functions
Generic Function, archive-type-to-tar-file-type: Private generic functions
Generic Function, atime: Public generic functions
Generic Function, check-properties: Private generic functions
Generic Function, check-property-for-writing: Private generic functions
Generic Function, close-archive: Public generic functions
Generic Function, convert-from-physical-entry: Private generic functions
Generic Function, ctime: Public generic functions
Generic Function, data: Private generic functions
Generic Function, devmajor: Public generic functions
Generic Function, devminor: Public generic functions
Generic Function, entry-property-slot-names: Private generic functions
Generic Function, gid: Public generic functions
Generic Function, gname: Public generic functions
Generic Function, integer-max-value: Private generic functions
Generic Function, linkname: Public generic functions
Generic Function, make-entry-stream: Public generic functions
Generic Function, mode: Public generic functions
Generic Function, mtime: Public generic functions
Generic Function, name: Public generic functions
Generic Function, physical-entry: Private generic functions
Generic Function, read-entry: Public generic functions
Generic Function, required-property-missing-name: Public generic functions
Generic Function, size: Public generic functions
Generic Function, string-max-length: Private generic functions
Generic Function, tar-file-to-archive-type: Private generic functions
Generic Function, uid: Public generic functions
Generic Function, uname: Public generic functions
Generic Function, unbound-property-name: Private generic functions
Generic Function, unsupported-property-name: Private generic functions
Generic Function, unsupported-property-value-name: Public generic functions
Generic Function, unsupported-property-value-value: Public generic functions
Generic Function, write-entry: Public generic functions
gid: Public generic functions
gid: Public generic functions
gname: Public generic functions
gname: Public generic functions
gname: Public generic functions

I
ignore-unsupported-property: Public ordinary functions
integer-max-value: Private generic functions
integer-max-value: Private generic functions
integer-max-value: Private generic functions
integer-max-value: Private generic functions
integer-max-value: Private generic functions
integer-max-value: Private generic functions
integer-max-value: Private generic functions
integer-max-value: Private generic functions
integer-max-value: Private generic functions

L
linkname: Public generic functions
linkname: Public generic functions

M
Macro, define-entry-property: Private macros
Macro, define-optional-entry-property: Private macros
Macro, do-entries: Public macros
Macro, with-ignored-unsupported-properties: Public macros
Macro, with-open-archive: Public macros
Macro, with-truncated-unsupported-values: Public macros
make-entry-stream: Public generic functions
make-entry-stream: Public generic functions
maybe-truncate: Private ordinary functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, %write-entry: Private generic functions
Method, (setf archive): Public generic functions
Method, (setf atime): Public generic functions
Method, (setf atime): Public generic functions
Method, (setf ctime): Public generic functions
Method, (setf ctime): Public generic functions
Method, (setf devmajor): Public generic functions
Method, (setf devminor): Public generic functions
Method, (setf gid): Public generic functions
Method, (setf gname): Public generic functions
Method, (setf gname): Public generic functions
Method, (setf linkname): Public generic functions
Method, (setf mode): Public generic functions
Method, (setf mtime): Public generic functions
Method, (setf name): Public generic functions
Method, (setf size): Public generic functions
Method, (setf size): Public generic functions
Method, (setf size): Public generic functions
Method, (setf uid): Public generic functions
Method, (setf uname): Public generic functions
Method, (setf uname): Public generic functions
Method, archive: Public generic functions
Method, archive-default-attributes: Private generic functions
Method, archive-direction: Private generic functions
Method, archive-file: Private generic functions
Method, archive-opened-stream: Private generic functions
Method, archive-supports-negative-time-p: Private generic functions
Method, archive-supports-negative-time-p: Private generic functions
Method, archive-supports-negative-time-p: Private generic functions
Method, archive-supports-property-p: Private generic functions
Method, archive-supports-property-p: Private generic functions
Method, archive-supports-property-p: Private generic functions
Method, archive-supports-property-p: Private generic functions
Method, archive-supports-sub-seconds-p: Private generic functions
Method, archive-supports-sub-seconds-p: Private generic functions
Method, archive-supports-sub-seconds-p: Private generic functions
Method, archive-type-to-tar-file-type: Private generic functions
Method, archive-type-to-tar-file-type: Private generic functions
Method, archive-type-to-tar-file-type: Private generic functions
Method, archive-type-to-tar-file-type: Private generic functions
Method, archive-type-to-tar-file-type: Private generic functions
Method, archive-type-to-tar-file-type: Private generic functions
Method, archive-type-to-tar-file-type: Private generic functions
Method, archive-type-to-tar-file-type: Private generic functions
Method, archive-type-to-tar-file-type: Private generic functions
Method, atime: Public generic functions
Method, atime: Public generic functions
Method, check-properties: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, check-property-for-writing: Private generic functions
Method, close-archive: Public generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, convert-from-physical-entry: Private generic functions
Method, ctime: Public generic functions
Method, ctime: Public generic functions
Method, data: Private generic functions
Method, devmajor: Public generic functions
Method, devminor: Public generic functions
Method, entry-property-slot-names: Private generic functions
Method, entry-property-slot-names: Private generic functions
Method, entry-property-slot-names: Private generic functions
Method, entry-property-slot-names: Private generic functions
Method, entry-property-slot-names: Private generic functions
Method, entry-property-slot-names: Private generic functions
Method, gid: Public generic functions
Method, gname: Public generic functions
Method, gname: Public generic functions
Method, integer-max-value: Private generic functions
Method, integer-max-value: Private generic functions
Method, integer-max-value: Private generic functions
Method, integer-max-value: Private generic functions
Method, integer-max-value: Private generic functions
Method, integer-max-value: Private generic functions
Method, integer-max-value: Private generic functions
Method, integer-max-value: Private generic functions
Method, linkname: Public generic functions
Method, make-entry-stream: Public generic functions
Method, mode: Public generic functions
Method, mtime: Public generic functions
Method, name: Public generic functions
Method, physical-entry: Private generic functions
Method, read-entry: Public generic functions
Method, required-property-missing-name: Public generic functions
Method, size: Public generic functions
Method, size: Public generic functions
Method, size: Public generic functions
Method, string-max-length: Private generic functions
Method, string-max-length: Private generic functions
Method, string-max-length: Private generic functions
Method, string-max-length: Private generic functions
Method, string-max-length: Private generic functions
Method, string-max-length: Private generic functions
Method, tar-file-to-archive-type: Private generic functions
Method, tar-file-to-archive-type: Private generic functions
Method, tar-file-to-archive-type: Private generic functions
Method, uid: Public generic functions
Method, uname: Public generic functions
Method, uname: Public generic functions
Method, unbound-property-name: Private generic functions
Method, unsupported-property-name: Private generic functions
Method, unsupported-property-value-name: Public generic functions
Method, unsupported-property-value-value: Public generic functions
Method, write-entry: Public generic functions
mode: Public generic functions
mode: Public generic functions
mode-to-permissions: Private ordinary functions
mtime: Public generic functions
mtime: Public generic functions

N
name: Public generic functions
name: Public generic functions

O
open-archive: Public ordinary functions

P
permissions-list-p: Private ordinary functions
permissions-to-mode: Private ordinary functions
physical-entry: Private generic functions
physical-entry: Private generic functions

R
read-entry: Public generic functions
read-entry: Public generic functions
required-property-missing-name: Public generic functions
required-property-missing-name: Public generic functions

S
size: Public generic functions
size: Public generic functions
size: Public generic functions
size: Public generic functions
split-name: Private ordinary functions
string-max-length: Private generic functions
string-max-length: Private generic functions
string-max-length: Private generic functions
string-max-length: Private generic functions
string-max-length: Private generic functions
string-max-length: Private generic functions
string-max-length: Private generic functions
string-to-timestamp: Private ordinary functions

T
tar-file-entry-with-prefix-name: Private ordinary functions
tar-file-to-archive-type: Private generic functions
tar-file-to-archive-type: Private generic functions
tar-file-to-archive-type: Private generic functions
tar-file-to-archive-type: Private generic functions
timestamp-to-string: Private ordinary functions
truncate-value: Public ordinary functions

U
uid: Public generic functions
uid: Public generic functions
uname: Public generic functions
uname: Public generic functions
uname: Public generic functions
unbound-property-name: Private generic functions
unbound-property-name: Private generic functions
unsupported-property-name: Private generic functions
unsupported-property-name: Private generic functions
unsupported-property-value-name: Public generic functions
unsupported-property-value-name: Public generic functions
unsupported-property-value-value: Public generic functions
unsupported-property-value-value: Public generic functions

W
with-ignored-unsupported-properties: Public macros
with-open-archive: Public macros
with-truncated-unsupported-values: Public macros
write-entry: Public generic functions
write-entry: Public generic functions

Jump to:   %   (  
A   C   D   E   F   G   I   L   M   N   O   P   R   S   T   U   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   +  
A   C   D   F   G   L   M   N   O   P   S   U   V  
Index Entry  Section

+
+mode-permissions+: Private constants

A
archive: Public classes
atime: Public classes

C
Constant, +mode-permissions+: Private constants
ctime: Public classes

D
data: Private classes
default-attributes: Public classes
devmajor: Private classes
devminor: Private classes
direction: Public classes

F
file: Public classes

G
gid: Public classes
gname: Public classes

L
linkname: Private classes

M
mode: Public classes
mtime: Public classes

N
name: Public conditions
name: Public conditions
name: Public conditions
name: Public classes
name: Private conditions

O
opened-stream: Public classes

P
physical-entry: Private classes

S
size: Public classes
size: Public classes
size: Private classes
Slot, archive: Public classes
Slot, atime: Public classes
Slot, ctime: Public classes
Slot, data: Private classes
Slot, default-attributes: Public classes
Slot, devmajor: Private classes
Slot, devminor: Private classes
Slot, direction: Public classes
Slot, file: Public classes
Slot, gid: Public classes
Slot, gname: Public classes
Slot, linkname: Private classes
Slot, mode: Public classes
Slot, mtime: Public classes
Slot, name: Public conditions
Slot, name: Public conditions
Slot, name: Public conditions
Slot, name: Public classes
Slot, name: Private conditions
Slot, opened-stream: Public classes
Slot, physical-entry: Private classes
Slot, size: Public classes
Slot, size: Public classes
Slot, size: Private classes
Slot, uid: Public classes
Slot, uname: Public classes
Slot, value: Public conditions

U
uid: Public classes
uname: Public classes

V
value: Public conditions

Jump to:   +  
A   C   D   F   G   L   M   N   O   P   S   U   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   B   C   D   E   F   G   H   L   M   P   R   S   T   U   V  
Index Entry  Section

A
archive: Public classes
archive.lisp: The tar/archive․lisp file

B
block-device-entry: Public classes

C
character-device-entry: Public classes
Class, archive: Public classes
Class, block-device-entry: Public classes
Class, character-device-entry: Public classes
Class, device-entry: Private classes
Class, directory-entry: Public classes
Class, entry: Public classes
Class, fifo-entry: Public classes
Class, file-entry: Public classes
Class, gnu-archive: Public classes
Class, hard-link-entry: Public classes
Class, has-data-mixin: Private classes
Class, link-entry: Private classes
Class, pax-archive: Public classes
Class, symbolic-link-entry: Public classes
Class, unknown-entry: Private classes
Class, ustar-archive: Public classes
Class, v7-archive: Public classes
Condition, property-value-too-long: Public conditions
Condition, required-property-missing: Public conditions
Condition, tar-condition: Public conditions
Condition, tar-error: Public conditions
Condition, unbound-property: Private conditions
Condition, unsupported-property: Public conditions
Condition, unsupported-property-value: Public conditions
conditions.lisp: The tar/conditions․lisp file

D
device-entry: Private classes
directory-entry: Public classes

E
entry: Public classes
entry.lisp: The tar/entry․lisp file

F
fifo-entry: Public classes
File, archive.lisp: The tar/archive․lisp file
File, conditions.lisp: The tar/conditions․lisp file
File, entry.lisp: The tar/entry․lisp file
File, gnu-archive.lisp: The tar/gnu-archive․lisp file
File, package.lisp: The tar/package․lisp file
File, pax-archive.lisp: The tar/pax-archive․lisp file
File, tar.asd: The tar/tar․asd file
File, ustar-archive.lisp: The tar/ustar-archive․lisp file
File, utils.lisp: The tar/utils․lisp file
File, v7-archive.lisp: The tar/v7-archive․lisp file
File, validation.lisp: The tar/validation․lisp file
file-entry: Public classes

G
gnu-archive: Public classes
gnu-archive.lisp: The tar/gnu-archive․lisp file

H
hard-link-entry: Public classes
has-data-mixin: Private classes

L
link-entry: Private classes

M
mode-list: Public types

P
Package, tar: The tar package
package.lisp: The tar/package․lisp file
pax-archive: Public classes
pax-archive.lisp: The tar/pax-archive․lisp file
property-value-too-long: Public conditions

R
required-property-missing: Public conditions

S
symbolic-link-entry: Public classes
System, tar: The tar system

T
tar: The tar system
tar: The tar package
tar-condition: Public conditions
tar-error: Public conditions
tar.asd: The tar/tar․asd file
Type, mode-list: Public types

U
unbound-property: Private conditions
unknown-entry: Private classes
unsupported-property: Public conditions
unsupported-property-value: Public conditions
ustar-archive: Public classes
ustar-archive.lisp: The tar/ustar-archive․lisp file
utils.lisp: The tar/utils․lisp file

V
v7-archive: Public classes
v7-archive.lisp: The tar/v7-archive․lisp file
validation.lisp: The tar/validation․lisp file

Jump to:   A   B   C   D   E   F   G   H   L   M   P   R   S   T   U   V