mirror of
https://github.com/Sarsoo/csbindgen.git
synced 2024-12-22 22:46:26 +00:00
ReadMe for v1.8.0
This commit is contained in:
parent
297da130fa
commit
6f4c59f928
61
README.md
61
README.md
@ -31,7 +31,7 @@ Install on `Cargo.toml` as `build-dependencies` and set up `bindgen::Builder` on
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[build-dependencies]
|
||||
csbindgen = "1.7.5"
|
||||
csbindgen = "1.8.0"
|
||||
```
|
||||
|
||||
### Rust to C#.
|
||||
@ -479,6 +479,10 @@ Rust types will map these C# types.
|
||||
| `*const *const T` | `T**` |
|
||||
| `*mut *const T` | `T**` |
|
||||
| `*const *mut T` | `T**` |
|
||||
| `&T` | `T*` |
|
||||
| `&mut T` | `T*` |
|
||||
| `&&T` | `T**` |
|
||||
| `&*mut T` | `T**` |
|
||||
| `NonNull<T>` | `T*` |
|
||||
| `Box<T>` | `T*` |
|
||||
|
||||
@ -552,42 +556,19 @@ internal unsafe partial struct MyIntVec3
|
||||
It also supports unit struct, but there is no C# struct that is synonymous with Rust's unit struct (0 byte), so it cannot be materialized. Instead of using void*, it is recommended to use typed pointers.
|
||||
|
||||
```
|
||||
// 0-byte
|
||||
// 0-byte in Rust
|
||||
#[repr(C)]
|
||||
pub struct CounterContext;
|
||||
pub struct MyContext;
|
||||
```
|
||||
|
||||
```csharp
|
||||
// 1-byte
|
||||
// 1-byte in C#
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal unsafe partial struct CounterContext
|
||||
internal unsafe partial struct MyContext
|
||||
{
|
||||
}
|
||||
```
|
||||
|
||||
```rust
|
||||
// recommend to use as pointer, in C#, holds CounterContext*
|
||||
#[no_mangle]
|
||||
pub extern "C" fn create_counter_context() -> *mut CounterContext {
|
||||
let ctx = Box::new(InternalCounterContext {
|
||||
set: HashSet::new(),
|
||||
});
|
||||
Box::into_raw(ctx) as *mut CounterContext
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn counter_context_insert(context: *mut CounterContext, value: i32) {
|
||||
let mut counter = Box::from_raw(context as *mut InternalCounterContext);
|
||||
counter.set.insert(value);
|
||||
Box::into_raw(counter);
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn destroy_counter_context(context: *mut CounterContext) {
|
||||
_ = Box::from_raw(context as *mut InternalCounterContext);
|
||||
}
|
||||
```
|
||||
|
||||
### Union
|
||||
|
||||
`Union` will generate `[FieldOffset(0)]` struct.
|
||||
@ -765,43 +746,47 @@ NativeMethods.delete_context(context);
|
||||
|
||||
You can also pass memory allocated by C# to Rust (use `fixed` or `GCHandle.Alloc(Pinned)`). The important thing is that memory allocated in Rust must release in Rust and memory allocated in C# must release in C#.
|
||||
|
||||
If you want to pass a non FFI Safe struct, cast it to `*mut c_void`. Then C# will treat it as a `void*`. csbindgen does not support Opaque Type. Additionally, by returning a unit struct instead of `c_void`, you can create a typed handler.
|
||||
If you want to pass a non FFI Safe struct reference, csbindgen generates empty C# struct.
|
||||
|
||||
```rust
|
||||
#[no_mangle]
|
||||
pub extern "C" fn create_counter_context() -> *mut CounterContext {
|
||||
let ctx = Box::new(InternalCounterContext {
|
||||
let ctx = Box::new(CounterContext {
|
||||
set: HashSet::new(),
|
||||
});
|
||||
Box::into_raw(ctx) as *mut c_void
|
||||
Box::into_raw(ctx)
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn insert_counter_context(context: *mut CounterContext, value: i32) {
|
||||
let mut counter = Box::from_raw(context as *mut InternalCounterContext);
|
||||
let mut counter = Box::from_raw(context);
|
||||
counter.set.insert(value);
|
||||
Box::into_raw(counter);
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn delete_counter_context(context: *mut CounterContext) {
|
||||
let counter = Box::from_raw(context as *mut InternalCounterContext);
|
||||
let counter = Box::from_raw(context);
|
||||
for value in counter.set.iter() {
|
||||
println!("counter value: {}", value)
|
||||
}
|
||||
}
|
||||
|
||||
#[repr(C)]
|
||||
pub struct CounterContext;
|
||||
|
||||
// no repr(C)
|
||||
pub struct InternalCounterContext {
|
||||
pub struct CounterContext {
|
||||
pub set: HashSet<i32>,
|
||||
}
|
||||
```
|
||||
|
||||
```csharp
|
||||
var ctx = NativeMethods.create_counter_context();
|
||||
// csbindgen generates this handler type
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal unsafe partial struct CounterContext
|
||||
{
|
||||
}
|
||||
|
||||
// You can hold pointer instance
|
||||
CounterContext* ctx = NativeMethods.create_counter_context();
|
||||
|
||||
NativeMethods.insert_counter_context(ctx, 10);
|
||||
NativeMethods.insert_counter_context(ctx, 20);
|
||||
|
32
csbindgen-tests/src/lib.rs
vendored
32
csbindgen-tests/src/lib.rs
vendored
@ -609,6 +609,38 @@ pub struct CallbackTable {
|
||||
|
||||
pub extern "C" fn reference_type(_a: &i32, _b: &*mut i32, _c: &[u8; 16], _d: &Context) {}
|
||||
|
||||
pub extern "C" fn reference_hogemoge1(_a : &mut i32, _b: &&i32){}
|
||||
pub extern "C" fn reference_hogemoge2(_a : &mut i32, _b: &*mut i32){}
|
||||
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn create_counter_context2() -> *mut CounterContext2 {
|
||||
let ctx = Box::new(CounterContext2 {
|
||||
set: HashSet::new(),
|
||||
});
|
||||
Box::into_raw(ctx)
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn insert_counter_context2(context: *mut CounterContext2, value: i32) {
|
||||
let mut counter = Box::from_raw(context);
|
||||
counter.set.insert(value);
|
||||
Box::into_raw(counter);
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn delete_counter_context2(context: *mut CounterContext2) {
|
||||
let counter = Box::from_raw(context);
|
||||
for value in counter.set.iter() {
|
||||
println!("counter value: {}", value)
|
||||
}
|
||||
}
|
||||
|
||||
// no repr(C)
|
||||
pub struct CounterContext2 {
|
||||
pub set: HashSet<i32>,
|
||||
}
|
||||
|
||||
pub struct InternalHiddenContext {
|
||||
pub a: i32
|
||||
}
|
||||
|
477
csbindgen-tests/src/lz4.rs
vendored
477
csbindgen-tests/src/lz4.rs
vendored
@ -1,5 +1,34 @@
|
||||
/* automatically generated by rust-bindgen 0.64.0 */
|
||||
|
||||
pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
|
||||
pub const _SAL_VERSION: u32 = 20;
|
||||
pub const __SAL_H_VERSION: u32 = 180000000;
|
||||
pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
|
||||
pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
|
||||
pub const _CRT_PACKING: u32 = 8;
|
||||
pub const _HAS_EXCEPTIONS: u32 = 1;
|
||||
pub const _STL_LANG: u32 = 0;
|
||||
pub const _HAS_CXX17: u32 = 0;
|
||||
pub const _HAS_CXX20: u32 = 0;
|
||||
pub const _HAS_CXX23: u32 = 0;
|
||||
pub const _HAS_NODISCARD: u32 = 0;
|
||||
pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
|
||||
pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
|
||||
pub const _ARGMAX: u32 = 100;
|
||||
pub const _CRT_INT_MAX: u32 = 2147483647;
|
||||
pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
|
||||
pub const _CRT_HAS_CXX17: u32 = 0;
|
||||
pub const _CRT_HAS_C11: u32 = 1;
|
||||
pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
|
||||
pub const __STDC_SECURE_LIB__: u32 = 200411;
|
||||
pub const __GOT_SECURE_LIB__: u32 = 200411;
|
||||
pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
|
||||
pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
|
||||
pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
|
||||
pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
|
||||
pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
|
||||
pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
|
||||
pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
|
||||
pub const LZ4_FREESTANDING: u32 = 0;
|
||||
pub const LZ4_VERSION_MAJOR: u32 = 1;
|
||||
pub const LZ4_VERSION_MINOR: u32 = 9;
|
||||
@ -13,101 +42,10 @@ pub const LZ4_MAX_INPUT_SIZE: u32 = 2113929216;
|
||||
pub const LZ4_HASHLOG: u32 = 12;
|
||||
pub const LZ4_HASHTABLESIZE: u32 = 16384;
|
||||
pub const LZ4_HASH_SIZE_U32: u32 = 4096;
|
||||
pub const _STDINT_H: u32 = 1;
|
||||
pub const _FEATURES_H: u32 = 1;
|
||||
pub const _DEFAULT_SOURCE: u32 = 1;
|
||||
pub const __GLIBC_USE_ISOC2X: u32 = 0;
|
||||
pub const __USE_ISOC11: u32 = 1;
|
||||
pub const __USE_ISOC99: u32 = 1;
|
||||
pub const __USE_ISOC95: u32 = 1;
|
||||
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
|
||||
pub const _POSIX_SOURCE: u32 = 1;
|
||||
pub const _POSIX_C_SOURCE: u32 = 200809;
|
||||
pub const __USE_POSIX: u32 = 1;
|
||||
pub const __USE_POSIX2: u32 = 1;
|
||||
pub const __USE_POSIX199309: u32 = 1;
|
||||
pub const __USE_POSIX199506: u32 = 1;
|
||||
pub const __USE_XOPEN2K: u32 = 1;
|
||||
pub const __USE_XOPEN2K8: u32 = 1;
|
||||
pub const _ATFILE_SOURCE: u32 = 1;
|
||||
pub const __WORDSIZE: u32 = 64;
|
||||
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
|
||||
pub const __SYSCALL_WORDSIZE: u32 = 64;
|
||||
pub const __TIMESIZE: u32 = 64;
|
||||
pub const __USE_MISC: u32 = 1;
|
||||
pub const __USE_ATFILE: u32 = 1;
|
||||
pub const __USE_FORTIFY_LEVEL: u32 = 0;
|
||||
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
|
||||
pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
|
||||
pub const _STDC_PREDEF_H: u32 = 1;
|
||||
pub const __STDC_IEC_559__: u32 = 1;
|
||||
pub const __STDC_IEC_60559_BFP__: u32 = 201404;
|
||||
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
|
||||
pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
|
||||
pub const __STDC_ISO_10646__: u32 = 201706;
|
||||
pub const __GNU_LIBRARY__: u32 = 6;
|
||||
pub const __GLIBC__: u32 = 2;
|
||||
pub const __GLIBC_MINOR__: u32 = 35;
|
||||
pub const _SYS_CDEFS_H: u32 = 1;
|
||||
pub const __glibc_c99_flexarr_available: u32 = 1;
|
||||
pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
|
||||
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
|
||||
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
|
||||
pub const _BITS_TYPES_H: u32 = 1;
|
||||
pub const _BITS_TYPESIZES_H: u32 = 1;
|
||||
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
|
||||
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
|
||||
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
|
||||
pub const __STATFS_MATCHES_STATFS64: u32 = 1;
|
||||
pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
|
||||
pub const __FD_SETSIZE: u32 = 1024;
|
||||
pub const _BITS_TIME64_H: u32 = 1;
|
||||
pub const _BITS_WCHAR_H: u32 = 1;
|
||||
pub const _BITS_STDINT_INTN_H: u32 = 1;
|
||||
pub const _BITS_STDINT_UINTN_H: u32 = 1;
|
||||
pub const INT8_MIN: i32 = -128;
|
||||
pub const INT16_MIN: i32 = -32768;
|
||||
pub const INT32_MIN: i32 = -2147483648;
|
||||
pub const INT8_MAX: u32 = 127;
|
||||
pub const INT16_MAX: u32 = 32767;
|
||||
pub const INT32_MAX: u32 = 2147483647;
|
||||
pub const UINT8_MAX: u32 = 255;
|
||||
pub const UINT16_MAX: u32 = 65535;
|
||||
pub const UINT32_MAX: u32 = 4294967295;
|
||||
pub const INT_LEAST8_MIN: i32 = -128;
|
||||
pub const INT_LEAST16_MIN: i32 = -32768;
|
||||
pub const INT_LEAST32_MIN: i32 = -2147483648;
|
||||
pub const INT_LEAST8_MAX: u32 = 127;
|
||||
pub const INT_LEAST16_MAX: u32 = 32767;
|
||||
pub const INT_LEAST32_MAX: u32 = 2147483647;
|
||||
pub const UINT_LEAST8_MAX: u32 = 255;
|
||||
pub const UINT_LEAST16_MAX: u32 = 65535;
|
||||
pub const UINT_LEAST32_MAX: u32 = 4294967295;
|
||||
pub const INT_FAST8_MIN: i32 = -128;
|
||||
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
|
||||
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
|
||||
pub const INT_FAST8_MAX: u32 = 127;
|
||||
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
|
||||
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
|
||||
pub const UINT_FAST8_MAX: u32 = 255;
|
||||
pub const UINT_FAST16_MAX: i32 = -1;
|
||||
pub const UINT_FAST32_MAX: i32 = -1;
|
||||
pub const INTPTR_MIN: i64 = -9223372036854775808;
|
||||
pub const INTPTR_MAX: u64 = 9223372036854775807;
|
||||
pub const UINTPTR_MAX: i32 = -1;
|
||||
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
|
||||
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
|
||||
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
|
||||
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
|
||||
pub const SIZE_MAX: i32 = -1;
|
||||
pub const WCHAR_MIN: u32 = 0;
|
||||
pub const WCHAR_MAX: u32 = 65535;
|
||||
pub const WINT_MIN: u32 = 0;
|
||||
pub const WINT_MAX: u32 = 4294967295;
|
||||
pub const WINT_MAX: u32 = 65535;
|
||||
pub const LZ4_STREAM_MINSIZE: u32 = 16416;
|
||||
pub const LZ4_STREAMDECODE_MINSIZE: u32 = 32;
|
||||
pub const LZ4HC_CLEVEL_MIN: u32 = 3;
|
||||
@ -135,49 +73,210 @@ pub const XXH_VERSION_MAJOR: u32 = 0;
|
||||
pub const XXH_VERSION_MINOR: u32 = 6;
|
||||
pub const XXH_VERSION_RELEASE: u32 = 5;
|
||||
pub const XXH_VERSION_NUMBER: u32 = 605;
|
||||
pub type wchar_t = ::std::os::raw::c_int;
|
||||
pub type va_list = *mut ::std::os::raw::c_char;
|
||||
extern "C" {
|
||||
pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
|
||||
}
|
||||
pub type __vcrt_bool = bool;
|
||||
pub type wchar_t = ::std::os::raw::c_ushort;
|
||||
extern "C" {
|
||||
pub fn __security_init_cookie();
|
||||
}
|
||||
extern "C" {
|
||||
pub fn __security_check_cookie(_StackCookie: usize);
|
||||
}
|
||||
extern "C" {
|
||||
pub fn __report_gsfailure(_StackCookie: usize) -> !;
|
||||
}
|
||||
extern "C" {
|
||||
pub static mut __security_cookie: usize;
|
||||
}
|
||||
pub type __crt_bool = bool;
|
||||
extern "C" {
|
||||
pub fn _invalid_parameter_noinfo();
|
||||
}
|
||||
extern "C" {
|
||||
pub fn _invalid_parameter_noinfo_noreturn() -> !;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn _invoke_watson(
|
||||
_Expression: *const wchar_t,
|
||||
_FunctionName: *const wchar_t,
|
||||
_FileName: *const wchar_t,
|
||||
_LineNo: ::std::os::raw::c_uint,
|
||||
_Reserved: usize,
|
||||
) -> !;
|
||||
}
|
||||
pub type errno_t = ::std::os::raw::c_int;
|
||||
pub type wint_t = ::std::os::raw::c_ushort;
|
||||
pub type wctype_t = ::std::os::raw::c_ushort;
|
||||
pub type __time32_t = ::std::os::raw::c_long;
|
||||
pub type __time64_t = ::std::os::raw::c_longlong;
|
||||
#[repr(C)]
|
||||
#[repr(align(16))]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct max_align_t {
|
||||
pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
|
||||
pub __bindgen_padding_0: u64,
|
||||
pub __clang_max_align_nonce2: u128,
|
||||
pub struct __crt_locale_data_public {
|
||||
pub _locale_pctype: *const ::std::os::raw::c_ushort,
|
||||
pub _locale_mb_cur_max: ::std::os::raw::c_int,
|
||||
pub _locale_lc_codepage: ::std::os::raw::c_uint,
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_max_align_t() {
|
||||
const UNINIT: ::std::mem::MaybeUninit<max_align_t> = ::std::mem::MaybeUninit::uninit();
|
||||
fn bindgen_test_layout___crt_locale_data_public() {
|
||||
const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> =
|
||||
::std::mem::MaybeUninit::uninit();
|
||||
let ptr = UNINIT.as_ptr();
|
||||
assert_eq!(
|
||||
::std::mem::size_of::<max_align_t>(),
|
||||
32usize,
|
||||
concat!("Size of: ", stringify!(max_align_t))
|
||||
);
|
||||
assert_eq!(
|
||||
::std::mem::align_of::<max_align_t>(),
|
||||
::std::mem::size_of::<__crt_locale_data_public>(),
|
||||
16usize,
|
||||
concat!("Alignment of ", stringify!(max_align_t))
|
||||
concat!("Size of: ", stringify!(__crt_locale_data_public))
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - ptr as usize },
|
||||
::std::mem::align_of::<__crt_locale_data_public>(),
|
||||
8usize,
|
||||
concat!("Alignment of ", stringify!(__crt_locale_data_public))
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize },
|
||||
0usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(max_align_t),
|
||||
stringify!(__crt_locale_data_public),
|
||||
"::",
|
||||
stringify!(__clang_max_align_nonce1)
|
||||
stringify!(_locale_pctype)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - ptr as usize },
|
||||
16usize,
|
||||
unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize },
|
||||
8usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(max_align_t),
|
||||
stringify!(__crt_locale_data_public),
|
||||
"::",
|
||||
stringify!(__clang_max_align_nonce2)
|
||||
stringify!(_locale_mb_cur_max)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize },
|
||||
12usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(__crt_locale_data_public),
|
||||
"::",
|
||||
stringify!(_locale_lc_codepage)
|
||||
)
|
||||
);
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct __crt_locale_pointers {
|
||||
pub locinfo: *mut __crt_locale_data,
|
||||
pub mbcinfo: *mut __crt_multibyte_data,
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout___crt_locale_pointers() {
|
||||
const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> =
|
||||
::std::mem::MaybeUninit::uninit();
|
||||
let ptr = UNINIT.as_ptr();
|
||||
assert_eq!(
|
||||
::std::mem::size_of::<__crt_locale_pointers>(),
|
||||
16usize,
|
||||
concat!("Size of: ", stringify!(__crt_locale_pointers))
|
||||
);
|
||||
assert_eq!(
|
||||
::std::mem::align_of::<__crt_locale_pointers>(),
|
||||
8usize,
|
||||
concat!("Alignment of ", stringify!(__crt_locale_pointers))
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize },
|
||||
0usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(__crt_locale_pointers),
|
||||
"::",
|
||||
stringify!(locinfo)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize },
|
||||
8usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(__crt_locale_pointers),
|
||||
"::",
|
||||
stringify!(mbcinfo)
|
||||
)
|
||||
);
|
||||
}
|
||||
pub type _locale_t = *mut __crt_locale_pointers;
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct _Mbstatet {
|
||||
pub _Wchar: ::std::os::raw::c_ulong,
|
||||
pub _Byte: ::std::os::raw::c_ushort,
|
||||
pub _State: ::std::os::raw::c_ushort,
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout__Mbstatet() {
|
||||
const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit();
|
||||
let ptr = UNINIT.as_ptr();
|
||||
assert_eq!(
|
||||
::std::mem::size_of::<_Mbstatet>(),
|
||||
8usize,
|
||||
concat!("Size of: ", stringify!(_Mbstatet))
|
||||
);
|
||||
assert_eq!(
|
||||
::std::mem::align_of::<_Mbstatet>(),
|
||||
4usize,
|
||||
concat!("Alignment of ", stringify!(_Mbstatet))
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize },
|
||||
0usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(_Mbstatet),
|
||||
"::",
|
||||
stringify!(_Wchar)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize },
|
||||
4usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(_Mbstatet),
|
||||
"::",
|
||||
stringify!(_Byte)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize },
|
||||
6usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(_Mbstatet),
|
||||
"::",
|
||||
stringify!(_State)
|
||||
)
|
||||
);
|
||||
}
|
||||
pub type mbstate_t = _Mbstatet;
|
||||
pub type time_t = __time64_t;
|
||||
pub type rsize_t = usize;
|
||||
extern "C" {
|
||||
pub fn _errno() -> *mut ::std::os::raw::c_int;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn __threadid() -> ::std::os::raw::c_ulong;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn __threadhandle() -> usize;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn LZ4_versionNumber() -> ::std::os::raw::c_int;
|
||||
@ -340,116 +439,24 @@ extern "C" {
|
||||
dictSize: ::std::os::raw::c_int,
|
||||
) -> ::std::os::raw::c_int;
|
||||
}
|
||||
pub type __u_char = ::std::os::raw::c_uchar;
|
||||
pub type __u_short = ::std::os::raw::c_ushort;
|
||||
pub type __u_int = ::std::os::raw::c_uint;
|
||||
pub type __u_long = ::std::os::raw::c_ulong;
|
||||
pub type __int8_t = ::std::os::raw::c_schar;
|
||||
pub type __uint8_t = ::std::os::raw::c_uchar;
|
||||
pub type __int16_t = ::std::os::raw::c_short;
|
||||
pub type __uint16_t = ::std::os::raw::c_ushort;
|
||||
pub type __int32_t = ::std::os::raw::c_int;
|
||||
pub type __uint32_t = ::std::os::raw::c_uint;
|
||||
pub type __int64_t = ::std::os::raw::c_long;
|
||||
pub type __uint64_t = ::std::os::raw::c_ulong;
|
||||
pub type __int_least8_t = __int8_t;
|
||||
pub type __uint_least8_t = __uint8_t;
|
||||
pub type __int_least16_t = __int16_t;
|
||||
pub type __uint_least16_t = __uint16_t;
|
||||
pub type __int_least32_t = __int32_t;
|
||||
pub type __uint_least32_t = __uint32_t;
|
||||
pub type __int_least64_t = __int64_t;
|
||||
pub type __uint_least64_t = __uint64_t;
|
||||
pub type __quad_t = ::std::os::raw::c_long;
|
||||
pub type __u_quad_t = ::std::os::raw::c_ulong;
|
||||
pub type __intmax_t = ::std::os::raw::c_long;
|
||||
pub type __uintmax_t = ::std::os::raw::c_ulong;
|
||||
pub type __dev_t = ::std::os::raw::c_ulong;
|
||||
pub type __uid_t = ::std::os::raw::c_uint;
|
||||
pub type __gid_t = ::std::os::raw::c_uint;
|
||||
pub type __ino_t = ::std::os::raw::c_ulong;
|
||||
pub type __ino64_t = ::std::os::raw::c_ulong;
|
||||
pub type __mode_t = ::std::os::raw::c_uint;
|
||||
pub type __nlink_t = ::std::os::raw::c_ulong;
|
||||
pub type __off_t = ::std::os::raw::c_long;
|
||||
pub type __off64_t = ::std::os::raw::c_long;
|
||||
pub type __pid_t = ::std::os::raw::c_int;
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct __fsid_t {
|
||||
pub __val: [::std::os::raw::c_int; 2usize],
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout___fsid_t() {
|
||||
const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
|
||||
let ptr = UNINIT.as_ptr();
|
||||
assert_eq!(
|
||||
::std::mem::size_of::<__fsid_t>(),
|
||||
8usize,
|
||||
concat!("Size of: ", stringify!(__fsid_t))
|
||||
);
|
||||
assert_eq!(
|
||||
::std::mem::align_of::<__fsid_t>(),
|
||||
4usize,
|
||||
concat!("Alignment of ", stringify!(__fsid_t))
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
|
||||
0usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(__fsid_t),
|
||||
"::",
|
||||
stringify!(__val)
|
||||
)
|
||||
);
|
||||
}
|
||||
pub type __clock_t = ::std::os::raw::c_long;
|
||||
pub type __rlim_t = ::std::os::raw::c_ulong;
|
||||
pub type __rlim64_t = ::std::os::raw::c_ulong;
|
||||
pub type __id_t = ::std::os::raw::c_uint;
|
||||
pub type __time_t = ::std::os::raw::c_long;
|
||||
pub type __useconds_t = ::std::os::raw::c_uint;
|
||||
pub type __suseconds_t = ::std::os::raw::c_long;
|
||||
pub type __suseconds64_t = ::std::os::raw::c_long;
|
||||
pub type __daddr_t = ::std::os::raw::c_int;
|
||||
pub type __key_t = ::std::os::raw::c_int;
|
||||
pub type __clockid_t = ::std::os::raw::c_int;
|
||||
pub type __timer_t = *mut ::std::os::raw::c_void;
|
||||
pub type __blksize_t = ::std::os::raw::c_long;
|
||||
pub type __blkcnt_t = ::std::os::raw::c_long;
|
||||
pub type __blkcnt64_t = ::std::os::raw::c_long;
|
||||
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
|
||||
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
|
||||
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
|
||||
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
|
||||
pub type __fsword_t = ::std::os::raw::c_long;
|
||||
pub type __ssize_t = ::std::os::raw::c_long;
|
||||
pub type __syscall_slong_t = ::std::os::raw::c_long;
|
||||
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
|
||||
pub type __loff_t = __off64_t;
|
||||
pub type __caddr_t = *mut ::std::os::raw::c_char;
|
||||
pub type __intptr_t = ::std::os::raw::c_long;
|
||||
pub type __socklen_t = ::std::os::raw::c_uint;
|
||||
pub type __sig_atomic_t = ::std::os::raw::c_int;
|
||||
pub type int_least8_t = __int_least8_t;
|
||||
pub type int_least16_t = __int_least16_t;
|
||||
pub type int_least32_t = __int_least32_t;
|
||||
pub type int_least64_t = __int_least64_t;
|
||||
pub type uint_least8_t = __uint_least8_t;
|
||||
pub type uint_least16_t = __uint_least16_t;
|
||||
pub type uint_least32_t = __uint_least32_t;
|
||||
pub type uint_least64_t = __uint_least64_t;
|
||||
pub type int_least8_t = ::std::os::raw::c_schar;
|
||||
pub type int_least16_t = ::std::os::raw::c_short;
|
||||
pub type int_least32_t = ::std::os::raw::c_int;
|
||||
pub type int_least64_t = ::std::os::raw::c_longlong;
|
||||
pub type uint_least8_t = ::std::os::raw::c_uchar;
|
||||
pub type uint_least16_t = ::std::os::raw::c_ushort;
|
||||
pub type uint_least32_t = ::std::os::raw::c_uint;
|
||||
pub type uint_least64_t = ::std::os::raw::c_ulonglong;
|
||||
pub type int_fast8_t = ::std::os::raw::c_schar;
|
||||
pub type int_fast16_t = ::std::os::raw::c_long;
|
||||
pub type int_fast32_t = ::std::os::raw::c_long;
|
||||
pub type int_fast64_t = ::std::os::raw::c_long;
|
||||
pub type int_fast16_t = ::std::os::raw::c_int;
|
||||
pub type int_fast32_t = ::std::os::raw::c_int;
|
||||
pub type int_fast64_t = ::std::os::raw::c_longlong;
|
||||
pub type uint_fast8_t = ::std::os::raw::c_uchar;
|
||||
pub type uint_fast16_t = ::std::os::raw::c_ulong;
|
||||
pub type uint_fast32_t = ::std::os::raw::c_ulong;
|
||||
pub type uint_fast64_t = ::std::os::raw::c_ulong;
|
||||
pub type intmax_t = __intmax_t;
|
||||
pub type uintmax_t = __uintmax_t;
|
||||
pub type uint_fast16_t = ::std::os::raw::c_uint;
|
||||
pub type uint_fast32_t = ::std::os::raw::c_uint;
|
||||
pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
|
||||
pub type intmax_t = ::std::os::raw::c_longlong;
|
||||
pub type uintmax_t = ::std::os::raw::c_ulonglong;
|
||||
pub type LZ4_i8 = i8;
|
||||
pub type LZ4_byte = u8;
|
||||
pub type LZ4_u16 = u16;
|
||||
@ -1239,19 +1246,19 @@ pub const LZ4F_blockSizeID_t_LZ4F_max64KB: LZ4F_blockSizeID_t = 4;
|
||||
pub const LZ4F_blockSizeID_t_LZ4F_max256KB: LZ4F_blockSizeID_t = 5;
|
||||
pub const LZ4F_blockSizeID_t_LZ4F_max1MB: LZ4F_blockSizeID_t = 6;
|
||||
pub const LZ4F_blockSizeID_t_LZ4F_max4MB: LZ4F_blockSizeID_t = 7;
|
||||
pub type LZ4F_blockSizeID_t = ::std::os::raw::c_uint;
|
||||
pub type LZ4F_blockSizeID_t = ::std::os::raw::c_int;
|
||||
pub const LZ4F_blockMode_t_LZ4F_blockLinked: LZ4F_blockMode_t = 0;
|
||||
pub const LZ4F_blockMode_t_LZ4F_blockIndependent: LZ4F_blockMode_t = 1;
|
||||
pub type LZ4F_blockMode_t = ::std::os::raw::c_uint;
|
||||
pub type LZ4F_blockMode_t = ::std::os::raw::c_int;
|
||||
pub const LZ4F_contentChecksum_t_LZ4F_noContentChecksum: LZ4F_contentChecksum_t = 0;
|
||||
pub const LZ4F_contentChecksum_t_LZ4F_contentChecksumEnabled: LZ4F_contentChecksum_t = 1;
|
||||
pub type LZ4F_contentChecksum_t = ::std::os::raw::c_uint;
|
||||
pub type LZ4F_contentChecksum_t = ::std::os::raw::c_int;
|
||||
pub const LZ4F_blockChecksum_t_LZ4F_noBlockChecksum: LZ4F_blockChecksum_t = 0;
|
||||
pub const LZ4F_blockChecksum_t_LZ4F_blockChecksumEnabled: LZ4F_blockChecksum_t = 1;
|
||||
pub type LZ4F_blockChecksum_t = ::std::os::raw::c_uint;
|
||||
pub type LZ4F_blockChecksum_t = ::std::os::raw::c_int;
|
||||
pub const LZ4F_frameType_t_LZ4F_frame: LZ4F_frameType_t = 0;
|
||||
pub const LZ4F_frameType_t_LZ4F_skippableFrame: LZ4F_frameType_t = 1;
|
||||
pub type LZ4F_frameType_t = ::std::os::raw::c_uint;
|
||||
pub type LZ4F_frameType_t = ::std::os::raw::c_int;
|
||||
#[doc = " LZ4F_frameInfo_t :\n makes it possible to set or read frame parameters.\n Structure must be first init to 0, using memset() or LZ4F_INIT_FRAMEINFO,\n setting all parameters to default.\n It's then possible to update selectively some parameters"]
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
@ -1659,7 +1666,7 @@ extern "C" {
|
||||
}
|
||||
pub const XXH_errorcode_XXH_OK: XXH_errorcode = 0;
|
||||
pub const XXH_errorcode_XXH_ERROR: XXH_errorcode = 1;
|
||||
pub type XXH_errorcode = ::std::os::raw::c_uint;
|
||||
pub type XXH_errorcode = ::std::os::raw::c_int;
|
||||
extern "C" {
|
||||
pub fn XXH_versionNumber() -> ::std::os::raw::c_uint;
|
||||
}
|
||||
@ -1813,3 +1820,13 @@ extern "C" {
|
||||
extern "C" {
|
||||
pub fn XXH64_hashFromCanonical(src: *const XXH64_canonical_t) -> XXH64_hash_t;
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct __crt_locale_data {
|
||||
pub _address: u8,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct __crt_multibyte_data {
|
||||
pub _address: u8,
|
||||
}
|
||||
|
22
dotnet-sandbox/NativeMethods.cs
vendored
22
dotnet-sandbox/NativeMethods.cs
vendored
@ -176,10 +176,24 @@ namespace CsBindgen
|
||||
[DllImport(__DllName, EntryPoint = "call_bindgen_lz4", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
public static extern void call_bindgen_lz4();
|
||||
|
||||
|
||||
[DllImport(__DllName, EntryPoint = "reference_type", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
public static extern void reference_type(int* _a, int** _b, void/* byte[] */* _c, Context* _d);
|
||||
|
||||
[DllImport(__DllName, EntryPoint = "reference_hogemoge1", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
public static extern void reference_hogemoge1(int* _a, int** _b);
|
||||
|
||||
[DllImport(__DllName, EntryPoint = "reference_hogemoge2", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
public static extern void reference_hogemoge2(int* _a, int** _b);
|
||||
|
||||
[DllImport(__DllName, EntryPoint = "create_counter_context2", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
public static extern CounterContext2* create_counter_context2();
|
||||
|
||||
[DllImport(__DllName, EntryPoint = "insert_counter_context2", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
public static extern void insert_counter_context2(CounterContext2* context, int value);
|
||||
|
||||
[DllImport(__DllName, EntryPoint = "delete_counter_context2", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
public static extern void delete_counter_context2(CounterContext2* context);
|
||||
|
||||
[DllImport(__DllName, EntryPoint = "init_treat_as_empty_struct_context", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
public static extern void init_treat_as_empty_struct_context(TreatAsEmptyStruct** _out);
|
||||
|
||||
@ -187,7 +201,6 @@ namespace CsBindgen
|
||||
public static extern void free_treat_as_empty_struct_context(TreatAsEmptyStruct* _src);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@ -271,6 +284,11 @@ namespace CsBindgen
|
||||
public delegate* unmanaged[Cdecl]<int, int> foobar;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal unsafe partial struct CounterContext2
|
||||
{
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal unsafe partial struct TreatAsEmptyStruct
|
||||
{
|
||||
|
150
dotnet-sandbox/lz4_bindgen.cs
vendored
150
dotnet-sandbox/lz4_bindgen.cs
vendored
@ -19,6 +19,35 @@ namespace CsBindgen
|
||||
#endif
|
||||
|
||||
|
||||
public const uint _VCRT_COMPILER_PREPROCESSOR = 1;
|
||||
public const uint _SAL_VERSION = 20;
|
||||
public const uint __SAL_H_VERSION = 180000000;
|
||||
public const uint _USE_DECLSPECS_FOR_SAL = 0;
|
||||
public const uint _USE_ATTRIBUTES_FOR_SAL = 0;
|
||||
public const uint _CRT_PACKING = 8;
|
||||
public const uint _HAS_EXCEPTIONS = 1;
|
||||
public const uint _STL_LANG = 0;
|
||||
public const uint _HAS_CXX17 = 0;
|
||||
public const uint _HAS_CXX20 = 0;
|
||||
public const uint _HAS_CXX23 = 0;
|
||||
public const uint _HAS_NODISCARD = 0;
|
||||
public const uint _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE = 1;
|
||||
public const uint _CRT_BUILD_DESKTOP_APP = 1;
|
||||
public const uint _ARGMAX = 100;
|
||||
public const uint _CRT_INT_MAX = 2147483647;
|
||||
public const uint _CRT_FUNCTIONS_REQUIRED = 1;
|
||||
public const uint _CRT_HAS_CXX17 = 0;
|
||||
public const uint _CRT_HAS_C11 = 1;
|
||||
public const uint _CRT_INTERNAL_NONSTDC_NAMES = 1;
|
||||
public const uint __STDC_SECURE_LIB__ = 200411;
|
||||
public const uint __GOT_SECURE_LIB__ = 200411;
|
||||
public const uint __STDC_WANT_SECURE_LIB__ = 1;
|
||||
public const uint _SECURECRT_FILL_BUFFER_PATTERN = 254;
|
||||
public const uint _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0;
|
||||
public const uint _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0;
|
||||
public const uint _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 1;
|
||||
public const uint _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0;
|
||||
public const uint _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0;
|
||||
public const uint LZ4_FREESTANDING = 0;
|
||||
public const uint LZ4_VERSION_MAJOR = 1;
|
||||
public const uint LZ4_VERSION_MINOR = 9;
|
||||
@ -32,85 +61,10 @@ namespace CsBindgen
|
||||
public const uint LZ4_HASHLOG = 12;
|
||||
public const uint LZ4_HASHTABLESIZE = 16384;
|
||||
public const uint LZ4_HASH_SIZE_U32 = 4096;
|
||||
public const uint _STDINT_H = 1;
|
||||
public const uint _FEATURES_H = 1;
|
||||
public const uint _DEFAULT_SOURCE = 1;
|
||||
public const uint __GLIBC_USE_ISOC2X = 0;
|
||||
public const uint __USE_ISOC11 = 1;
|
||||
public const uint __USE_ISOC99 = 1;
|
||||
public const uint __USE_ISOC95 = 1;
|
||||
public const uint __USE_POSIX_IMPLICITLY = 1;
|
||||
public const uint _POSIX_SOURCE = 1;
|
||||
public const uint _POSIX_C_SOURCE = 200809;
|
||||
public const uint __USE_POSIX = 1;
|
||||
public const uint __USE_POSIX2 = 1;
|
||||
public const uint __USE_POSIX199309 = 1;
|
||||
public const uint __USE_POSIX199506 = 1;
|
||||
public const uint __USE_XOPEN2K = 1;
|
||||
public const uint __USE_XOPEN2K8 = 1;
|
||||
public const uint _ATFILE_SOURCE = 1;
|
||||
public const uint __WORDSIZE = 64;
|
||||
public const uint __WORDSIZE_TIME64_COMPAT32 = 1;
|
||||
public const uint __SYSCALL_WORDSIZE = 64;
|
||||
public const uint __TIMESIZE = 64;
|
||||
public const uint __USE_MISC = 1;
|
||||
public const uint __USE_ATFILE = 1;
|
||||
public const uint __USE_FORTIFY_LEVEL = 0;
|
||||
public const uint __GLIBC_USE_DEPRECATED_GETS = 0;
|
||||
public const uint __GLIBC_USE_DEPRECATED_SCANF = 0;
|
||||
public const uint _STDC_PREDEF_H = 1;
|
||||
public const uint __STDC_IEC_559__ = 1;
|
||||
public const uint __STDC_IEC_60559_BFP__ = 201404;
|
||||
public const uint __STDC_IEC_559_COMPLEX__ = 1;
|
||||
public const uint __STDC_IEC_60559_COMPLEX__ = 201404;
|
||||
public const uint __STDC_ISO_10646__ = 201706;
|
||||
public const uint __GNU_LIBRARY__ = 6;
|
||||
public const uint __GLIBC__ = 2;
|
||||
public const uint __GLIBC_MINOR__ = 35;
|
||||
public const uint _SYS_CDEFS_H = 1;
|
||||
public const uint __glibc_c99_flexarr_available = 1;
|
||||
public const uint __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI = 0;
|
||||
public const uint __HAVE_GENERIC_SELECTION = 1;
|
||||
public const uint __GLIBC_USE_LIB_EXT2 = 0;
|
||||
public const uint __GLIBC_USE_IEC_60559_BFP_EXT = 0;
|
||||
public const uint __GLIBC_USE_IEC_60559_BFP_EXT_C2X = 0;
|
||||
public const uint __GLIBC_USE_IEC_60559_EXT = 0;
|
||||
public const uint __GLIBC_USE_IEC_60559_FUNCS_EXT = 0;
|
||||
public const uint __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X = 0;
|
||||
public const uint __GLIBC_USE_IEC_60559_TYPES_EXT = 0;
|
||||
public const uint _BITS_TYPES_H = 1;
|
||||
public const uint _BITS_TYPESIZES_H = 1;
|
||||
public const uint __OFF_T_MATCHES_OFF64_T = 1;
|
||||
public const uint __INO_T_MATCHES_INO64_T = 1;
|
||||
public const uint __RLIM_T_MATCHES_RLIM64_T = 1;
|
||||
public const uint __STATFS_MATCHES_STATFS64 = 1;
|
||||
public const uint __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 = 1;
|
||||
public const uint __FD_SETSIZE = 1024;
|
||||
public const uint _BITS_TIME64_H = 1;
|
||||
public const uint _BITS_WCHAR_H = 1;
|
||||
public const uint _BITS_STDINT_INTN_H = 1;
|
||||
public const uint _BITS_STDINT_UINTN_H = 1;
|
||||
public const uint INT8_MAX = 127;
|
||||
public const uint INT16_MAX = 32767;
|
||||
public const uint INT32_MAX = 2147483647;
|
||||
public const uint UINT8_MAX = 255;
|
||||
public const uint UINT16_MAX = 65535;
|
||||
public const uint UINT32_MAX = 4294967295;
|
||||
public const uint INT_LEAST8_MAX = 127;
|
||||
public const uint INT_LEAST16_MAX = 32767;
|
||||
public const uint INT_LEAST32_MAX = 2147483647;
|
||||
public const uint UINT_LEAST8_MAX = 255;
|
||||
public const uint UINT_LEAST16_MAX = 65535;
|
||||
public const uint UINT_LEAST32_MAX = 4294967295;
|
||||
public const uint INT_FAST8_MAX = 127;
|
||||
public const ulong INT_FAST16_MAX = 9223372036854775807;
|
||||
public const ulong INT_FAST32_MAX = 9223372036854775807;
|
||||
public const uint UINT_FAST8_MAX = 255;
|
||||
public const ulong INTPTR_MAX = 9223372036854775807;
|
||||
public const ulong PTRDIFF_MAX = 9223372036854775807;
|
||||
public const uint SIG_ATOMIC_MAX = 2147483647;
|
||||
public const uint WCHAR_MIN = 0;
|
||||
public const uint WCHAR_MAX = 65535;
|
||||
public const uint WINT_MIN = 0;
|
||||
public const uint WINT_MAX = 4294967295;
|
||||
public const uint WINT_MAX = 65535;
|
||||
public const uint LZ4_STREAM_MINSIZE = 16416;
|
||||
public const uint LZ4_STREAMDECODE_MINSIZE = 32;
|
||||
public const uint LZ4HC_CLEVEL_MIN = 3;
|
||||
@ -138,21 +92,21 @@ namespace CsBindgen
|
||||
public const uint XXH_VERSION_MINOR = 6;
|
||||
public const uint XXH_VERSION_RELEASE = 5;
|
||||
public const uint XXH_VERSION_NUMBER = 605;
|
||||
public const uint LZ4F_blockSizeID_t_LZ4F_default = 0;
|
||||
public const uint LZ4F_blockSizeID_t_LZ4F_max64KB = 4;
|
||||
public const uint LZ4F_blockSizeID_t_LZ4F_max256KB = 5;
|
||||
public const uint LZ4F_blockSizeID_t_LZ4F_max1MB = 6;
|
||||
public const uint LZ4F_blockSizeID_t_LZ4F_max4MB = 7;
|
||||
public const uint LZ4F_blockMode_t_LZ4F_blockLinked = 0;
|
||||
public const uint LZ4F_blockMode_t_LZ4F_blockIndependent = 1;
|
||||
public const uint LZ4F_contentChecksum_t_LZ4F_noContentChecksum = 0;
|
||||
public const uint LZ4F_contentChecksum_t_LZ4F_contentChecksumEnabled = 1;
|
||||
public const uint LZ4F_blockChecksum_t_LZ4F_noBlockChecksum = 0;
|
||||
public const uint LZ4F_blockChecksum_t_LZ4F_blockChecksumEnabled = 1;
|
||||
public const uint LZ4F_frameType_t_LZ4F_frame = 0;
|
||||
public const uint LZ4F_frameType_t_LZ4F_skippableFrame = 1;
|
||||
public const uint XXH_errorcode_XXH_OK = 0;
|
||||
public const uint XXH_errorcode_XXH_ERROR = 1;
|
||||
public const int LZ4F_blockSizeID_t_LZ4F_default = 0;
|
||||
public const int LZ4F_blockSizeID_t_LZ4F_max64KB = 4;
|
||||
public const int LZ4F_blockSizeID_t_LZ4F_max256KB = 5;
|
||||
public const int LZ4F_blockSizeID_t_LZ4F_max1MB = 6;
|
||||
public const int LZ4F_blockSizeID_t_LZ4F_max4MB = 7;
|
||||
public const int LZ4F_blockMode_t_LZ4F_blockLinked = 0;
|
||||
public const int LZ4F_blockMode_t_LZ4F_blockIndependent = 1;
|
||||
public const int LZ4F_contentChecksum_t_LZ4F_noContentChecksum = 0;
|
||||
public const int LZ4F_contentChecksum_t_LZ4F_contentChecksumEnabled = 1;
|
||||
public const int LZ4F_blockChecksum_t_LZ4F_noBlockChecksum = 0;
|
||||
public const int LZ4F_blockChecksum_t_LZ4F_blockChecksumEnabled = 1;
|
||||
public const int LZ4F_frameType_t_LZ4F_frame = 0;
|
||||
public const int LZ4F_frameType_t_LZ4F_skippableFrame = 1;
|
||||
public const int XXH_errorcode_XXH_OK = 0;
|
||||
public const int XXH_errorcode_XXH_ERROR = 1;
|
||||
|
||||
|
||||
[DllImport(__DllName, EntryPoint = "csbindgen_LZ4_versionNumber", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
@ -538,13 +492,13 @@ namespace CsBindgen
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public unsafe partial struct LZ4F_frameInfo_t
|
||||
{
|
||||
public uint blockSizeID;
|
||||
public uint blockMode;
|
||||
public uint contentChecksumFlag;
|
||||
public uint frameType;
|
||||
public int blockSizeID;
|
||||
public int blockMode;
|
||||
public int contentChecksumFlag;
|
||||
public int frameType;
|
||||
public ulong contentSize;
|
||||
public uint dictID;
|
||||
public uint blockChecksumFlag;
|
||||
public int blockChecksumFlag;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
|
Loading…
Reference in New Issue
Block a user