Open-source multiplayer game server compatible with the RuneScape client
https://www.openrs2.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.4 KiB
64 lines
2.4 KiB
package org.openrs2.compress.bzip2
|
|
|
|
import jnr.ffi.LibraryLoader
|
|
import jnr.ffi.LibraryOption
|
|
import jnr.ffi.Runtime
|
|
import jnr.ffi.Struct
|
|
import jnr.ffi.annotations.Direct
|
|
|
|
public interface LibBzip2 {
|
|
public class BzStream(runtime: Runtime) : Struct(runtime) {
|
|
public val nextIn: Pointer = Pointer()
|
|
public val availIn: Unsigned32 = Unsigned32()
|
|
public val totalInLo32: Unsigned32 = Unsigned32()
|
|
public val totalInHi32: Unsigned32 = Unsigned32()
|
|
|
|
public val nextOut: Pointer = Pointer()
|
|
public val availOut: Unsigned32 = Unsigned32()
|
|
public val totalOutLo32: Unsigned32 = Unsigned32()
|
|
public val totalOutHi32: Unsigned32 = Unsigned32()
|
|
|
|
public val state: Pointer = Pointer()
|
|
|
|
public val alloc: Pointer = Pointer()
|
|
public val free: Pointer = Pointer()
|
|
public val opaque: Pointer = Pointer()
|
|
}
|
|
|
|
public fun BZ2_bzCompressInit(@Direct stream: BzStream, blockSize100k: Int, verbosity: Int, workFactor: Int): Int
|
|
public fun BZ2_bzCompress(stream: BzStream, action: Int): Int
|
|
public fun BZ2_bzCompressEnd(stream: BzStream): Int
|
|
|
|
public fun BZ2_bzDecompressInit(@Direct stream: BzStream, blockSize100k: Int, verbosity: Int, small: Int): Int
|
|
public fun BZ2_bzDecompress(stream: BzStream): Int
|
|
public fun BZ2_bzDecompressEnd(stream: BzStream): Int
|
|
|
|
public companion object {
|
|
public const val BZ_RUN: Int = 0
|
|
public const val BZ_FLUSH: Int = 1
|
|
public const val BZ_FINISH: Int = 2
|
|
|
|
public const val BZ_OK: Int = 0
|
|
public const val BZ_RUN_OK: Int = 1
|
|
public const val BZ_FLUSH_OK: Int = 2
|
|
public const val BZ_FINISH_OK: Int = 3
|
|
public const val BZ_STREAM_END: Int = 4
|
|
public const val BZ_SEQUENCE_ERROR: Int = -1
|
|
public const val BZ_PARAM_ERROR: Int = -2
|
|
public const val BZ_MEM_ERROR: Int = -3
|
|
public const val BZ_DATA_ERROR: Int = -4
|
|
public const val BZ_DATA_ERROR_MAGIC: Int = -5
|
|
public const val BZ_IO_ERROR: Int = -6
|
|
public const val BZ_UNEXPECTED_EOF: Int = -7
|
|
public const val BZ_OUTBUFF_FULL: Int = -8
|
|
public const val BZ_CONFIG_ERROR: Int = -9
|
|
|
|
public fun load(): LibBzip2 {
|
|
return LibraryLoader.loadLibrary(
|
|
LibBzip2::class.java, mapOf(
|
|
LibraryOption.LoadNow to true,
|
|
), "bz2"
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|