home *** CD-ROM | disk | FTP | other *** search
/ linuxmafia.com 2016 / linuxmafia.com.tar / linuxmafia.com / pub / linux / backup / star-1.3.1.tar.gz / star-1.3.1.tar / star-1.3.1 / star / props.h < prev    next >
C/C++ Source or Header  |  1997-05-09  |  2KB  |  62 lines

  1. /* @(#)props.h    1.7 97/05/09 Copyright 1994 J. Schilling */
  2. /*
  3.  *    Properties definitions to handle different
  4.  *    archive types
  5.  *
  6.  *    Copyright (c) 1994 J. Schilling
  7.  */
  8. /*
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2, or (at your option)
  12.  * any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; see the file COPYING.  If not, write to
  21.  * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  */
  23.  
  24. /*
  25.  * Properties to describe the different archive formats.
  26.  *
  27.  * if pr_maxnamelen id == pr_maxsname, we cannot have long names
  28.  * besides file name splitting.
  29.  */
  30. struct properties {
  31.     int    pr_flags;        /* gerneral flags */
  32.     char    pr_fillc;        /* fill prefix for numbers in TCB */
  33.     long    pr_diffmask;        /* diffopts not supported */
  34.     int    pr_nflags;        /* name related flags */
  35.     int    pr_maxnamelen;        /* max length for filename */
  36.     int    pr_maxlnamelen;        /* max length for linkname */
  37.     int    pr_maxsname;        /* max length for short filename */
  38.     int    pr_maxslname;        /* max length for short linkname */
  39.     int    pr_maxprefix;        /* max length of prefix if splitting */
  40.     int    pr_sparse_in_hdr;    /* # of sparse entries in header */
  41. };
  42.  
  43. /*
  44.  * general flags
  45.  */
  46. #define    PR_POSIX_OCTAL        0x0001    /* left fill octal number with '0' */
  47. #define    PR_LOCAL_STAR        0x0002    /* can handle local star filetypes */
  48. #define    PR_LOCAL_GNU        0x0004    /* can handle local gnu filetypes */
  49. #define    PR_SPARSE        0x0010    /* can handle sparse files    */
  50. #define    PR_GNU_SPARSE_BUG    0x0020    /* size does not contain ext. headers*/
  51. #define    PR_VOLHDR        0x0100    /* can handle volume headers    */
  52.  
  53. /*
  54.  * name related flags
  55.  */
  56. #define    PR_POSIX_SPLIT        0x01    /* can do posix filename splitting */
  57. #define    PR_PREFIX_REUSED    0x02    /* prefix space used by other option */
  58. #define    PR_LONG_NAMES        0x04    /* can handle very long names    */
  59. #define    PR_DUMB_EOF        0x10    /* handle t_name[0] == '\0' as EOF */
  60.  
  61. extern    struct properties    props;
  62.