aosvs.h
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:2k
源码类别:

压缩解压

开发平台:

MultiPlatform

  1. /*---------------------------------------------------------------------------
  2.   aosvs.h
  3.   AOS/VS-specific header file for use with Info-ZIP's UnZip 5.2 and later.
  4.   ---------------------------------------------------------------------------*/
  5.   
  6. /* stuff to set up for system calls (?FSTAT & ?SACL) and the extra field */
  7. #include <paru.h>                   /* parameter definitions */
  8. #include <packets/filestatus.h>     /* AOS/VS ?FSTAT packet defs */
  9. #include <packets/create.h>         /* AOS/VS ?CREATE packet defs */
  10. #include <sys_calls.h>              /* AOS/VS system call interface */
  11. #define ZEXTRA_HEADID   "VS"
  12. #define ZEXTRA_SENTINEL "FCI"
  13. #define ZEXTRA_REV      ((uch)10)   /* change/use this in later revs */
  14. /* functions defined in zvs_create.c */
  15. extern int   zvs_create(ZCONST char *fname, long cretim, long modtim,
  16.                         long acctim, char *pacl, int ftyp, int eltsize,
  17.                         int maxindlev);
  18. extern int   zvs_credir(ZCONST char *dname, long cretim, long modtim,
  19.                         long acctim, char *pacl, int ftyp, long maxblocks,
  20.                         int hashfsize, int maxindlev);
  21. extern long  dgdate(short mm, short dd, short yy);
  22. extern char  *ux_to_vs_name(char *outname, ZCONST char *inname);
  23.   
  24. /* could probably avoid the unions - all elements in each one are the same
  25.  * size, and we're going to assume this */
  26. typedef union zvsfstat_stru {
  27.     P_FSTAT       norm_fstat_packet;      /* normal fstat packet */
  28.     P_FSTAT_DIR   dir_fstat_packet;       /* DIR/CPD fstat packet */
  29.     P_FSTAT_UNIT  unit_fstat_packet;      /* unit (device) fstat packet */
  30.     P_FSTAT_IPC   ipc_fstat_packet;       /* IPC file fstat packet */
  31. } ZVSFSTAT_STRU;
  32. typedef union zvscreate_stru {
  33.     P_CREATE      norm_create_packet;     /* normal create packet */
  34.     P_CREATE_DIR  dir_create_packet;      /* DIR/CPD create packet */
  35.     P_CREATE_IPC  ipc_create_packet;      /* IPC file create packet */
  36. } ZVSCREATE_STRU;
  37. typedef struct zextrafld {
  38.     char            extra_header_id[2];   /* set to VS - in theory, an int */
  39.     char            extra_data_size[2];   /* size of rest (little-endian) */
  40.     char            extra_sentinel[4];    /* set to FCI w/ trailing null */
  41.     uch             extra_rev;            /* set to 10 for rev 1.0 */
  42.     ZVSFSTAT_STRU   fstat_packet;         /* the fstat packet */
  43.     char            aclbuf[$MXACL];       /* the raw ACL */
  44. } ZEXTRAFLD;