home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #7
/
amigamamagazinepolishissue1998.iso
/
archiwizery
/
detar
/
detar.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-11-17
|
1KB
|
63 lines
/*
* MSDOS TAR Extractor
*/
/* last changed: 28.3.95 */
#define RECORDSIZE 512
#define NAMSIZ 100
#define TUNMLEN 32
#define TGNMLEN 32
/*
* Header block on tape.
*
* no byte swapping
*/
union record {
char charptr[RECORDSIZE];
struct {
char name[NAMSIZ];
char mode[8];
char uid[8];
char gid[8];
char size[12];
char mtime[12];
char chksum[8];
char linkflag;
char linkname[NAMSIZ];
char magic[8];
char uname[TUNMLEN];
char gname[TGNMLEN];
char devmajor[8];
char devminor[8];
} header;
};
#define CHKBLANKS " " /* Checksum: 8 blanks, no null */
#define TMAGIC "ustar " /* Majic: 7 bytes and a null */
/* The linkflag defines the type of file */
#define LF_OLDNORMAL '\0' /* Normal disk file, Unix compat */
#define LF_NORMAL '0' /* Normal disk file */
#define LF_LINK '1' /* Link to previously dumped file */
#define LF_SYMLINK '2' /* Symbolic link */
#define LF_CHR '3' /* Character special file */
#define LF_BLK '4' /* Block special file */
#define LF_DIR '5' /* Directory */
#define LF_FIFO '6' /* FIFO special file */
#define LF_CONTIG '7' /* Contiguous file */
/*
* Unix Stat Header (K&R)
*
*/
#include <stat.h>
#define S_ISUID 0004000 /* SAS/C misses these */
#define S_ISGID 0002000
#define S_ISVTX 0001000