Hex Artifact Content
Not logged in

Artifact 87abbb588a4070ce2e85e49f877915feb7d6795e:


0000: 2f 2a 0a 20 2a 20 7a 69 70 66 73 2e 68 20 2d 2d  /*. * zipfs.h --
0010: 0a 20 2a 0a 20 2a 09 54 68 69 73 20 68 65 61 64  . *. *.This head
0020: 65 72 20 66 69 6c 65 20 64 65 73 63 72 69 62 65  er file describe
0030: 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20  s the interface 
0040: 6f 66 20 74 68 65 20 5a 49 50 46 53 20 66 69 6c  of the ZIPFS fil
0050: 65 73 79 73 74 65 6d 0a 20 2a 09 75 73 65 64 20  esystem. *.used 
0060: 69 6e 20 41 6e 64 72 6f 57 69 73 68 2e 0a 20 2a  in AndroWish.. *
0070: 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63  . * Copyright (c
0080: 29 20 32 30 31 33 2d 32 30 31 39 20 43 68 72 69  ) 2013-2019 Chri
0090: 73 74 69 61 6e 20 57 65 72 6e 65 72 20 3c 63 68  stian Werner <ch
00a0: 77 40 63 68 2d 77 65 72 6e 65 72 2e 64 65 3e 0a  w@ch-werner.de>.
00b0: 20 2a 0a 20 2a 20 53 65 65 20 74 68 65 20 66 69   *. * See the fi
00c0: 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d  le "license.term
00d0: 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69  s" for informati
00e0: 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20  on on usage and 
00f0: 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f  redistribution o
0100: 66 0a 20 2a 20 74 68 69 73 20 66 69 6c 65 2c 20  f. * this file, 
0110: 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41  and for a DISCLA
0120: 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52  IMER OF ALL WARR
0130: 41 4e 54 49 45 53 2e 0a 20 2a 2f 0a 0a 23 69 66  ANTIES.. */..#if
0140: 6e 64 65 66 20 5f 5a 49 50 46 53 5f 48 0a 23 64  ndef _ZIPFS_H.#d
0150: 65 66 69 6e 65 20 5f 5a 49 50 46 53 5f 48 0a 0a  efine _ZIPFS_H..
0160: 23 69 6e 63 6c 75 64 65 20 22 74 63 6c 2e 68 22  #include "tcl.h"
0170: 0a 0a 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73  ..#ifdef __cplus
0180: 70 6c 75 73 0a 65 78 74 65 72 6e 20 22 43 22 20  plus.extern "C" 
0190: 7b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 6e 64 65  {.#endif..#ifnde
01a0: 66 20 5a 49 50 46 53 41 50 49 0a 23 20 20 20 64  f ZIPFSAPI.#   d
01b0: 65 66 69 6e 65 20 5a 49 50 46 53 41 50 49 20 65  efine ZIPFSAPI e
01c0: 78 74 65 72 6e 0a 23 65 6e 64 69 66 0a 0a 23 69  xtern.#endif..#i
01d0: 66 64 65 66 20 5a 49 50 46 53 5f 49 4e 5f 54 4b  fdef ZIPFS_IN_TK
01e0: 0a 23 64 65 66 69 6e 65 20 5a 69 70 66 73 5f 4d  .#define Zipfs_M
01f0: 6f 75 6e 74 20 20 20 20 20 20 20 54 6b 7a 69 70  ount       Tkzip
0200: 66 73 5f 4d 6f 75 6e 74 0a 23 64 65 66 69 6e 65  fs_Mount.#define
0210: 20 5a 69 70 66 73 5f 4d 6f 75 6e 74 42 75 66 66   Zipfs_MountBuff
0220: 65 72 20 54 6b 7a 69 70 66 73 5f 4d 6f 75 6e 74  er Tkzipfs_Mount
0230: 42 75 66 66 65 72 0a 23 64 65 66 69 6e 65 20 5a  Buffer.#define Z
0240: 69 70 66 73 5f 55 6e 6d 6f 75 6e 74 20 20 20 20  ipfs_Unmount    
0250: 20 54 6b 7a 69 70 66 73 5f 55 6e 6d 6f 75 6e 74   Tkzipfs_Unmount
0260: 0a 23 64 65 66 69 6e 65 20 5a 69 70 66 73 5f 49  .#define Zipfs_I
0270: 6e 69 74 20 20 20 20 20 20 20 20 54 6b 7a 69 70  nit        Tkzip
0280: 66 73 5f 49 6e 69 74 0a 23 64 65 66 69 6e 65 20  fs_Init.#define 
0290: 5a 69 70 66 73 5f 53 61 66 65 49 6e 69 74 20 20  Zipfs_SafeInit  
02a0: 20 20 54 6b 7a 69 70 66 73 5f 53 61 66 65 49 6e    Tkzipfs_SafeIn
02b0: 69 74 0a 23 69 66 64 65 66 20 42 55 49 4c 44 5f  it.#ifdef BUILD_
02c0: 74 6b 0a 23 20 20 20 75 6e 64 65 66 20 5a 49 50  tk.#   undef ZIP
02d0: 46 53 41 50 49 0a 23 20 20 20 64 65 66 69 6e 65  FSAPI.#   define
02e0: 20 5a 49 50 46 53 41 50 49 20 44 4c 4c 45 58 50   ZIPFSAPI DLLEXP
02f0: 4f 52 54 0a 23 65 6e 64 69 66 0a 23 65 6e 64 69  ORT.#endif.#endi
0300: 66 0a 0a 23 69 66 64 65 66 20 5a 49 50 46 53 5f  f..#ifdef ZIPFS_
0310: 49 4e 5f 54 43 4c 0a 23 64 65 66 69 6e 65 20 5a  IN_TCL.#define Z
0320: 69 70 66 73 5f 4d 6f 75 6e 74 20 20 20 20 20 20  ipfs_Mount      
0330: 20 54 63 6c 7a 69 70 66 73 5f 4d 6f 75 6e 74 0a   Tclzipfs_Mount.
0340: 23 64 65 66 69 6e 65 20 5a 69 70 66 73 5f 4d 6f  #define Zipfs_Mo
0350: 75 6e 74 42 75 66 66 65 72 20 54 63 6c 7a 69 70  untBuffer Tclzip
0360: 66 73 5f 4d 6f 75 6e 74 42 75 66 66 65 72 0a 23  fs_MountBuffer.#
0370: 64 65 66 69 6e 65 20 5a 69 70 66 73 5f 55 6e 6d  define Zipfs_Unm
0380: 6f 75 6e 74 20 20 20 20 20 54 63 6c 7a 69 70 66  ount     Tclzipf
0390: 73 5f 55 6e 6d 6f 75 6e 74 0a 23 64 65 66 69 6e  s_Unmount.#defin
03a0: 65 20 5a 69 70 66 73 5f 49 6e 69 74 20 20 20 20  e Zipfs_Init    
03b0: 20 20 20 20 54 63 6c 7a 69 70 66 73 5f 49 6e 69      Tclzipfs_Ini
03c0: 74 0a 23 64 65 66 69 6e 65 20 5a 69 70 66 73 5f  t.#define Zipfs_
03d0: 53 61 66 65 49 6e 69 74 20 20 20 20 54 63 6c 7a  SafeInit    Tclz
03e0: 69 70 66 73 5f 53 61 66 65 49 6e 69 74 0a 23 69  ipfs_SafeInit.#i
03f0: 66 64 65 66 20 42 55 49 4c 44 5f 74 63 6c 0a 23  fdef BUILD_tcl.#
0400: 20 20 20 75 6e 64 65 66 20 5a 49 50 46 53 41 50     undef ZIPFSAP
0410: 49 0a 23 20 20 20 64 65 66 69 6e 65 20 5a 49 50  I.#   define ZIP
0420: 46 53 41 50 49 20 44 4c 4c 45 58 50 4f 52 54 0a  FSAPI DLLEXPORT.
0430: 23 65 6e 64 69 66 0a 23 65 6e 64 69 66 0a 0a 5a  #endif.#endif..Z
0440: 49 50 46 53 41 50 49 20 69 6e 74 20 5a 69 70 66  IPFSAPI int Zipf
0450: 73 5f 4d 6f 75 6e 74 28 54 63 6c 5f 49 6e 74 65  s_Mount(Tcl_Inte
0460: 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73  rp *interp, cons
0470: 74 20 63 68 61 72 20 2a 7a 69 70 6e 61 6d 65 2c  t char *zipname,
0480: 0a 09 09 09 20 63 6f 6e 73 74 20 63 68 61 72 20  .... const char 
0490: 2a 6d 6e 74 70 74 2c 20 63 6f 6e 73 74 20 63 68  *mntpt, const ch
04a0: 61 72 20 2a 70 61 73 73 77 64 29 3b 0a 5a 49 50  ar *passwd);.ZIP
04b0: 46 53 41 50 49 20 69 6e 74 20 5a 69 70 66 73 5f  FSAPI int Zipfs_
04c0: 4d 6f 75 6e 74 42 75 66 66 65 72 28 54 63 6c 5f  MountBuffer(Tcl_
04d0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20  Interp *interp, 
04e0: 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 6e 74 70  const char *mntp
04f0: 74 2c 0a 09 09 09 20 20 20 20 20 20 20 75 6e 73  t,....       uns
0500: 69 67 6e 65 64 20 63 68 61 72 20 2a 64 61 74 61  igned char *data
0510: 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 68 2c  , size_t length,
0520: 20 69 6e 74 20 63 6f 70 79 29 3b 0a 5a 49 50 46   int copy);.ZIPF
0530: 53 41 50 49 20 69 6e 74 20 5a 69 70 66 73 5f 55  SAPI int Zipfs_U
0540: 6e 6d 6f 75 6e 74 28 54 63 6c 5f 49 6e 74 65 72  nmount(Tcl_Inter
0550: 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74  p *interp, const
0560: 20 63 68 61 72 20 2a 7a 69 70 6e 61 6d 65 29 3b   char *zipname);
0570: 0a 5a 49 50 46 53 41 50 49 20 69 6e 74 20 5a 69  .ZIPFSAPI int Zi
0580: 70 66 73 5f 49 6e 69 74 28 54 63 6c 5f 49 6e 74  pfs_Init(Tcl_Int
0590: 65 72 70 20 2a 69 6e 74 65 72 70 29 3b 0a 5a 49  erp *interp);.ZI
05a0: 50 46 53 41 50 49 20 69 6e 74 20 5a 69 70 66 73  PFSAPI int Zipfs
05b0: 5f 53 61 66 65 49 6e 69 74 28 54 63 6c 5f 49 6e  _SafeInit(Tcl_In
05c0: 74 65 72 70 20 2a 69 6e 74 65 72 70 29 3b 0a 0a  terp *interp);..
05d0: 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c  #ifdef __cpluspl
05e0: 75 73 0a 7d 0a 23 65 6e 64 69 66 0a 0a 23 65 6e  us.}.#endif..#en
05f0: 64 69 66 20 2f 2a 20 5f 5a 49 50 46 53 5f 48 20  dif /* _ZIPFS_H 
0600: 2a 2f 0a 0a 2f 2a 0a 20 2a 20 4c 6f 63 61 6c 20  */../*. * Local 
0610: 56 61 72 69 61 62 6c 65 73 3a 0a 20 2a 20 6d 6f  Variables:. * mo
0620: 64 65 3a 20 63 0a 20 2a 20 63 2d 62 61 73 69 63  de: c. * c-basic
0630: 2d 6f 66 66 73 65 74 3a 20 34 0a 20 2a 20 66 69  -offset: 4. * fi
0640: 6c 6c 2d 63 6f 6c 75 6d 6e 3a 20 37 38 0a 20 2a  ll-column: 78. *
0650: 20 45 6e 64 3a 0a 20 2a 2f 0a                     End:. */.