Bläddra i källkod

Archive.iso9660. Initial Import.

Brucey 2 år sedan
förälder
incheckning
88dcd7bb31
3 ändrade filer med 126 tillägg och 0 borttagningar
  1. 30 0
      iso9660.mod/common.bmx
  2. 64 0
      iso9660.mod/iso9660.bmx
  3. 32 0
      iso9660.mod/source.bmx

+ 30 - 0
iso9660.mod/common.bmx

@@ -0,0 +1,30 @@
+' Copyright (c) 2022 Bruce A Henderson
+' All rights reserved.
+'
+' Redistribution and use in source and binary forms, with or without
+' modification, are permitted provided that the following conditions are met:
+'     * Redistributions of source code must retain the above copyright
+'       notice, this list of conditions and the following disclaimer.
+'     * Redistributions in binary form must reproduce the above copyright
+'       notice, this list of conditions and the following disclaimer in the
+'       documentation and/or other materials provided with the distribution.
+'
+' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY
+' EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+' DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+'
+SuperStrict
+
+Import "source.bmx"
+
+Extern
+	Function archive_read_support_format_iso9660:Int(archive:Byte Ptr)
+	Function archive_write_set_format_iso9660:Int(archive:Byte Ptr)
+End Extern

+ 64 - 0
iso9660.mod/iso9660.bmx

@@ -0,0 +1,64 @@
+' Copyright (c) 2022 Bruce A Henderson
+' All rights reserved.
+'
+' Redistribution and use in source and binary forms, with or without
+' modification, are permitted provided that the following conditions are met:
+'     * Redistributions of source code must retain the above copyright
+'       notice, this list of conditions and the following disclaimer.
+'     * Redistributions in binary form must reproduce the above copyright
+'       notice, this list of conditions and the following disclaimer in the
+'       documentation and/or other materials provided with the distribution.
+'
+' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY
+' EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+' DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+'
+SuperStrict
+
+Module Archive.Iso9660
+
+
+ModuleInfo "CC_OPTS: -DHAVE_ZLIB_H"
+ModuleInfo "CC_OPTS: -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64"
+?win32
+ModuleInfo "CC_OPTS: -DLIBARCHIVE_STATIC"
+?
+
+Import Archive.Core
+Import "common.bmx"
+
+Private
+
+Type TIso9660ArchiveFormat Extends TArchiveFormat
+
+	Method AddReadFormat:Int(archive:Byte Ptr, format:EArchiveFormat)
+		If format = EArchiveFormat.ISO9660 Then
+			archive_read_support_format_iso9660(archive)
+			Return True
+		End If
+	End Method
+
+	Method AddWriteFormat:Int(archive:Byte Ptr, format:EArchiveFormat)
+		If format = EArchiveFormat.ISO9660 Then
+			archive_write_set_format_iso9660(archive)
+			Return True
+		End If
+	End Method
+
+	Method AddReadFilter:Int(archive:Byte Ptr, filter:EArchiveFilter)
+		Return False
+	End Method
+
+	Method AddWriteFilter:Int(archive:Byte Ptr, filter:EArchiveFilter)
+		Return False
+	End Method
+End Type
+
+New TIso9660ArchiveFormat

+ 32 - 0
iso9660.mod/source.bmx

@@ -0,0 +1,32 @@
+' Copyright (c) 2022 Bruce A Henderson
+' All rights reserved.
+'
+' Redistribution and use in source and binary forms, with or without
+' modification, are permitted provided that the following conditions are met:
+'     * Redistributions of source code must retain the above copyright
+'       notice, this list of conditions and the following disclaimer.
+'     * Redistributions in binary form must reproduce the above copyright
+'       notice, this list of conditions and the following disclaimer in the
+'       documentation and/or other materials provided with the distribution.
+'
+' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY
+' EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+' DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+'
+SuperStrict
+
+Import Pub.zlib
+
+Import "../../pub.mod/zlib.mod/*.h"
+
+Import "../core.mod/include/*.h"
+Import "../core.mod/libarchive/libarchive/*.h"
+Import "../core.mod/libarchive/libarchive/archive_read_support_format_iso9660.c"
+Import "../core.mod/libarchive/libarchive/archive_write_set_format_iso9660.c"