use nuidl::idl_mod;
pub mod prelude {
pub use std::ffi::c_char as char;
pub use std::ffi::c_int as int;
pub use std::ffi::c_void as void;
pub use std::ffi::c_double as double;
pub use std::ffi::c_float as float;
pub use isize as ssize_t;
pub use usize as size_t;
pub use isize as intptr_t;
pub use isize as ptrdiff_t;
pub use usize as uintptr_t;
pub use i16 as int16_t;
pub use i32 as int32_t;
pub use i64 as int64_t;
pub use i8 as int8_t;
pub use u16 as uint16_t;
pub use u32 as uint32_t;
pub use u64 as uint64_t;
pub use u8 as uint8_t;
pub use bool;
pub use crate::{CLSID, GUID, HRESULT, IID};
}
pub mod imarshal_ {
#[doc(hidden)]
pub mod scope {
pub use super::*;
}
#[repr(C)]
pub enum MarshalContext {
MarshalContextLocal = 0,
MarshalContextNoSharedMem = 1,
MarshalContextDifferentMachine = 2,
MarshalContextInProcess = 3,
MarshalContextCrossCtx = 4,
}
#[repr(C)]
pub enum MarshalFlag {
Normal = 0,
TableStrong = 1,
TableWeak = 2,
TableNoPing = 4,
}
pub type MarshalFlags = std::ffi::c_int;
}
pub mod istream_ {
#[doc(hidden)]
pub mod scope {
pub use super::*;
pub use crate::GUID;
}
use crate::GUID;
#[repr(transparent)]
pub struct FileTime(u64);
#[repr(C)]
pub enum StreamSeek {
Set = 0,
Cur = 1,
End = 2,
}
#[repr(C)]
pub enum StreamCommitFlag {
Default = 0,
Overwrite = 1,
OnlyIfCurrent = 2,
DangerouslyCommitMerelyToDiskCache = 4,
Consolidate = 8,
}
pub type StreamCommitFlags = std::ffi::c_int;
#[repr(C)]
pub enum StreamLockFlag {
Write = 1,
Exclusive = 2,
OnlyOnce = 4,
}
pub type StreamLockFlags = std::ffi::c_int;
#[repr(C)]
pub enum StreamType {
Storage = 1,
Stream = 2,
LockBytes = 3,
Property = 4,
}
#[repr(C)]
pub struct StreamStats {
name: *const std::ffi::c_char,
r#type: StreamType,
size: u64,
mtime: FileTime,
ctime: FileTime,
atime: FileTime,
mode: u32,
locks_supported: StreamLockFlags,
clsid: *const GUID,
state_bits: u32,
unused: u32,
}
#[repr(C)]
pub enum StatFlag {
Default = 0,
NoName = 1,
NoOpen = 2,
}
pub type StatFlags = std::ffi::c_int;
}
idl_mod!(pub mod "nucom/iclassfactory.idl");
idl_mod!(pub mod "nucom/imalloc.idl");
idl_mod!(pub mod "nucom/imallocspy.idl");
idl_mod!(pub mod "nucom/imarshal.idl");
idl_mod!(pub mod "nucom/isequentialstream.idl");
idl_mod!(pub mod "nucom/istream.idl");
idl_mod!(pub mod "nucom/iunknown.idl");