tar.h File Reference
PAYLOAD.

Structures used for tar(1) archives. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

struct | tarHeader_s
| Tar archive header information. More...

## Macros

#define | TAR_MAGIC "ustar" /* ustar and a null */
#define | TAR_VERSION " " /* Be compatable with GNU tar format */
#define | TAR_BLOCK_SIZE 512
#define | TAR_MAGIC_LEN 6
#define | TAR_VERSION_LEN 2
#define | TAR_NAME_SIZE 100

## Typedefs

typedef struct tarHeader_s * | tarHeader

## Functions

int | tarHeaderRead (void *_iosm, struct stat *st)
| Read tar header from payload. More...
int | tarHeaderWrite (void *_iosm, struct stat *st)
| Write tar header to payload. More...
int | tarTrailerWrite (void *_iosm)
| Write cpio trailer to payload. More...

## Variables

int | _tar_debug

## Detailed Description

Structures used for tar(1) archives.

Definition in file tar.h.

## Macro Definition Documentation

#define TAR_BLOCK_SIZE 512

Definition at line 17 of file tar.h.

Referenced by fsmSetup(), iosmSetup(), tarHeaderRead(), and tarHeaderWriteBlock().

#define TAR_MAGIC "ustar" /* ustar and a null */

Definition at line 14 of file tar.h.

Referenced by tarHeaderRead(), and tarHeaderWriteBlock().

#define TAR_MAGIC_LEN 6

Definition at line 18 of file tar.h.

#define TAR_NAME_SIZE 100

Definition at line 22 of file tar.h.

#define TAR_VERSION " " /* Be compatable with GNU tar format */

Definition at line 15 of file tar.h.

Referenced by tarHeaderWriteBlock().

#define TAR_VERSION_LEN 2

Definition at line 19 of file tar.h.

## Typedef Documentation

typedef struct tarHeader_s* tarHeader

Definition at line 11 of file tar.h.

## Function Documentation

int tarHeaderRead | ( | void * | _iosm,
|  | struct stat * | st
| ) |  |

Read tar header from payload.

Return values

  _iosm | file path and stat info
  st |

Returns
  0 on success

Definition at line 122 of file tar.c.

References _IOSMRC, _tar_debug, tarHeader_s::checksum, tarHeader_s::devMajor, tarHeader_s::devMinor, tarHeader_s::filesize, tarHeader_s::gid, tarHeader_s::linkname, tarHeader_s::magic, major, Makedev, minor, tarHeader_s::mode, tarHeader_s::mtime, tarHeader_s::name, nochksum, strntoul(), TAR_BLOCK_SIZE, TAR_MAGIC, tarHeaderReadName(), tarRead(), tarHeader_s::typeflag, tarHeader_s::uid, and xmalloc().

Referenced by fsmSetup(), and iosmSetup().

int tarHeaderWrite | ( | void * | _iosm,
|  | struct stat * | st
| ) |  |

Write tar header to payload.

Return values

  _iosm | file path and stat info

Parameters

  st |

Returns
  0 on success

Definition at line 385 of file tar.c.

References _iosmNext, _IOSMRC, _tar_debug, tarHeader_s::devMajor, tarHeader_s::devMinor, tarHeader_s::filesize, tarHeader_s::gid, gidToGname(), tarHeader_s::gname, IOSM_PAD, tarHeader_s::linkname, major, minor, tarHeader_s::mode, tarHeader_s::mtime, tarHeader_s::name, S_ISLNK, S_ISSOCK, tarHeaderWriteBlock(), tarHeaderWriteName(), tarHeader_s::typeflag, tarHeader_s::uid, uidToUname(), and tarHeader_s::uname.

Referenced by fsmSetup(), iosmSetup(), and writeLinkedFile().

int tarTrailerWrite | ( | void * | _iosm | ) |

Write cpio trailer to payload.

Return values

  _fsm | file path and stat info

Returns
  0 on success

Definition at line 495 of file tar.c.

References _iosmNext, _IOSMRC, _tar_debug, IOSM_PAD, and tarWrite().

Referenced by fsmSetup(), and iosmSetup().

## Variable Documentation

int _tar_debug

Definition at line 21 of file tar.c.