Files

41 lines
1.3 KiB
Odin

// Generated by core/sys/android/_gen/generate.py from the Android NDK headers. DO NOT EDIT.
// Source: <android/dlext.h> (NDK r30, 30.0.16248370)
#+build linux
package android
import "core:c"
foreign import libdl "system:dl"
AndroidDlextFlag :: enum u64 {
RESERVED_ADDRESS = 0,
RESERVED_ADDRESS_HINT = 1,
WRITE_RELRO = 2,
USE_RELRO = 3,
USE_LIBRARY_FD = 4,
USE_LIBRARY_FD_OFFSET = 5,
FORCE_LOAD = 6,
USE_NAMESPACE = 9,
RESERVED_ADDRESS_RECURSIVE = 10,
}
AndroidDlextFlags :: distinct bit_set[AndroidDlextFlag; u64]
ANDROID_DLEXT_VALID_FLAG_BITS :: AndroidDlextFlags{.RESERVED_ADDRESS, .RESERVED_ADDRESS_HINT, .WRITE_RELRO, .USE_RELRO, .USE_LIBRARY_FD, .USE_LIBRARY_FD_OFFSET, .FORCE_LOAD, .USE_NAMESPACE, .RESERVED_ADDRESS_RECURSIVE}
android_namespace_t :: struct {}
android_dlextinfo :: struct {
flags: AndroidDlextFlags,
reserved_addr: rawptr,
reserved_size: c.size_t,
relro_fd: c.int,
library_fd: c.int,
library_fd_offset: i64,
library_namespace: ^android_namespace_t,
}
@(default_calling_convention="c")
foreign libdl {
android_dlopen_ext :: proc(filename: cstring, flags: c.int, info: ^android_dlextinfo) -> rawptr ---
}