1 // FileInfo.cs created with MonoDevelop
2 // User: alan at 14:47 13/10/2008
4 // To change standard headers go to Edit->Preferences->Coding->Standard Headers
8 using System
.Runtime
.InteropServices
;
12 [StructLayout (LayoutKind
.Sequential
)]
15 IntPtr version
; /* version made by 2 bytes */
16 IntPtr version_needed
; /* version needed to extract 2 bytes */
17 IntPtr flag
; /* general purpose bit flag 2 bytes */
18 IntPtr compression_method
; /* compression method 2 bytes */
19 IntPtr dosDate
; /* last mod file date in Dos fmt 4 bytes */
20 IntPtr crc
; /* crc-32 4 bytes */
21 IntPtr compressed_size
; /* compressed size 4 bytes */
22 IntPtr uncompressed_size
; /* uncompressed size 4 bytes */
23 IntPtr size_filename
; /* filename length 2 bytes */
24 IntPtr size_file_extra
; /* extra field length 2 bytes */
25 IntPtr size_file_comment
; /* file comment length 2 bytes */
27 IntPtr disk_num_start
; /* disk number start 2 bytes */
28 IntPtr internal_fa
; /* internal file attributes 2 bytes */
29 IntPtr external_fa
; /* external file attributes 4 bytes */
33 public ulong VersionNeeded
{
34 get { return (ulong)version_needed.ToInt64 (); }
35 set { version_needed = new IntPtr ((int)value); }
38 public ulong Version
{
39 get { return (ulong)version.ToInt64 (); }
40 set { version = new IntPtr ((int)value); }
43 public ulong UncompressedSize
{
44 get { return (ulong)uncompressed_size.ToInt64 (); }
45 set { uncompressed_size = new IntPtr ((int)value); }
48 public ZipTime TmuDate
{
49 get { return tmu_date; }
50 set { tmu_date = value; }
53 public ulong SizeFilename
{
54 get { return (ulong)size_filename.ToInt64 (); }
55 set { size_filename = new IntPtr ((int)value); }
58 public ulong SizeFileExtra
{
59 get { return (ulong)size_file_extra.ToInt64 (); }
60 set { size_file_extra = new IntPtr ((int)value); }
63 public ulong SizeFileComment
{
65 return (ulong)size_file_comment
.ToInt64 ();
68 size_file_comment
= new IntPtr ((int)value);
72 public ulong InternalFa
{
73 get { return (ulong)internal_fa.ToInt64 (); }
74 set { internal_fa = new IntPtr ((int)value); }
78 get { return (ulong)flag.ToInt64 (); }
79 set { flag = new IntPtr ((int)value); }
82 public ulong ExternalFa
{
83 get { return (ulong)external_fa.ToInt64 (); }
84 set { external_fa = new IntPtr ((int)value); }
87 public ulong DosDate
{
88 get { return (ulong)dosDate.ToInt64 (); }
89 set { dosDate = new IntPtr ((int)value); }
92 public ulong DiskNumStart
{
93 get { return (ulong)disk_num_start.ToInt64 (); }
94 set { disk_num_start = new IntPtr ((int)value); }
98 get { return (ulong)crc.ToInt64 (); }
99 set { crc = new IntPtr ((int)value); }
102 public ulong CompressionMethod
{
103 get { return (ulong)compression_method.ToInt64 (); }
104 set { compression_method = new IntPtr ((int)value); }
107 public ulong CompressedSize
{
108 get { return (ulong)compressed_size.ToInt64 (); }
109 set { compressed_size = new IntPtr ((int)value); }