Skip to content

Instantly share code, notes, and snippets.

@emberian
Created November 5, 2014 07:03
Show Gist options
  • Save emberian/d0a9ab5e7185d3b41860 to your computer and use it in GitHub Desktop.
Save emberian/d0a9ab5e7185d3b41860 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
// License header from top of the mingw-w64 windows.h this was generated from:
/*
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
/* automatically generated by rust-bindgen */
pub type __gnuc_va_list = __builtin_va_list;
pub type va_list = __gnuc_va_list;
pub type size_t = ::libc::c_ulonglong;
pub type ssize_t = ::libc::c_longlong;
pub type intptr_t = ::libc::c_longlong;
pub type uintptr_t = ::libc::c_ulonglong;
pub type ptrdiff_t = ::libc::c_longlong;
pub type wchar_t = ::libc::c_ushort;
pub type wint_t = ::libc::c_ushort;
pub type wctype_t = ::libc::c_ushort;
pub type errno_t = ::libc::c_int;
pub type __time32_t = ::libc::c_long;
pub type __time64_t = ::libc::c_longlong;
pub type time_t = __time64_t;
pub type rsize_t = size_t;
pub enum Struct_threadmbcinfostruct { }
pub type pthreadlocinfo = *mut Struct_threadlocaleinfostruct;
pub type pthreadmbcinfo = *mut Struct_threadmbcinfostruct;
pub enum Struct___lc_time_data { }
#[repr(C)]
pub struct Struct_localeinfo_struct {
pub locinfo: pthreadlocinfo,
pub mbcinfo: pthreadmbcinfo,
}
pub type _locale_tstruct = Struct_localeinfo_struct;
pub type _locale_t = *mut Struct_localeinfo_struct;
#[repr(C)]
pub struct Struct_tagLC_ID {
pub wLanguage: ::libc::c_ushort,
pub wCountry: ::libc::c_ushort,
pub wCodePage: ::libc::c_ushort,
}
pub type LC_ID = Struct_tagLC_ID;
pub type LPLC_ID = *mut Struct_tagLC_ID;
#[repr(C)]
pub struct Struct_threadlocaleinfostruct {
pub refcount: ::libc::c_int,
pub lc_codepage: ::libc::c_uint,
pub lc_collate_cp: ::libc::c_uint,
pub lc_handle: [::libc::c_ulong, ..6u],
pub lc_id: [LC_ID, ..6u],
pub lc_category: [Struct_Unnamed1, ..6u],
pub lc_clike: ::libc::c_int,
pub mb_cur_max: ::libc::c_int,
pub lconv_intl_refcount: *mut ::libc::c_int,
pub lconv_num_refcount: *mut ::libc::c_int,
pub lconv_mon_refcount: *mut ::libc::c_int,
pub lconv: *mut Struct_lconv,
pub ctype1_refcount: *mut ::libc::c_int,
pub ctype1: *mut ::libc::c_ushort,
pub pctype: *const ::libc::c_ushort,
pub pclmap: *const ::libc::c_uchar,
pub pcumap: *const ::libc::c_uchar,
pub lc_time_curr: *mut Struct___lc_time_data,
}
#[repr(C)]
pub struct Struct_Unnamed1 {
pub locale: *mut ::libc::c_char,
pub wlocale: *mut wchar_t,
pub refcount: *mut ::libc::c_int,
pub wrefcount: *mut ::libc::c_int,
}
pub enum Struct_lconv { }
pub type threadlocinfo = Struct_threadlocaleinfostruct;
pub type _PHNDLR = ::std::option::Option<extern "C" fn(arg1: ::libc::c_int)>;
#[repr(C)]
pub struct Struct__XCPT_ACTION {
pub XcptNum: ::libc::c_ulong,
pub SigNum: ::libc::c_int,
pub XcptAction: _PHNDLR,
}
pub type PEXCEPTION_HANDLER =
::std::option::Option<extern "C" fn
(arg1: *mut Struct__EXCEPTION_RECORD,
arg2: *mut ::libc::c_void,
arg3: *mut Struct__CONTEXT,
arg4: *mut ::libc::c_void) -> ::libc::c_int>;
pub type ULONG = ::libc::c_ulong;
pub type PULONG = *mut ULONG;
pub type USHORT = ::libc::c_ushort;
pub type PUSHORT = *mut USHORT;
pub type UCHAR = ::libc::c_uchar;
pub type PUCHAR = *mut UCHAR;
pub type PSZ = *mut ::libc::c_char;
pub type WINBOOL = ::libc::c_int;
pub type BOOL = ::libc::c_int;
pub type PBOOL = *mut WINBOOL;
pub type LPBOOL = *mut WINBOOL;
pub type BYTE = ::libc::c_uchar;
pub type WORD = ::libc::c_ushort;
pub type DWORD = ::libc::c_ulong;
pub type FLOAT = ::libc::c_float;
pub type PFLOAT = *mut FLOAT;
pub type PBYTE = *mut BYTE;
pub type LPBYTE = *mut BYTE;
pub type PINT = *mut ::libc::c_int;
pub type LPINT = *mut ::libc::c_int;
pub type PWORD = *mut WORD;
pub type LPWORD = *mut WORD;
pub type LPLONG = *mut ::libc::c_long;
pub type PDWORD = *mut DWORD;
pub type LPDWORD = *mut DWORD;
pub type LPVOID = *mut ::libc::c_void;
pub type LPCVOID = *const ::libc::c_void;
pub type INT = ::libc::c_int;
pub type UINT = ::libc::c_uint;
pub type PUINT = *mut ::libc::c_uint;
pub type POINTER_64_INT = ::libc::c_ulonglong;
pub type INT8 = ::libc::c_char;
pub type PINT8 = *mut ::libc::c_char;
pub type INT16 = ::libc::c_short;
pub type PINT16 = *mut ::libc::c_short;
pub type INT32 = ::libc::c_int;
pub type PINT32 = *mut ::libc::c_int;
pub type INT64 = ::libc::c_longlong;
pub type PINT64 = *mut ::libc::c_longlong;
pub type UINT8 = ::libc::c_uchar;
pub type PUINT8 = *mut ::libc::c_uchar;
pub type UINT16 = ::libc::c_ushort;
pub type PUINT16 = *mut ::libc::c_ushort;
pub type UINT32 = ::libc::c_uint;
pub type PUINT32 = *mut ::libc::c_uint;
pub type UINT64 = ::libc::c_ulonglong;
pub type PUINT64 = *mut ::libc::c_ulonglong;
pub type LONG32 = ::libc::c_int;
pub type PLONG32 = *mut ::libc::c_int;
pub type ULONG32 = ::libc::c_uint;
pub type PULONG32 = *mut ::libc::c_uint;
pub type DWORD32 = ::libc::c_uint;
pub type PDWORD32 = *mut ::libc::c_uint;
pub type INT_PTR = ::libc::c_longlong;
pub type PINT_PTR = *mut ::libc::c_longlong;
pub type UINT_PTR = ::libc::c_ulonglong;
pub type PUINT_PTR = *mut ::libc::c_ulonglong;
pub type LONG_PTR = ::libc::c_longlong;
pub type PLONG_PTR = *mut ::libc::c_longlong;
pub type ULONG_PTR = ::libc::c_ulonglong;
pub type PULONG_PTR = *mut ::libc::c_ulonglong;
pub type SHANDLE_PTR = ::libc::c_longlong;
pub type HANDLE_PTR = ::libc::c_ulonglong;
pub type UHALF_PTR = ::libc::c_uint;
pub type PUHALF_PTR = *mut ::libc::c_uint;
pub type HALF_PTR = ::libc::c_int;
pub type PHALF_PTR = *mut ::libc::c_int;
pub type SIZE_T = ULONG_PTR;
pub type PSIZE_T = *mut ULONG_PTR;
pub type SSIZE_T = LONG_PTR;
pub type PSSIZE_T = *mut LONG_PTR;
pub type DWORD_PTR = ULONG_PTR;
pub type PDWORD_PTR = *mut ULONG_PTR;
pub type LONG64 = ::libc::c_longlong;
pub type PLONG64 = *mut ::libc::c_longlong;
pub type ULONG64 = ::libc::c_ulonglong;
pub type PULONG64 = *mut ::libc::c_ulonglong;
pub type DWORD64 = ::libc::c_ulonglong;
pub type PDWORD64 = *mut ::libc::c_ulonglong;
pub type KAFFINITY = ULONG_PTR;
pub type PKAFFINITY = *mut KAFFINITY;
pub type PVOID = *mut ::libc::c_void;
pub type PVOID64 = *mut ::libc::c_void;
pub type CHAR = ::libc::c_char;
pub type SHORT = ::libc::c_short;
pub type LONG = ::libc::c_long;
pub type WCHAR = wchar_t;
pub type PWCHAR = *mut WCHAR;
pub type LPWCH = *mut WCHAR;
pub type PWCH = *mut WCHAR;
pub type LPCWCH = *const WCHAR;
pub type PCWCH = *const WCHAR;
pub type NWPSTR = *mut WCHAR;
pub type LPWSTR = *mut WCHAR;
pub type PWSTR = *mut WCHAR;
pub type PZPWSTR = *mut PWSTR;
pub type PCZPWSTR = *const PWSTR;
pub type LPUWSTR = *mut WCHAR;
pub type PUWSTR = *mut WCHAR;
pub type LPCWSTR = *const WCHAR;
pub type PCWSTR = *const WCHAR;
pub type PZPCWSTR = *mut PCWSTR;
pub type LPCUWSTR = *const WCHAR;
pub type PCUWSTR = *const WCHAR;
pub type PZZWSTR = *mut WCHAR;
pub type PCZZWSTR = *const WCHAR;
pub type PUZZWSTR = *mut WCHAR;
pub type PCUZZWSTR = *const WCHAR;
pub type PNZWCH = *mut WCHAR;
pub type PCNZWCH = *const WCHAR;
pub type PUNZWCH = *mut WCHAR;
pub type PCUNZWCH = *const WCHAR;
pub type PCHAR = *mut CHAR;
pub type LPCH = *mut CHAR;
pub type PCH = *mut CHAR;
pub type LPCCH = *const CHAR;
pub type PCCH = *const CHAR;
pub type NPSTR = *mut CHAR;
pub type LPSTR = *mut CHAR;
pub type PSTR = *mut CHAR;
pub type PZPSTR = *mut PSTR;
pub type PCZPSTR = *const PSTR;
pub type LPCSTR = *const CHAR;
pub type PCSTR = *const CHAR;
pub type PZPCSTR = *mut PCSTR;
pub type PZZSTR = *mut CHAR;
pub type PCZZSTR = *const CHAR;
pub type PNZCH = *mut CHAR;
pub type PCNZCH = *const CHAR;
pub type TCHAR = ::libc::c_char;
pub type PTCHAR = *mut ::libc::c_char;
pub type TBYTE = ::libc::c_uchar;
pub type PTBYTE = *mut ::libc::c_uchar;
pub type LPTCH = LPSTR;
pub type PTCH = LPSTR;
pub type LPCTCH = LPCCH;
pub type PCTCH = LPCCH;
pub type PTSTR = LPSTR;
pub type LPTSTR = LPSTR;
pub type PUTSTR = LPSTR;
pub type LPUTSTR = LPSTR;
pub type PCTSTR = LPCSTR;
pub type LPCTSTR = LPCSTR;
pub type PCUTSTR = LPCSTR;
pub type LPCUTSTR = LPCSTR;
pub type PZZTSTR = PZZSTR;
pub type PUZZTSTR = PZZSTR;
pub type PCZZTSTR = PCZZSTR;
pub type PCUZZTSTR = PCZZSTR;
pub type PZPTSTR = PZPSTR;
pub type PNZTCH = PNZCH;
pub type PUNZTCH = PNZCH;
pub type PCNZTCH = PCNZCH;
pub type PCUNZTCH = PCNZCH;
pub type PSHORT = *mut SHORT;
pub type PLONG = *mut LONG;
#[repr(C)]
pub struct Struct__GROUP_AFFINITY {
pub Mask: KAFFINITY,
pub Group: WORD,
pub Reserved: [WORD, ..3u],
}
pub type GROUP_AFFINITY = Struct__GROUP_AFFINITY;
pub type PGROUP_AFFINITY = *mut Struct__GROUP_AFFINITY;
pub type HANDLE = *mut ::libc::c_void;
pub type PHANDLE = *mut HANDLE;
pub type FCHAR = BYTE;
pub type FSHORT = WORD;
pub type FLONG = DWORD;
pub type HRESULT = LONG;
pub type CCHAR = ::libc::c_char;
pub type LCID = DWORD;
pub type PLCID = PDWORD;
pub type LANGID = WORD;
pub type Enum_Unnamed2 = ::libc::c_uint;
pub const UNSPECIFIED_COMPARTMENT_ID: ::libc::c_uint = 0;
pub const DEFAULT_COMPARTMENT_ID: ::libc::c_uint = 1;
pub type COMPARTMENT_ID = Enum_Unnamed2;
pub type PCOMPARTMENT_ID = *mut Enum_Unnamed2;
#[repr(C)]
pub struct Struct__FLOAT128 {
pub LowPart: ::libc::c_longlong,
pub HighPart: ::libc::c_longlong,
}
pub type FLOAT128 = Struct__FLOAT128;
pub type PFLOAT128 = *mut FLOAT128;
pub type LONGLONG = ::libc::c_longlong;
pub type ULONGLONG = ::libc::c_ulonglong;
pub type PLONGLONG = *mut LONGLONG;
pub type PULONGLONG = *mut ULONGLONG;
pub type USN = LONGLONG;
#[repr(C)]
pub struct Union__LARGE_INTEGER {
pub data: [u64, ..1u],
}
impl Union__LARGE_INTEGER {
pub fn u(&mut self) -> *mut Struct_Unnamed3 {
unsafe { ::std::mem::transmute(self) }
}
pub fn QuadPart(&mut self) -> *mut LONGLONG {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed4 {
pub LowPart: DWORD,
pub HighPart: LONG,
}
#[repr(C)]
pub struct Struct_Unnamed3 {
pub LowPart: DWORD,
pub HighPart: LONG,
}
pub type LARGE_INTEGER = Union__LARGE_INTEGER;
pub type PLARGE_INTEGER = *mut LARGE_INTEGER;
#[repr(C)]
pub struct Union__ULARGE_INTEGER {
pub data: [u64, ..1u],
}
impl Union__ULARGE_INTEGER {
pub fn u(&mut self) -> *mut Struct_Unnamed5 {
unsafe { ::std::mem::transmute(self) }
}
pub fn QuadPart(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed6 {
pub LowPart: DWORD,
pub HighPart: DWORD,
}
#[repr(C)]
pub struct Struct_Unnamed5 {
pub LowPart: DWORD,
pub HighPart: DWORD,
}
pub type ULARGE_INTEGER = Union__ULARGE_INTEGER;
pub type PULARGE_INTEGER = *mut ULARGE_INTEGER;
#[repr(C)]
pub struct Struct__LUID {
pub LowPart: DWORD,
pub HighPart: LONG,
}
pub type LUID = Struct__LUID;
pub type PLUID = *mut Struct__LUID;
pub type DWORDLONG = ULONGLONG;
pub type PDWORDLONG = *mut DWORDLONG;
pub type BOOLEAN = BYTE;
pub type PBOOLEAN = *mut BOOLEAN;
#[repr(C)]
pub struct Struct__LIST_ENTRY {
pub Flink: *mut Struct__LIST_ENTRY,
pub Blink: *mut Struct__LIST_ENTRY,
}
pub type LIST_ENTRY = Struct__LIST_ENTRY;
pub type PLIST_ENTRY = *mut Struct__LIST_ENTRY;
pub type PRLIST_ENTRY = *mut Struct__LIST_ENTRY;
#[repr(C)]
pub struct Struct__SINGLE_LIST_ENTRY {
pub Next: *mut Struct__SINGLE_LIST_ENTRY,
}
pub type SINGLE_LIST_ENTRY = Struct__SINGLE_LIST_ENTRY;
pub type PSINGLE_LIST_ENTRY = *mut Struct__SINGLE_LIST_ENTRY;
#[repr(C)]
pub struct Struct_LIST_ENTRY32 {
pub Flink: DWORD,
pub Blink: DWORD,
}
pub type LIST_ENTRY32 = Struct_LIST_ENTRY32;
pub type PLIST_ENTRY32 = *mut LIST_ENTRY32;
#[repr(C)]
pub struct Struct_LIST_ENTRY64 {
pub Flink: ULONGLONG,
pub Blink: ULONGLONG,
}
pub type LIST_ENTRY64 = Struct_LIST_ENTRY64;
pub type PLIST_ENTRY64 = *mut LIST_ENTRY64;
#[repr(C)]
pub struct Struct__GUID {
pub Data1: ::libc::c_ulong,
pub Data2: ::libc::c_ushort,
pub Data3: ::libc::c_ushort,
pub Data4: [::libc::c_uchar, ..8u],
}
pub type GUID = Struct__GUID;
pub type LPGUID = *mut GUID;
pub type LPCGUID = *const GUID;
pub type IID = GUID;
pub type LPIID = *mut IID;
pub type CLSID = GUID;
pub type LPCLSID = *mut CLSID;
pub type FMTID = GUID;
pub type LPFMTID = *mut FMTID;
#[repr(C)]
pub struct Struct__OBJECTID {
pub Lineage: GUID,
pub Uniquifier: DWORD,
}
pub type OBJECTID = Struct__OBJECTID;
pub type EXCEPTION_ROUTINE = ::libc::c_void;
pub type PEXCEPTION_ROUTINE =
*mut ::std::option::Option<extern "C" fn
(arg1: *mut Struct__EXCEPTION_RECORD,
arg2: PVOID, arg3: *mut Struct__CONTEXT,
arg4: PVOID) -> ::libc::c_int>;
pub type KSPIN_LOCK = ULONG_PTR;
pub type PKSPIN_LOCK = *mut KSPIN_LOCK;
#[repr(C)]
pub struct Struct__M128A {
pub Low: ULONGLONG,
pub High: LONGLONG,
}
pub type M128A = Struct__M128A;
pub type PM128A = *mut Struct__M128A;
#[repr(C)]
pub struct Struct__XSAVE_FORMAT {
pub ControlWord: WORD,
pub StatusWord: WORD,
pub TagWord: BYTE,
pub Reserved1: BYTE,
pub ErrorOpcode: WORD,
pub ErrorOffset: DWORD,
pub ErrorSelector: WORD,
pub Reserved2: WORD,
pub DataOffset: DWORD,
pub DataSelector: WORD,
pub Reserved3: WORD,
pub MxCsr: DWORD,
pub MxCsr_Mask: DWORD,
pub FloatRegisters: [M128A, ..8u],
pub XmmRegisters: [M128A, ..16u],
pub Reserved4: [BYTE, ..96u],
}
pub type XSAVE_FORMAT = Struct__XSAVE_FORMAT;
pub type PXSAVE_FORMAT = *mut Struct__XSAVE_FORMAT;
#[repr(C)]
pub struct Struct__XSAVE_AREA_HEADER {
pub Mask: DWORD64,
pub Reserved: [DWORD64, ..7u],
}
pub type XSAVE_AREA_HEADER = Struct__XSAVE_AREA_HEADER;
pub type PXSAVE_AREA_HEADER = *mut Struct__XSAVE_AREA_HEADER;
#[repr(C)]
pub struct Struct__XSAVE_AREA {
pub LegacyState: XSAVE_FORMAT,
pub Header: XSAVE_AREA_HEADER,
}
pub type XSAVE_AREA = Struct__XSAVE_AREA;
pub type PXSAVE_AREA = *mut Struct__XSAVE_AREA;
#[repr(C)]
pub struct Struct__XSTATE_CONTEXT {
pub Mask: DWORD64,
pub Length: DWORD,
pub Reserved1: DWORD,
pub Area: PXSAVE_AREA,
pub Buffer: PVOID,
}
pub type XSTATE_CONTEXT = Struct__XSTATE_CONTEXT;
pub type PXSTATE_CONTEXT = *mut Struct__XSTATE_CONTEXT;
#[repr(C)]
pub struct Struct__SCOPE_TABLE_AMD64 {
pub Count: DWORD,
pub ScopeRecord: [Struct_Unnamed7, ..1u],
}
#[repr(C)]
pub struct Struct_Unnamed7 {
pub BeginAddress: DWORD,
pub EndAddress: DWORD,
pub HandlerAddress: DWORD,
pub JumpTarget: DWORD,
}
pub type SCOPE_TABLE_AMD64 = Struct__SCOPE_TABLE_AMD64;
pub type PSCOPE_TABLE_AMD64 = *mut Struct__SCOPE_TABLE_AMD64;
pub type __m64 = ::libc::c_void;
pub type __v2si = ::libc::c_void;
pub type __v4hi = ::libc::c_void;
pub type __v8qi = ::libc::c_void;
pub type __v4si = ::libc::c_void;
pub type __v4sf = ::libc::c_void;
pub type __m128 = ::libc::c_void;
pub type _onexit_t = ::std::option::Option<extern "C" fn() -> ::libc::c_int>;
#[repr(C)]
pub struct Struct__div_t {
pub quot: ::libc::c_int,
pub rem: ::libc::c_int,
}
pub type div_t = Struct__div_t;
#[repr(C)]
pub struct Struct__ldiv_t {
pub quot: ::libc::c_long,
pub rem: ::libc::c_long,
}
pub type ldiv_t = Struct__ldiv_t;
#[repr(C)]
pub struct Struct_Unnamed8 {
pub ld: [::libc::c_uchar, ..10u],
}
pub type _LDOUBLE = Struct_Unnamed8;
#[repr(C)]
pub struct Struct_Unnamed9 {
pub x: ::libc::c_double,
}
pub type _CRT_DOUBLE = Struct_Unnamed9;
#[repr(C)]
pub struct Struct_Unnamed10 {
pub f: ::libc::c_float,
}
pub type _CRT_FLOAT = Struct_Unnamed10;
#[repr(C)]
pub struct Struct_Unnamed11 {
pub x: ::libc::c_double,
}
pub type _LONGDOUBLE = Struct_Unnamed11;
#[repr(C)]
pub struct Struct_Unnamed12 {
pub ld12: [::libc::c_uchar, ..12u],
}
pub type _LDBL12 = Struct_Unnamed12;
pub type _purecall_handler = ::std::option::Option<extern "C" fn()>;
pub type _invalid_parameter_handler =
::std::option::Option<extern "C" fn
(arg1: *const wchar_t, arg2: *const wchar_t,
arg3: *const wchar_t, arg4: ::libc::c_uint,
arg5: uintptr_t)>;
#[repr(C)]
pub struct Struct_Unnamed13 {
pub quot: ::libc::c_longlong,
pub rem: ::libc::c_longlong,
}
pub type lldiv_t = Struct_Unnamed13;
#[repr(C)]
pub struct Struct__heapinfo {
pub _pentry: *mut ::libc::c_int,
pub _size: size_t,
pub _useflag: ::libc::c_int,
}
pub type _HEAPINFO = Struct__heapinfo;
pub type __m128d = ::libc::c_void;
pub type __m128i = ::libc::c_void;
pub type __v2df = ::libc::c_void;
pub type __v2di = ::libc::c_void;
pub type __v8hi = ::libc::c_void;
pub type __v16qi = ::libc::c_void;
#[repr(C)]
pub struct Struct__XMM_SAVE_AREA32 {
pub ControlWord: WORD,
pub StatusWord: WORD,
pub TagWord: BYTE,
pub Reserved1: BYTE,
pub ErrorOpcode: WORD,
pub ErrorOffset: DWORD,
pub ErrorSelector: WORD,
pub Reserved2: WORD,
pub DataOffset: DWORD,
pub DataSelector: WORD,
pub Reserved3: WORD,
pub MxCsr: DWORD,
pub MxCsr_Mask: DWORD,
pub FloatRegisters: [M128A, ..8u],
pub XmmRegisters: [M128A, ..16u],
pub Reserved4: [BYTE, ..96u],
}
pub type XMM_SAVE_AREA32 = Struct__XMM_SAVE_AREA32;
pub type PXMM_SAVE_AREA32 = *mut Struct__XMM_SAVE_AREA32;
#[repr(C)]
pub struct Struct__CONTEXT {
pub P1Home: DWORD64,
pub P2Home: DWORD64,
pub P3Home: DWORD64,
pub P4Home: DWORD64,
pub P5Home: DWORD64,
pub P6Home: DWORD64,
pub ContextFlags: DWORD,
pub MxCsr: DWORD,
pub SegCs: WORD,
pub SegDs: WORD,
pub SegEs: WORD,
pub SegFs: WORD,
pub SegGs: WORD,
pub SegSs: WORD,
pub EFlags: DWORD,
pub Dr0: DWORD64,
pub Dr1: DWORD64,
pub Dr2: DWORD64,
pub Dr3: DWORD64,
pub Dr6: DWORD64,
pub Dr7: DWORD64,
pub Rax: DWORD64,
pub Rcx: DWORD64,
pub Rdx: DWORD64,
pub Rbx: DWORD64,
pub Rsp: DWORD64,
pub Rbp: DWORD64,
pub Rsi: DWORD64,
pub Rdi: DWORD64,
pub R8: DWORD64,
pub R9: DWORD64,
pub R10: DWORD64,
pub R11: DWORD64,
pub R12: DWORD64,
pub R13: DWORD64,
pub R14: DWORD64,
pub R15: DWORD64,
pub Rip: DWORD64,
pub VectorRegister: [M128A, ..26u],
pub VectorControl: DWORD64,
pub DebugControl: DWORD64,
pub LastBranchToRip: DWORD64,
pub LastBranchFromRip: DWORD64,
pub LastExceptionToRip: DWORD64,
pub LastExceptionFromRip: DWORD64,
}
#[repr(C)]
pub struct Union_Unnamed14 {
pub data: [u8, ..512u],
}
impl Union_Unnamed14 {
pub fn FltSave(&mut self) -> *mut XMM_SAVE_AREA32 {
unsafe { ::std::mem::transmute(self) }
}
pub fn FloatSave(&mut self) -> *mut XMM_SAVE_AREA32 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed15 {
pub Header: [M128A, ..2u],
pub Legacy: [M128A, ..8u],
pub Xmm0: M128A,
pub Xmm1: M128A,
pub Xmm2: M128A,
pub Xmm3: M128A,
pub Xmm4: M128A,
pub Xmm5: M128A,
pub Xmm6: M128A,
pub Xmm7: M128A,
pub Xmm8: M128A,
pub Xmm9: M128A,
pub Xmm10: M128A,
pub Xmm11: M128A,
pub Xmm12: M128A,
pub Xmm13: M128A,
pub Xmm14: M128A,
pub Xmm15: M128A,
}
pub type CONTEXT = Struct__CONTEXT;
pub type PCONTEXT = *mut Struct__CONTEXT;
#[repr(C)]
pub struct Struct__RUNTIME_FUNCTION {
pub BeginAddress: DWORD,
pub EndAddress: DWORD,
pub UnwindData: DWORD,
}
pub type RUNTIME_FUNCTION = Struct__RUNTIME_FUNCTION;
pub type PRUNTIME_FUNCTION = *mut Struct__RUNTIME_FUNCTION;
pub type PGET_RUNTIME_FUNCTION_CALLBACK =
::std::option::Option<extern "C" fn(arg1: DWORD64, arg2: PVOID)
-> PRUNTIME_FUNCTION>;
pub type POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: HANDLE, arg2: PVOID, arg3: PDWORD,
arg4: *mut PRUNTIME_FUNCTION) -> DWORD>;
#[repr(C)]
pub struct Struct__LDT_ENTRY {
pub LimitLow: WORD,
pub BaseLow: WORD,
pub HighWord: Union_Unnamed16,
}
#[repr(C)]
pub struct Union_Unnamed16 {
pub data: [u32, ..1u],
}
impl Union_Unnamed16 {
pub fn Bytes(&mut self) -> *mut Struct_Unnamed17 {
unsafe { ::std::mem::transmute(self) }
}
pub fn Bits(&mut self) -> *mut Struct_Unnamed18 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed17 {
pub BaseMid: BYTE,
pub Flags1: BYTE,
pub Flags2: BYTE,
pub BaseHi: BYTE,
}
#[repr(C)]
pub struct Struct_Unnamed18 {
pub BaseMid: DWORD,
pub Type: DWORD,
pub Dpl: DWORD,
pub Pres: DWORD,
pub LimitHi: DWORD,
pub Sys: DWORD,
pub Reserved_0: DWORD,
pub Default_Big: DWORD,
pub Granularity: DWORD,
pub BaseHi: DWORD,
}
pub type LDT_ENTRY = Struct__LDT_ENTRY;
pub type PLDT_ENTRY = *mut Struct__LDT_ENTRY;
#[repr(C)]
pub struct Struct__EXCEPTION_RECORD {
pub ExceptionCode: DWORD,
pub ExceptionFlags: DWORD,
pub ExceptionRecord: *mut Struct__EXCEPTION_RECORD,
pub ExceptionAddress: PVOID,
pub NumberParameters: DWORD,
pub ExceptionInformation: [ULONG_PTR, ..15u],
}
pub type EXCEPTION_RECORD = Struct__EXCEPTION_RECORD;
pub type PEXCEPTION_RECORD = *mut EXCEPTION_RECORD;
#[repr(C)]
pub struct Struct__EXCEPTION_RECORD32 {
pub ExceptionCode: DWORD,
pub ExceptionFlags: DWORD,
pub ExceptionRecord: DWORD,
pub ExceptionAddress: DWORD,
pub NumberParameters: DWORD,
pub ExceptionInformation: [DWORD, ..15u],
}
pub type EXCEPTION_RECORD32 = Struct__EXCEPTION_RECORD32;
pub type PEXCEPTION_RECORD32 = *mut Struct__EXCEPTION_RECORD32;
#[repr(C)]
pub struct Struct__EXCEPTION_RECORD64 {
pub ExceptionCode: DWORD,
pub ExceptionFlags: DWORD,
pub ExceptionRecord: DWORD64,
pub ExceptionAddress: DWORD64,
pub NumberParameters: DWORD,
pub __unusedAlignment: DWORD,
pub ExceptionInformation: [DWORD64, ..15u],
}
pub type EXCEPTION_RECORD64 = Struct__EXCEPTION_RECORD64;
pub type PEXCEPTION_RECORD64 = *mut Struct__EXCEPTION_RECORD64;
#[repr(C)]
pub struct Struct__EXCEPTION_POINTERS {
pub ExceptionRecord: PEXCEPTION_RECORD,
pub ContextRecord: PCONTEXT,
}
pub type EXCEPTION_POINTERS = Struct__EXCEPTION_POINTERS;
pub type PEXCEPTION_POINTERS = *mut Struct__EXCEPTION_POINTERS;
#[repr(C)]
pub struct Struct__UNWIND_HISTORY_TABLE_ENTRY {
pub ImageBase: ULONG64,
pub FunctionEntry: PRUNTIME_FUNCTION,
}
pub type UNWIND_HISTORY_TABLE_ENTRY = Struct__UNWIND_HISTORY_TABLE_ENTRY;
pub type PUNWIND_HISTORY_TABLE_ENTRY =
*mut Struct__UNWIND_HISTORY_TABLE_ENTRY;
#[repr(C)]
pub struct Struct__UNWIND_HISTORY_TABLE {
pub Count: ULONG,
pub Search: UCHAR,
pub LowAddress: ULONG64,
pub HighAddress: ULONG64,
pub Entry: [UNWIND_HISTORY_TABLE_ENTRY, ..12u],
}
pub type UNWIND_HISTORY_TABLE = Struct__UNWIND_HISTORY_TABLE;
pub type PUNWIND_HISTORY_TABLE = *mut Struct__UNWIND_HISTORY_TABLE;
pub type DISPATCHER_CONTEXT = Struct__DISPATCHER_CONTEXT;
pub type PDISPATCHER_CONTEXT = *mut Struct__DISPATCHER_CONTEXT;
#[repr(C)]
pub struct Struct__DISPATCHER_CONTEXT {
pub ControlPc: ULONG64,
pub ImageBase: ULONG64,
pub FunctionEntry: PRUNTIME_FUNCTION,
pub EstablisherFrame: ULONG64,
pub TargetIp: ULONG64,
pub ContextRecord: PCONTEXT,
pub LanguageHandler: PEXCEPTION_ROUTINE,
pub HandlerData: PVOID,
pub HistoryTable: PUNWIND_HISTORY_TABLE,
pub ScopeIndex: ULONG,
pub Fill0: ULONG,
}
#[repr(C)]
pub struct Struct__KNONVOLATILE_CONTEXT_POINTERS {
pub FloatingContext: [PM128A, ..16u],
pub IntegerContext: [PULONG64, ..16u],
}
pub type KNONVOLATILE_CONTEXT_POINTERS =
Struct__KNONVOLATILE_CONTEXT_POINTERS;
pub type PKNONVOLATILE_CONTEXT_POINTERS =
*mut Struct__KNONVOLATILE_CONTEXT_POINTERS;
pub type PACCESS_TOKEN = PVOID;
pub type PSECURITY_DESCRIPTOR = PVOID;
pub type PSID = PVOID;
pub type PCLAIMS_BLOB = PVOID;
pub type ACCESS_MASK = DWORD;
pub type PACCESS_MASK = *mut ACCESS_MASK;
#[repr(C)]
pub struct Struct__GENERIC_MAPPING {
pub GenericRead: ACCESS_MASK,
pub GenericWrite: ACCESS_MASK,
pub GenericExecute: ACCESS_MASK,
pub GenericAll: ACCESS_MASK,
}
pub type GENERIC_MAPPING = Struct__GENERIC_MAPPING;
pub type PGENERIC_MAPPING = *mut GENERIC_MAPPING;
#[repr(C)]
pub struct Struct__LUID_AND_ATTRIBUTES {
pub Luid: LUID,
pub Attributes: DWORD,
}
pub type LUID_AND_ATTRIBUTES = Struct__LUID_AND_ATTRIBUTES;
pub type PLUID_AND_ATTRIBUTES = *mut Struct__LUID_AND_ATTRIBUTES;
pub type LUID_AND_ATTRIBUTES_ARRAY = [LUID_AND_ATTRIBUTES, ..1u];
pub type PLUID_AND_ATTRIBUTES_ARRAY = *mut LUID_AND_ATTRIBUTES_ARRAY;
#[repr(C)]
pub struct Struct__SID_IDENTIFIER_AUTHORITY {
pub Value: [BYTE, ..6u],
}
pub type SID_IDENTIFIER_AUTHORITY = Struct__SID_IDENTIFIER_AUTHORITY;
pub type PSID_IDENTIFIER_AUTHORITY = *mut Struct__SID_IDENTIFIER_AUTHORITY;
#[repr(C)]
pub struct Struct__SID {
pub Revision: BYTE,
pub SubAuthorityCount: BYTE,
pub IdentifierAuthority: SID_IDENTIFIER_AUTHORITY,
pub SubAuthority: [DWORD, ..1u],
}
pub type SID = Struct__SID;
pub type PISID = *mut Struct__SID;
pub type Enum__SID_NAME_USE = ::libc::c_uint;
pub const SidTypeUser: ::libc::c_uint = 1;
pub const SidTypeGroup: ::libc::c_uint = 2;
pub const SidTypeDomain: ::libc::c_uint = 3;
pub const SidTypeAlias: ::libc::c_uint = 4;
pub const SidTypeWellKnownGroup: ::libc::c_uint = 5;
pub const SidTypeDeletedAccount: ::libc::c_uint = 6;
pub const SidTypeInvalid: ::libc::c_uint = 7;
pub const SidTypeUnknown: ::libc::c_uint = 8;
pub const SidTypeComputer: ::libc::c_uint = 9;
pub const SidTypeLabel: ::libc::c_uint = 10;
pub type SID_NAME_USE = Enum__SID_NAME_USE;
pub type PSID_NAME_USE = *mut Enum__SID_NAME_USE;
#[repr(C)]
pub struct Struct__SID_AND_ATTRIBUTES {
pub Sid: PSID,
pub Attributes: DWORD,
}
pub type SID_AND_ATTRIBUTES = Struct__SID_AND_ATTRIBUTES;
pub type PSID_AND_ATTRIBUTES = *mut Struct__SID_AND_ATTRIBUTES;
pub type SID_AND_ATTRIBUTES_ARRAY = [SID_AND_ATTRIBUTES, ..1u];
pub type PSID_AND_ATTRIBUTES_ARRAY = *mut SID_AND_ATTRIBUTES_ARRAY;
pub type SID_HASH_ENTRY = ULONG_PTR;
pub type PSID_HASH_ENTRY = *mut ULONG_PTR;
#[repr(C)]
pub struct Struct__SID_AND_ATTRIBUTES_HASH {
pub SidCount: DWORD,
pub SidAttr: PSID_AND_ATTRIBUTES,
pub Hash: [SID_HASH_ENTRY, ..32u],
}
pub type SID_AND_ATTRIBUTES_HASH = Struct__SID_AND_ATTRIBUTES_HASH;
pub type PSID_AND_ATTRIBUTES_HASH = *mut Struct__SID_AND_ATTRIBUTES_HASH;
pub type Enum_Unnamed19 = ::libc::c_uint;
pub const WinNullSid: ::libc::c_uint = 0;
pub const WinWorldSid: ::libc::c_uint = 1;
pub const WinLocalSid: ::libc::c_uint = 2;
pub const WinCreatorOwnerSid: ::libc::c_uint = 3;
pub const WinCreatorGroupSid: ::libc::c_uint = 4;
pub const WinCreatorOwnerServerSid: ::libc::c_uint = 5;
pub const WinCreatorGroupServerSid: ::libc::c_uint = 6;
pub const WinNtAuthoritySid: ::libc::c_uint = 7;
pub const WinDialupSid: ::libc::c_uint = 8;
pub const WinNetworkSid: ::libc::c_uint = 9;
pub const WinBatchSid: ::libc::c_uint = 10;
pub const WinInteractiveSid: ::libc::c_uint = 11;
pub const WinServiceSid: ::libc::c_uint = 12;
pub const WinAnonymousSid: ::libc::c_uint = 13;
pub const WinProxySid: ::libc::c_uint = 14;
pub const WinEnterpriseControllersSid: ::libc::c_uint = 15;
pub const WinSelfSid: ::libc::c_uint = 16;
pub const WinAuthenticatedUserSid: ::libc::c_uint = 17;
pub const WinRestrictedCodeSid: ::libc::c_uint = 18;
pub const WinTerminalServerSid: ::libc::c_uint = 19;
pub const WinRemoteLogonIdSid: ::libc::c_uint = 20;
pub const WinLogonIdsSid: ::libc::c_uint = 21;
pub const WinLocalSystemSid: ::libc::c_uint = 22;
pub const WinLocalServiceSid: ::libc::c_uint = 23;
pub const WinNetworkServiceSid: ::libc::c_uint = 24;
pub const WinBuiltinDomainSid: ::libc::c_uint = 25;
pub const WinBuiltinAdministratorsSid: ::libc::c_uint = 26;
pub const WinBuiltinUsersSid: ::libc::c_uint = 27;
pub const WinBuiltinGuestsSid: ::libc::c_uint = 28;
pub const WinBuiltinPowerUsersSid: ::libc::c_uint = 29;
pub const WinBuiltinAccountOperatorsSid: ::libc::c_uint = 30;
pub const WinBuiltinSystemOperatorsSid: ::libc::c_uint = 31;
pub const WinBuiltinPrintOperatorsSid: ::libc::c_uint = 32;
pub const WinBuiltinBackupOperatorsSid: ::libc::c_uint = 33;
pub const WinBuiltinReplicatorSid: ::libc::c_uint = 34;
pub const WinBuiltinPreWindows2000CompatibleAccessSid: ::libc::c_uint = 35;
pub const WinBuiltinRemoteDesktopUsersSid: ::libc::c_uint = 36;
pub const WinBuiltinNetworkConfigurationOperatorsSid: ::libc::c_uint = 37;
pub const WinAccountAdministratorSid: ::libc::c_uint = 38;
pub const WinAccountGuestSid: ::libc::c_uint = 39;
pub const WinAccountKrbtgtSid: ::libc::c_uint = 40;
pub const WinAccountDomainAdminsSid: ::libc::c_uint = 41;
pub const WinAccountDomainUsersSid: ::libc::c_uint = 42;
pub const WinAccountDomainGuestsSid: ::libc::c_uint = 43;
pub const WinAccountComputersSid: ::libc::c_uint = 44;
pub const WinAccountControllersSid: ::libc::c_uint = 45;
pub const WinAccountCertAdminsSid: ::libc::c_uint = 46;
pub const WinAccountSchemaAdminsSid: ::libc::c_uint = 47;
pub const WinAccountEnterpriseAdminsSid: ::libc::c_uint = 48;
pub const WinAccountPolicyAdminsSid: ::libc::c_uint = 49;
pub const WinAccountRasAndIasServersSid: ::libc::c_uint = 50;
pub const WinNTLMAuthenticationSid: ::libc::c_uint = 51;
pub const WinDigestAuthenticationSid: ::libc::c_uint = 52;
pub const WinSChannelAuthenticationSid: ::libc::c_uint = 53;
pub const WinThisOrganizationSid: ::libc::c_uint = 54;
pub const WinOtherOrganizationSid: ::libc::c_uint = 55;
pub const WinBuiltinIncomingForestTrustBuildersSid: ::libc::c_uint = 56;
pub const WinBuiltinPerfMonitoringUsersSid: ::libc::c_uint = 57;
pub const WinBuiltinPerfLoggingUsersSid: ::libc::c_uint = 58;
pub const WinBuiltinAuthorizationAccessSid: ::libc::c_uint = 59;
pub const WinBuiltinTerminalServerLicenseServersSid: ::libc::c_uint = 60;
pub const WinBuiltinDCOMUsersSid: ::libc::c_uint = 61;
pub const WinBuiltinIUsersSid: ::libc::c_uint = 62;
pub const WinIUserSid: ::libc::c_uint = 63;
pub const WinBuiltinCryptoOperatorsSid: ::libc::c_uint = 64;
pub const WinUntrustedLabelSid: ::libc::c_uint = 65;
pub const WinLowLabelSid: ::libc::c_uint = 66;
pub const WinMediumLabelSid: ::libc::c_uint = 67;
pub const WinHighLabelSid: ::libc::c_uint = 68;
pub const WinSystemLabelSid: ::libc::c_uint = 69;
pub const WinWriteRestrictedCodeSid: ::libc::c_uint = 70;
pub const WinCreatorOwnerRightsSid: ::libc::c_uint = 71;
pub const WinCacheablePrincipalsGroupSid: ::libc::c_uint = 72;
pub const WinNonCacheablePrincipalsGroupSid: ::libc::c_uint = 73;
pub const WinEnterpriseReadonlyControllersSid: ::libc::c_uint = 74;
pub const WinAccountReadonlyControllersSid: ::libc::c_uint = 75;
pub const WinBuiltinEventLogReadersGroup: ::libc::c_uint = 76;
pub const WinNewEnterpriseReadonlyControllersSid: ::libc::c_uint = 77;
pub const WinBuiltinCertSvcDComAccessGroup: ::libc::c_uint = 78;
pub const WinMediumPlusLabelSid: ::libc::c_uint = 79;
pub const WinLocalLogonSid: ::libc::c_uint = 80;
pub const WinConsoleLogonSid: ::libc::c_uint = 81;
pub const WinThisOrganizationCertificateSid: ::libc::c_uint = 82;
pub const WinApplicationPackageAuthoritySid: ::libc::c_uint = 83;
pub const WinBuiltinAnyPackageSid: ::libc::c_uint = 84;
pub const WinCapabilityInternetClientSid: ::libc::c_uint = 85;
pub const WinCapabilityInternetClientServerSid: ::libc::c_uint = 86;
pub const WinCapabilityPrivateNetworkClientServerSid: ::libc::c_uint = 87;
pub const WinCapabilityPicturesLibrarySid: ::libc::c_uint = 88;
pub const WinCapabilityVideosLibrarySid: ::libc::c_uint = 89;
pub const WinCapabilityMusicLibrarySid: ::libc::c_uint = 90;
pub const WinCapabilityDocumentsLibrarySid: ::libc::c_uint = 91;
pub const WinCapabilitySharedUserCertificatesSid: ::libc::c_uint = 92;
pub const WinCapabilityEnterpriseAuthenticationSid: ::libc::c_uint = 93;
pub const WinCapabilityRemovableStorageSid: ::libc::c_uint = 94;
pub const WinBuiltinRDSRemoteAccessServersSid: ::libc::c_uint = 95;
pub const WinBuiltinRDSEndpointServersSid: ::libc::c_uint = 96;
pub const WinBuiltinRDSManagementServersSid: ::libc::c_uint = 97;
pub const WinUserModeDriversSid: ::libc::c_uint = 98;
pub const WinBuiltinHyperVAdminsSid: ::libc::c_uint = 99;
pub const WinAccountCloneableControllersSid: ::libc::c_uint = 100;
pub const WinBuiltinAccessControlAssistanceOperatorsSid: ::libc::c_uint = 101;
pub const WinBuiltinRemoteManagementUsersSid: ::libc::c_uint = 102;
pub const WinAuthenticationAuthorityAssertedSid: ::libc::c_uint = 103;
pub const WinAuthenticationServiceAssertedSid: ::libc::c_uint = 104;
pub type WELL_KNOWN_SID_TYPE = Enum_Unnamed19;
#[repr(C)]
pub struct Struct__ACL {
pub AclRevision: BYTE,
pub Sbz1: BYTE,
pub AclSize: WORD,
pub AceCount: WORD,
pub Sbz2: WORD,
}
pub type ACL = Struct__ACL;
pub type PACL = *mut ACL;
#[repr(C)]
pub struct Struct__ACE_HEADER {
pub AceType: BYTE,
pub AceFlags: BYTE,
pub AceSize: WORD,
}
pub type ACE_HEADER = Struct__ACE_HEADER;
pub type PACE_HEADER = *mut ACE_HEADER;
#[repr(C)]
pub struct Struct__ACCESS_ALLOWED_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type ACCESS_ALLOWED_ACE = Struct__ACCESS_ALLOWED_ACE;
pub type PACCESS_ALLOWED_ACE = *mut ACCESS_ALLOWED_ACE;
#[repr(C)]
pub struct Struct__ACCESS_DENIED_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type ACCESS_DENIED_ACE = Struct__ACCESS_DENIED_ACE;
pub type PACCESS_DENIED_ACE = *mut ACCESS_DENIED_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_AUDIT_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type SYSTEM_AUDIT_ACE = Struct__SYSTEM_AUDIT_ACE;
pub type PSYSTEM_AUDIT_ACE = *mut SYSTEM_AUDIT_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_ALARM_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type SYSTEM_ALARM_ACE = Struct__SYSTEM_ALARM_ACE;
pub type PSYSTEM_ALARM_ACE = *mut SYSTEM_ALARM_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_RESOURCE_ATTRIBUTE_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type SYSTEM_RESOURCE_ATTRIBUTE_ACE =
Struct__SYSTEM_RESOURCE_ATTRIBUTE_ACE;
pub type PSYSTEM_RESOURCE_ATTRIBUTE_ACE =
*mut Struct__SYSTEM_RESOURCE_ATTRIBUTE_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_SCOPED_POLICY_ID_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type SYSTEM_SCOPED_POLICY_ID_ACE = Struct__SYSTEM_SCOPED_POLICY_ID_ACE;
pub type PSYSTEM_SCOPED_POLICY_ID_ACE =
*mut Struct__SYSTEM_SCOPED_POLICY_ID_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_MANDATORY_LABEL_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type SYSTEM_MANDATORY_LABEL_ACE = Struct__SYSTEM_MANDATORY_LABEL_ACE;
pub type PSYSTEM_MANDATORY_LABEL_ACE =
*mut Struct__SYSTEM_MANDATORY_LABEL_ACE;
#[repr(C)]
pub struct Struct__ACCESS_ALLOWED_OBJECT_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub Flags: DWORD,
pub ObjectType: GUID,
pub InheritedObjectType: GUID,
pub SidStart: DWORD,
}
pub type ACCESS_ALLOWED_OBJECT_ACE = Struct__ACCESS_ALLOWED_OBJECT_ACE;
pub type PACCESS_ALLOWED_OBJECT_ACE = *mut Struct__ACCESS_ALLOWED_OBJECT_ACE;
#[repr(C)]
pub struct Struct__ACCESS_DENIED_OBJECT_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub Flags: DWORD,
pub ObjectType: GUID,
pub InheritedObjectType: GUID,
pub SidStart: DWORD,
}
pub type ACCESS_DENIED_OBJECT_ACE = Struct__ACCESS_DENIED_OBJECT_ACE;
pub type PACCESS_DENIED_OBJECT_ACE = *mut Struct__ACCESS_DENIED_OBJECT_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_AUDIT_OBJECT_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub Flags: DWORD,
pub ObjectType: GUID,
pub InheritedObjectType: GUID,
pub SidStart: DWORD,
}
pub type SYSTEM_AUDIT_OBJECT_ACE = Struct__SYSTEM_AUDIT_OBJECT_ACE;
pub type PSYSTEM_AUDIT_OBJECT_ACE = *mut Struct__SYSTEM_AUDIT_OBJECT_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_ALARM_OBJECT_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub Flags: DWORD,
pub ObjectType: GUID,
pub InheritedObjectType: GUID,
pub SidStart: DWORD,
}
pub type SYSTEM_ALARM_OBJECT_ACE = Struct__SYSTEM_ALARM_OBJECT_ACE;
pub type PSYSTEM_ALARM_OBJECT_ACE = *mut Struct__SYSTEM_ALARM_OBJECT_ACE;
#[repr(C)]
pub struct Struct__ACCESS_ALLOWED_CALLBACK_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type ACCESS_ALLOWED_CALLBACK_ACE = Struct__ACCESS_ALLOWED_CALLBACK_ACE;
pub type PACCESS_ALLOWED_CALLBACK_ACE =
*mut Struct__ACCESS_ALLOWED_CALLBACK_ACE;
#[repr(C)]
pub struct Struct__ACCESS_DENIED_CALLBACK_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type ACCESS_DENIED_CALLBACK_ACE = Struct__ACCESS_DENIED_CALLBACK_ACE;
pub type PACCESS_DENIED_CALLBACK_ACE =
*mut Struct__ACCESS_DENIED_CALLBACK_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_AUDIT_CALLBACK_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type SYSTEM_AUDIT_CALLBACK_ACE = Struct__SYSTEM_AUDIT_CALLBACK_ACE;
pub type PSYSTEM_AUDIT_CALLBACK_ACE = *mut Struct__SYSTEM_AUDIT_CALLBACK_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_ALARM_CALLBACK_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub SidStart: DWORD,
}
pub type SYSTEM_ALARM_CALLBACK_ACE = Struct__SYSTEM_ALARM_CALLBACK_ACE;
pub type PSYSTEM_ALARM_CALLBACK_ACE = *mut Struct__SYSTEM_ALARM_CALLBACK_ACE;
#[repr(C)]
pub struct Struct__ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub Flags: DWORD,
pub ObjectType: GUID,
pub InheritedObjectType: GUID,
pub SidStart: DWORD,
}
pub type ACCESS_ALLOWED_CALLBACK_OBJECT_ACE =
Struct__ACCESS_ALLOWED_CALLBACK_OBJECT_ACE;
pub type PACCESS_ALLOWED_CALLBACK_OBJECT_ACE =
*mut Struct__ACCESS_ALLOWED_CALLBACK_OBJECT_ACE;
#[repr(C)]
pub struct Struct__ACCESS_DENIED_CALLBACK_OBJECT_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub Flags: DWORD,
pub ObjectType: GUID,
pub InheritedObjectType: GUID,
pub SidStart: DWORD,
}
pub type ACCESS_DENIED_CALLBACK_OBJECT_ACE =
Struct__ACCESS_DENIED_CALLBACK_OBJECT_ACE;
pub type PACCESS_DENIED_CALLBACK_OBJECT_ACE =
*mut Struct__ACCESS_DENIED_CALLBACK_OBJECT_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub Flags: DWORD,
pub ObjectType: GUID,
pub InheritedObjectType: GUID,
pub SidStart: DWORD,
}
pub type SYSTEM_AUDIT_CALLBACK_OBJECT_ACE =
Struct__SYSTEM_AUDIT_CALLBACK_OBJECT_ACE;
pub type PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE =
*mut Struct__SYSTEM_AUDIT_CALLBACK_OBJECT_ACE;
#[repr(C)]
pub struct Struct__SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
pub Header: ACE_HEADER,
pub Mask: ACCESS_MASK,
pub Flags: DWORD,
pub ObjectType: GUID,
pub InheritedObjectType: GUID,
pub SidStart: DWORD,
}
pub type SYSTEM_ALARM_CALLBACK_OBJECT_ACE =
Struct__SYSTEM_ALARM_CALLBACK_OBJECT_ACE;
pub type PSYSTEM_ALARM_CALLBACK_OBJECT_ACE =
*mut Struct__SYSTEM_ALARM_CALLBACK_OBJECT_ACE;
pub type Enum__ACL_INFORMATION_CLASS = ::libc::c_uint;
pub const AclRevisionInformation: ::libc::c_uint = 1;
pub const AclSizeInformation: ::libc::c_uint = 2;
pub type ACL_INFORMATION_CLASS = Enum__ACL_INFORMATION_CLASS;
#[repr(C)]
pub struct Struct__ACL_REVISION_INFORMATION {
pub AclRevision: DWORD,
}
pub type ACL_REVISION_INFORMATION = Struct__ACL_REVISION_INFORMATION;
pub type PACL_REVISION_INFORMATION = *mut ACL_REVISION_INFORMATION;
#[repr(C)]
pub struct Struct__ACL_SIZE_INFORMATION {
pub AceCount: DWORD,
pub AclBytesInUse: DWORD,
pub AclBytesFree: DWORD,
}
pub type ACL_SIZE_INFORMATION = Struct__ACL_SIZE_INFORMATION;
pub type PACL_SIZE_INFORMATION = *mut ACL_SIZE_INFORMATION;
pub type SECURITY_DESCRIPTOR_CONTROL = WORD;
pub type PSECURITY_DESCRIPTOR_CONTROL = *mut WORD;
#[repr(C)]
pub struct Struct__SECURITY_DESCRIPTOR_RELATIVE {
pub Revision: BYTE,
pub Sbz1: BYTE,
pub Control: SECURITY_DESCRIPTOR_CONTROL,
pub Owner: DWORD,
pub Group: DWORD,
pub Sacl: DWORD,
pub Dacl: DWORD,
}
pub type SECURITY_DESCRIPTOR_RELATIVE = Struct__SECURITY_DESCRIPTOR_RELATIVE;
pub type PISECURITY_DESCRIPTOR_RELATIVE =
*mut Struct__SECURITY_DESCRIPTOR_RELATIVE;
#[repr(C)]
pub struct Struct__SECURITY_DESCRIPTOR {
pub Revision: BYTE,
pub Sbz1: BYTE,
pub Control: SECURITY_DESCRIPTOR_CONTROL,
pub Owner: PSID,
pub Group: PSID,
pub Sacl: PACL,
pub Dacl: PACL,
}
pub type SECURITY_DESCRIPTOR = Struct__SECURITY_DESCRIPTOR;
pub type PISECURITY_DESCRIPTOR = *mut Struct__SECURITY_DESCRIPTOR;
#[repr(C)]
pub struct Struct__OBJECT_TYPE_LIST {
pub Level: WORD,
pub Sbz: WORD,
pub ObjectType: *mut GUID,
}
pub type OBJECT_TYPE_LIST = Struct__OBJECT_TYPE_LIST;
pub type POBJECT_TYPE_LIST = *mut Struct__OBJECT_TYPE_LIST;
pub type Enum__AUDIT_EVENT_TYPE = ::libc::c_uint;
pub const AuditEventObjectAccess: ::libc::c_uint = 0;
pub const AuditEventDirectoryServiceAccess: ::libc::c_uint = 1;
pub type AUDIT_EVENT_TYPE = Enum__AUDIT_EVENT_TYPE;
pub type PAUDIT_EVENT_TYPE = *mut Enum__AUDIT_EVENT_TYPE;
#[repr(C)]
pub struct Struct__PRIVILEGE_SET {
pub PrivilegeCount: DWORD,
pub Control: DWORD,
pub Privilege: [LUID_AND_ATTRIBUTES, ..1u],
}
pub type PRIVILEGE_SET = Struct__PRIVILEGE_SET;
pub type PPRIVILEGE_SET = *mut Struct__PRIVILEGE_SET;
pub type Enum__ACCESS_REASON_TYPE = ::libc::c_uint;
pub const AccessReasonNone: ::libc::c_uint = 0;
pub const AccessReasonAllowedAce: ::libc::c_uint = 65536;
pub const AccessReasonDeniedAce: ::libc::c_uint = 131072;
pub const AccessReasonAllowedParentAce: ::libc::c_uint = 196608;
pub const AccessReasonDeniedParentAce: ::libc::c_uint = 262144;
pub const AccessReasonNotGrantedByCape: ::libc::c_uint = 327680;
pub const AccessReasonNotGrantedByParentCape: ::libc::c_uint = 393216;
pub const AccessReasonNotGrantedToAppContainer: ::libc::c_uint = 458752;
pub const AccessReasonMissingPrivilege: ::libc::c_uint = 1048576;
pub const AccessReasonFromPrivilege: ::libc::c_uint = 2097152;
pub const AccessReasonIntegrityLevel: ::libc::c_uint = 3145728;
pub const AccessReasonOwnership: ::libc::c_uint = 4194304;
pub const AccessReasonNullDacl: ::libc::c_uint = 5242880;
pub const AccessReasonEmptyDacl: ::libc::c_uint = 6291456;
pub const AccessReasonNoSD: ::libc::c_uint = 7340032;
pub const AccessReasonNoGrant: ::libc::c_uint = 8388608;
pub type ACCESS_REASON_TYPE = Enum__ACCESS_REASON_TYPE;
pub type ACCESS_REASON = DWORD;
#[repr(C)]
pub struct Struct__ACCESS_REASONS {
pub Data: [ACCESS_REASON, ..32u],
}
pub type ACCESS_REASONS = Struct__ACCESS_REASONS;
pub type PACCESS_REASONS = *mut Struct__ACCESS_REASONS;
#[repr(C)]
pub struct Struct__SE_SECURITY_DESCRIPTOR {
pub Size: DWORD,
pub Flags: DWORD,
pub SecurityDescriptor: PSECURITY_DESCRIPTOR,
}
pub type SE_SECURITY_DESCRIPTOR = Struct__SE_SECURITY_DESCRIPTOR;
pub type PSE_SECURITY_DESCRIPTOR = *mut Struct__SE_SECURITY_DESCRIPTOR;
#[repr(C)]
pub struct Struct__SE_ACCESS_REQUEST {
pub Size: DWORD,
pub SeSecurityDescriptor: PSE_SECURITY_DESCRIPTOR,
pub DesiredAccess: ACCESS_MASK,
pub PreviouslyGrantedAccess: ACCESS_MASK,
pub PrincipalSelfSid: PSID,
pub GenericMapping: PGENERIC_MAPPING,
pub ObjectTypeListCount: DWORD,
pub ObjectTypeList: POBJECT_TYPE_LIST,
}
pub type SE_ACCESS_REQUEST = Struct__SE_ACCESS_REQUEST;
pub type PSE_ACCESS_REQUEST = *mut Struct__SE_ACCESS_REQUEST;
#[repr(C)]
pub struct Struct__SE_ACCESS_REPLY {
pub Size: DWORD,
pub ResultListCount: DWORD,
pub GrantedAccess: PACCESS_MASK,
pub AccessStatus: PDWORD,
pub AccessReason: PACCESS_REASONS,
pub Privileges: *mut PPRIVILEGE_SET,
}
pub type SE_ACCESS_REPLY = Struct__SE_ACCESS_REPLY;
pub type PSE_ACCESS_REPLY = *mut Struct__SE_ACCESS_REPLY;
pub type Enum__SECURITY_IMPERSONATION_LEVEL = ::libc::c_uint;
pub const SecurityAnonymous: ::libc::c_uint = 0;
pub const SecurityIdentification: ::libc::c_uint = 1;
pub const SecurityImpersonation: ::libc::c_uint = 2;
pub const SecurityDelegation: ::libc::c_uint = 3;
pub type SECURITY_IMPERSONATION_LEVEL = Enum__SECURITY_IMPERSONATION_LEVEL;
pub type PSECURITY_IMPERSONATION_LEVEL =
*mut Enum__SECURITY_IMPERSONATION_LEVEL;
pub type Enum__TOKEN_TYPE = ::libc::c_uint;
pub const TokenPrimary: ::libc::c_uint = 1;
pub const TokenImpersonation: ::libc::c_uint = 2;
pub type TOKEN_TYPE = Enum__TOKEN_TYPE;
pub type PTOKEN_TYPE = *mut TOKEN_TYPE;
pub type Enum__TOKEN_ELEVATION_TYPE = ::libc::c_uint;
pub const TokenElevationTypeDefault: ::libc::c_uint = 1;
pub const TokenElevationTypeFull: ::libc::c_uint = 2;
pub const TokenElevationTypeLimited: ::libc::c_uint = 3;
pub type TOKEN_ELEVATION_TYPE = Enum__TOKEN_ELEVATION_TYPE;
pub type PTOKEN_ELEVATION_TYPE = *mut Enum__TOKEN_ELEVATION_TYPE;
pub type Enum__TOKEN_INFORMATION_CLASS = ::libc::c_uint;
pub const TokenUser: ::libc::c_uint = 1;
pub const TokenGroups: ::libc::c_uint = 2;
pub const TokenPrivileges: ::libc::c_uint = 3;
pub const TokenOwner: ::libc::c_uint = 4;
pub const TokenPrimaryGroup: ::libc::c_uint = 5;
pub const TokenDefaultDacl: ::libc::c_uint = 6;
pub const TokenSource: ::libc::c_uint = 7;
pub const TokenType: ::libc::c_uint = 8;
pub const TokenImpersonationLevel: ::libc::c_uint = 9;
pub const TokenStatistics: ::libc::c_uint = 10;
pub const TokenRestrictedSids: ::libc::c_uint = 11;
pub const TokenSessionId: ::libc::c_uint = 12;
pub const TokenGroupsAndPrivileges: ::libc::c_uint = 13;
pub const TokenSessionReference: ::libc::c_uint = 14;
pub const TokenSandBoxInert: ::libc::c_uint = 15;
pub const TokenAuditPolicy: ::libc::c_uint = 16;
pub const TokenOrigin: ::libc::c_uint = 17;
pub const TokenElevationType: ::libc::c_uint = 18;
pub const TokenLinkedToken: ::libc::c_uint = 19;
pub const TokenElevation: ::libc::c_uint = 20;
pub const TokenHasRestrictions: ::libc::c_uint = 21;
pub const TokenAccessInformation: ::libc::c_uint = 22;
pub const TokenVirtualizationAllowed: ::libc::c_uint = 23;
pub const TokenVirtualizationEnabled: ::libc::c_uint = 24;
pub const TokenIntegrityLevel: ::libc::c_uint = 25;
pub const TokenUIAccess: ::libc::c_uint = 26;
pub const TokenMandatoryPolicy: ::libc::c_uint = 27;
pub const TokenLogonSid: ::libc::c_uint = 28;
pub const TokenIsAppContainer: ::libc::c_uint = 29;
pub const TokenCapabilities: ::libc::c_uint = 30;
pub const TokenAppContainerSid: ::libc::c_uint = 31;
pub const TokenAppContainerNumber: ::libc::c_uint = 32;
pub const TokenUserClaimAttributes: ::libc::c_uint = 33;
pub const TokenDeviceClaimAttributes: ::libc::c_uint = 34;
pub const TokenRestrictedUserClaimAttributes: ::libc::c_uint = 35;
pub const TokenRestrictedDeviceClaimAttributes: ::libc::c_uint = 36;
pub const TokenDeviceGroups: ::libc::c_uint = 37;
pub const TokenRestrictedDeviceGroups: ::libc::c_uint = 38;
pub const TokenSecurityAttributes: ::libc::c_uint = 39;
pub const TokenIsRestricted: ::libc::c_uint = 40;
pub const MaxTokenInfoClass: ::libc::c_uint = 41;
pub type TOKEN_INFORMATION_CLASS = Enum__TOKEN_INFORMATION_CLASS;
pub type PTOKEN_INFORMATION_CLASS = *mut Enum__TOKEN_INFORMATION_CLASS;
#[repr(C)]
pub struct Struct__TOKEN_USER {
pub User: SID_AND_ATTRIBUTES,
}
pub type TOKEN_USER = Struct__TOKEN_USER;
pub type PTOKEN_USER = *mut Struct__TOKEN_USER;
#[repr(C)]
pub struct Struct__TOKEN_GROUPS {
pub GroupCount: DWORD,
pub Groups: [SID_AND_ATTRIBUTES, ..1u],
}
pub type TOKEN_GROUPS = Struct__TOKEN_GROUPS;
pub type PTOKEN_GROUPS = *mut Struct__TOKEN_GROUPS;
#[repr(C)]
pub struct Struct__TOKEN_PRIVILEGES {
pub PrivilegeCount: DWORD,
pub Privileges: [LUID_AND_ATTRIBUTES, ..1u],
}
pub type TOKEN_PRIVILEGES = Struct__TOKEN_PRIVILEGES;
pub type PTOKEN_PRIVILEGES = *mut Struct__TOKEN_PRIVILEGES;
#[repr(C)]
pub struct Struct__TOKEN_OWNER {
pub Owner: PSID,
}
pub type TOKEN_OWNER = Struct__TOKEN_OWNER;
pub type PTOKEN_OWNER = *mut Struct__TOKEN_OWNER;
#[repr(C)]
pub struct Struct__TOKEN_PRIMARY_GROUP {
pub PrimaryGroup: PSID,
}
pub type TOKEN_PRIMARY_GROUP = Struct__TOKEN_PRIMARY_GROUP;
pub type PTOKEN_PRIMARY_GROUP = *mut Struct__TOKEN_PRIMARY_GROUP;
#[repr(C)]
pub struct Struct__TOKEN_DEFAULT_DACL {
pub DefaultDacl: PACL,
}
pub type TOKEN_DEFAULT_DACL = Struct__TOKEN_DEFAULT_DACL;
pub type PTOKEN_DEFAULT_DACL = *mut Struct__TOKEN_DEFAULT_DACL;
#[repr(C)]
pub struct Struct__TOKEN_USER_CLAIMS {
pub UserClaims: PCLAIMS_BLOB,
}
pub type TOKEN_USER_CLAIMS = Struct__TOKEN_USER_CLAIMS;
pub type PTOKEN_USER_CLAIMS = *mut Struct__TOKEN_USER_CLAIMS;
#[repr(C)]
pub struct Struct__TOKEN_DEVICE_CLAIMS {
pub DeviceClaims: PCLAIMS_BLOB,
}
pub type TOKEN_DEVICE_CLAIMS = Struct__TOKEN_DEVICE_CLAIMS;
pub type PTOKEN_DEVICE_CLAIMS = *mut Struct__TOKEN_DEVICE_CLAIMS;
#[repr(C)]
pub struct Struct__TOKEN_GROUPS_AND_PRIVILEGES {
pub SidCount: DWORD,
pub SidLength: DWORD,
pub Sids: PSID_AND_ATTRIBUTES,
pub RestrictedSidCount: DWORD,
pub RestrictedSidLength: DWORD,
pub RestrictedSids: PSID_AND_ATTRIBUTES,
pub PrivilegeCount: DWORD,
pub PrivilegeLength: DWORD,
pub Privileges: PLUID_AND_ATTRIBUTES,
pub AuthenticationId: LUID,
}
pub type TOKEN_GROUPS_AND_PRIVILEGES = Struct__TOKEN_GROUPS_AND_PRIVILEGES;
pub type PTOKEN_GROUPS_AND_PRIVILEGES =
*mut Struct__TOKEN_GROUPS_AND_PRIVILEGES;
#[repr(C)]
pub struct Struct__TOKEN_LINKED_TOKEN {
pub LinkedToken: HANDLE,
}
pub type TOKEN_LINKED_TOKEN = Struct__TOKEN_LINKED_TOKEN;
pub type PTOKEN_LINKED_TOKEN = *mut Struct__TOKEN_LINKED_TOKEN;
#[repr(C)]
pub struct Struct__TOKEN_ELEVATION {
pub TokenIsElevated: DWORD,
}
pub type TOKEN_ELEVATION = Struct__TOKEN_ELEVATION;
pub type PTOKEN_ELEVATION = *mut Struct__TOKEN_ELEVATION;
#[repr(C)]
pub struct Struct__TOKEN_MANDATORY_LABEL {
pub Label: SID_AND_ATTRIBUTES,
}
pub type TOKEN_MANDATORY_LABEL = Struct__TOKEN_MANDATORY_LABEL;
pub type PTOKEN_MANDATORY_LABEL = *mut Struct__TOKEN_MANDATORY_LABEL;
#[repr(C)]
pub struct Struct__TOKEN_MANDATORY_POLICY {
pub Policy: DWORD,
}
pub type TOKEN_MANDATORY_POLICY = Struct__TOKEN_MANDATORY_POLICY;
pub type PTOKEN_MANDATORY_POLICY = *mut Struct__TOKEN_MANDATORY_POLICY;
#[repr(C)]
pub struct Struct__TOKEN_ACCESS_INFORMATION {
pub SidHash: PSID_AND_ATTRIBUTES_HASH,
pub RestrictedSidHash: PSID_AND_ATTRIBUTES_HASH,
pub Privileges: PTOKEN_PRIVILEGES,
pub AuthenticationId: LUID,
pub TokenType: TOKEN_TYPE,
pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
pub MandatoryPolicy: TOKEN_MANDATORY_POLICY,
pub Flags: DWORD,
pub AppContainerNumber: DWORD,
pub PackageSid: PSID,
pub CapabilitiesHash: PSID_AND_ATTRIBUTES_HASH,
}
pub type TOKEN_ACCESS_INFORMATION = Struct__TOKEN_ACCESS_INFORMATION;
pub type PTOKEN_ACCESS_INFORMATION = *mut Struct__TOKEN_ACCESS_INFORMATION;
#[repr(C)]
pub struct Struct__TOKEN_AUDIT_POLICY {
pub PerUserPolicy: [UCHAR, ..29u],
}
pub type TOKEN_AUDIT_POLICY = Struct__TOKEN_AUDIT_POLICY;
pub type PTOKEN_AUDIT_POLICY = *mut Struct__TOKEN_AUDIT_POLICY;
#[repr(C)]
pub struct Struct__TOKEN_SOURCE {
pub SourceName: [CHAR, ..8u],
pub SourceIdentifier: LUID,
}
pub type TOKEN_SOURCE = Struct__TOKEN_SOURCE;
pub type PTOKEN_SOURCE = *mut Struct__TOKEN_SOURCE;
#[repr(C)]
pub struct Struct__TOKEN_STATISTICS {
pub TokenId: LUID,
pub AuthenticationId: LUID,
pub ExpirationTime: LARGE_INTEGER,
pub TokenType: TOKEN_TYPE,
pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
pub DynamicCharged: DWORD,
pub DynamicAvailable: DWORD,
pub GroupCount: DWORD,
pub PrivilegeCount: DWORD,
pub ModifiedId: LUID,
}
pub type TOKEN_STATISTICS = Struct__TOKEN_STATISTICS;
pub type PTOKEN_STATISTICS = *mut Struct__TOKEN_STATISTICS;
#[repr(C)]
pub struct Struct__TOKEN_CONTROL {
pub TokenId: LUID,
pub AuthenticationId: LUID,
pub ModifiedId: LUID,
pub TokenSource: TOKEN_SOURCE,
}
pub type TOKEN_CONTROL = Struct__TOKEN_CONTROL;
pub type PTOKEN_CONTROL = *mut Struct__TOKEN_CONTROL;
#[repr(C)]
pub struct Struct__TOKEN_ORIGIN {
pub OriginatingLogonSession: LUID,
}
pub type TOKEN_ORIGIN = Struct__TOKEN_ORIGIN;
pub type PTOKEN_ORIGIN = *mut Struct__TOKEN_ORIGIN;
pub type Enum__MANDATORY_LEVEL = ::libc::c_uint;
pub const MandatoryLevelUntrusted: ::libc::c_uint = 0;
pub const MandatoryLevelLow: ::libc::c_uint = 1;
pub const MandatoryLevelMedium: ::libc::c_uint = 2;
pub const MandatoryLevelHigh: ::libc::c_uint = 3;
pub const MandatoryLevelSystem: ::libc::c_uint = 4;
pub const MandatoryLevelSecureProcess: ::libc::c_uint = 5;
pub const MandatoryLevelCount: ::libc::c_uint = 6;
pub type MANDATORY_LEVEL = Enum__MANDATORY_LEVEL;
pub type PMANDATORY_LEVEL = *mut Enum__MANDATORY_LEVEL;
#[repr(C)]
pub struct Struct__TOKEN_APPCONTAINER_INFORMATION {
pub TokenAppContainer: PSID,
}
pub type TOKEN_APPCONTAINER_INFORMATION =
Struct__TOKEN_APPCONTAINER_INFORMATION;
pub type PTOKEN_APPCONTAINER_INFORMATION =
*mut Struct__TOKEN_APPCONTAINER_INFORMATION;
#[repr(C)]
pub struct Struct__CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
pub Version: DWORD64,
pub Name: PWSTR,
}
pub type CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE =
Struct__CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE;
pub type PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE =
*mut Struct__CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE;
#[repr(C)]
pub struct Struct__CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
pub pValue: PVOID,
pub ValueLength: DWORD,
}
pub type CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE =
Struct__CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE;
pub type PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE =
*mut Struct__CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE;
#[repr(C)]
pub struct Struct__CLAIM_SECURITY_ATTRIBUTE_V1 {
pub Name: PWSTR,
pub ValueType: WORD,
pub Reserved: WORD,
pub Flags: DWORD,
pub ValueCount: DWORD,
pub Values: Union_Unnamed20,
}
#[repr(C)]
pub struct Union_Unnamed20 {
pub data: [u64, ..1u],
}
impl Union_Unnamed20 {
pub fn pInt64(&mut self) -> *mut PLONG64 {
unsafe { ::std::mem::transmute(self) }
}
pub fn pUint64(&mut self) -> *mut PDWORD64 {
unsafe { ::std::mem::transmute(self) }
}
pub fn ppString(&mut self) -> *mut *mut PWSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn pFqbn(&mut self) -> *mut PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
unsafe { ::std::mem::transmute(self) }
}
pub fn pOctetString(&mut self) ->
*mut PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CLAIM_SECURITY_ATTRIBUTE_V1 = Struct__CLAIM_SECURITY_ATTRIBUTE_V1;
pub type PCLAIM_SECURITY_ATTRIBUTE_V1 =
*mut Struct__CLAIM_SECURITY_ATTRIBUTE_V1;
#[repr(C)]
pub struct Struct__CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 {
pub Name: DWORD,
pub ValueType: WORD,
pub Reserved: WORD,
pub Flags: DWORD,
pub ValueCount: DWORD,
pub Values: Union_Unnamed21,
}
#[repr(C)]
pub struct Union_Unnamed21 {
pub data: [u32, ..1u],
}
impl Union_Unnamed21 {
pub fn pInt64(&mut self) -> *mut [DWORD, ..1u] {
unsafe { ::std::mem::transmute(self) }
}
pub fn pUint64(&mut self) -> *mut [DWORD, ..1u] {
unsafe { ::std::mem::transmute(self) }
}
pub fn ppString(&mut self) -> *mut [DWORD, ..1u] {
unsafe { ::std::mem::transmute(self) }
}
pub fn pFqbn(&mut self) -> *mut [DWORD, ..1u] {
unsafe { ::std::mem::transmute(self) }
}
pub fn pOctetString(&mut self) -> *mut [DWORD, ..1u] {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 =
Struct__CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1;
pub type PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 =
*mut Struct__CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1;
#[repr(C)]
pub struct Struct__CLAIM_SECURITY_ATTRIBUTES_INFORMATION {
pub Version: WORD,
pub Reserved: WORD,
pub AttributeCount: DWORD,
pub Attribute: Union_Unnamed22,
}
#[repr(C)]
pub struct Union_Unnamed22 {
pub data: [u64, ..1u],
}
impl Union_Unnamed22 {
pub fn pAttributeV1(&mut self) -> *mut PCLAIM_SECURITY_ATTRIBUTE_V1 {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CLAIM_SECURITY_ATTRIBUTES_INFORMATION =
Struct__CLAIM_SECURITY_ATTRIBUTES_INFORMATION;
pub type PCLAIM_SECURITY_ATTRIBUTES_INFORMATION =
*mut Struct__CLAIM_SECURITY_ATTRIBUTES_INFORMATION;
pub type SECURITY_CONTEXT_TRACKING_MODE = BOOLEAN;
pub type PSECURITY_CONTEXT_TRACKING_MODE = *mut BOOLEAN;
#[repr(C)]
pub struct Struct__SECURITY_QUALITY_OF_SERVICE {
pub Length: DWORD,
pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
pub ContextTrackingMode: SECURITY_CONTEXT_TRACKING_MODE,
pub EffectiveOnly: BOOLEAN,
}
pub type SECURITY_QUALITY_OF_SERVICE = Struct__SECURITY_QUALITY_OF_SERVICE;
pub type PSECURITY_QUALITY_OF_SERVICE =
*mut Struct__SECURITY_QUALITY_OF_SERVICE;
#[repr(C)]
pub struct Struct__SE_IMPERSONATION_STATE {
pub Token: PACCESS_TOKEN,
pub CopyOnOpen: BOOLEAN,
pub EffectiveOnly: BOOLEAN,
pub Level: SECURITY_IMPERSONATION_LEVEL,
}
pub type SE_IMPERSONATION_STATE = Struct__SE_IMPERSONATION_STATE;
pub type PSE_IMPERSONATION_STATE = *mut Struct__SE_IMPERSONATION_STATE;
pub type SECURITY_INFORMATION = DWORD;
pub type PSECURITY_INFORMATION = *mut DWORD;
pub type Enum__SE_LEARNING_MODE_DATA_TYPE = ::libc::c_uint;
pub const SeLearningModeInvalidType: ::libc::c_uint = 0;
pub const SeLearningModeSettings: ::libc::c_uint = 1;
pub const SeLearningModeMax: ::libc::c_uint = 2;
pub type SE_LEARNING_MODE_DATA_TYPE = Enum__SE_LEARNING_MODE_DATA_TYPE;
#[repr(C)]
pub struct Struct__SECURITY_CAPABILITIES {
pub AppContainerSid: PSID,
pub Capabilities: PSID_AND_ATTRIBUTES,
pub CapabilityCount: DWORD,
pub Reserved: DWORD,
}
pub type SECURITY_CAPABILITIES = Struct__SECURITY_CAPABILITIES;
pub type PSECURITY_CAPABILITIES = *mut Struct__SECURITY_CAPABILITIES;
pub type LPSECURITY_CAPABILITIES = *mut Struct__SECURITY_CAPABILITIES;
#[repr(C)]
pub struct Struct__JOB_SET_ARRAY {
pub JobHandle: HANDLE,
pub MemberLevel: DWORD,
pub Flags: DWORD,
}
pub type JOB_SET_ARRAY = Struct__JOB_SET_ARRAY;
pub type PJOB_SET_ARRAY = *mut Struct__JOB_SET_ARRAY;
#[repr(C)]
pub struct Struct__EXCEPTION_REGISTRATION_RECORD {
}
#[repr(C)]
pub struct Union_Unnamed23 {
pub data: [u64, ..1u],
}
impl Union_Unnamed23 {
pub fn Next(&mut self) ->
*mut *mut Struct__EXCEPTION_REGISTRATION_RECORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn prev(&mut self) ->
*mut *mut Struct__EXCEPTION_REGISTRATION_RECORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Union_Unnamed24 {
pub data: [u64, ..1u],
}
impl Union_Unnamed24 {
pub fn Handler(&mut self) -> *mut PEXCEPTION_ROUTINE {
unsafe { ::std::mem::transmute(self) }
}
pub fn handler(&mut self) -> *mut PEXCEPTION_ROUTINE {
unsafe { ::std::mem::transmute(self) }
}
}
pub type EXCEPTION_REGISTRATION_RECORD =
Struct__EXCEPTION_REGISTRATION_RECORD;
pub type PEXCEPTION_REGISTRATION_RECORD = *mut EXCEPTION_REGISTRATION_RECORD;
pub type EXCEPTION_REGISTRATION = EXCEPTION_REGISTRATION_RECORD;
pub type PEXCEPTION_REGISTRATION = PEXCEPTION_REGISTRATION_RECORD;
#[repr(C)]
pub struct Struct__NT_TIB {
pub ExceptionList: *mut Struct__EXCEPTION_REGISTRATION_RECORD,
pub StackBase: PVOID,
pub StackLimit: PVOID,
pub SubSystemTib: PVOID,
pub ArbitraryUserPointer: PVOID,
pub _Self: *mut Struct__NT_TIB,
}
#[repr(C)]
pub struct Union_Unnamed25 {
pub data: [u64, ..1u],
}
impl Union_Unnamed25 {
pub fn FiberData(&mut self) -> *mut PVOID {
unsafe { ::std::mem::transmute(self) }
}
pub fn Version(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type NT_TIB = Struct__NT_TIB;
pub type PNT_TIB = *mut NT_TIB;
#[repr(C)]
pub struct Struct__NT_TIB32 {
pub ExceptionList: DWORD,
pub StackBase: DWORD,
pub StackLimit: DWORD,
pub SubSystemTib: DWORD,
pub ArbitraryUserPointer: DWORD,
pub _Self: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed26 {
pub data: [u32, ..1u],
}
impl Union_Unnamed26 {
pub fn FiberData(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn Version(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type NT_TIB32 = Struct__NT_TIB32;
pub type PNT_TIB32 = *mut Struct__NT_TIB32;
#[repr(C)]
pub struct Struct__NT_TIB64 {
pub ExceptionList: DWORD64,
pub StackBase: DWORD64,
pub StackLimit: DWORD64,
pub SubSystemTib: DWORD64,
pub ArbitraryUserPointer: DWORD64,
pub _Self: DWORD64,
}
#[repr(C)]
pub struct Union_Unnamed27 {
pub data: [u64, ..1u],
}
impl Union_Unnamed27 {
pub fn FiberData(&mut self) -> *mut DWORD64 {
unsafe { ::std::mem::transmute(self) }
}
pub fn Version(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type NT_TIB64 = Struct__NT_TIB64;
pub type PNT_TIB64 = *mut Struct__NT_TIB64;
#[repr(C)]
pub struct Struct__UMS_CREATE_THREAD_ATTRIBUTES {
pub UmsVersion: DWORD,
pub UmsContext: PVOID,
pub UmsCompletionList: PVOID,
}
pub type UMS_CREATE_THREAD_ATTRIBUTES = Struct__UMS_CREATE_THREAD_ATTRIBUTES;
pub type PUMS_CREATE_THREAD_ATTRIBUTES =
*mut Struct__UMS_CREATE_THREAD_ATTRIBUTES;
#[repr(C)]
pub struct Struct__QUOTA_LIMITS {
pub PagedPoolLimit: SIZE_T,
pub NonPagedPoolLimit: SIZE_T,
pub MinimumWorkingSetSize: SIZE_T,
pub MaximumWorkingSetSize: SIZE_T,
pub PagefileLimit: SIZE_T,
pub TimeLimit: LARGE_INTEGER,
}
pub type QUOTA_LIMITS = Struct__QUOTA_LIMITS;
pub type PQUOTA_LIMITS = *mut Struct__QUOTA_LIMITS;
#[repr(C)]
pub struct Union__RATE_QUOTA_LIMIT {
pub data: [u32, ..1u],
}
impl Union__RATE_QUOTA_LIMIT {
pub fn RateData(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed28 {
pub RatePercent: DWORD,
pub Reserved0: DWORD,
}
pub type RATE_QUOTA_LIMIT = Union__RATE_QUOTA_LIMIT;
pub type PRATE_QUOTA_LIMIT = *mut Union__RATE_QUOTA_LIMIT;
#[repr(C)]
pub struct Struct__QUOTA_LIMITS_EX {
pub PagedPoolLimit: SIZE_T,
pub NonPagedPoolLimit: SIZE_T,
pub MinimumWorkingSetSize: SIZE_T,
pub MaximumWorkingSetSize: SIZE_T,
pub PagefileLimit: SIZE_T,
pub TimeLimit: LARGE_INTEGER,
pub WorkingSetLimit: SIZE_T,
pub Reserved2: SIZE_T,
pub Reserved3: SIZE_T,
pub Reserved4: SIZE_T,
pub Flags: DWORD,
pub CpuRateLimit: RATE_QUOTA_LIMIT,
}
pub type QUOTA_LIMITS_EX = Struct__QUOTA_LIMITS_EX;
pub type PQUOTA_LIMITS_EX = *mut Struct__QUOTA_LIMITS_EX;
#[repr(C)]
pub struct Struct__IO_COUNTERS {
pub ReadOperationCount: ULONGLONG,
pub WriteOperationCount: ULONGLONG,
pub OtherOperationCount: ULONGLONG,
pub ReadTransferCount: ULONGLONG,
pub WriteTransferCount: ULONGLONG,
pub OtherTransferCount: ULONGLONG,
}
pub type IO_COUNTERS = Struct__IO_COUNTERS;
pub type PIO_COUNTERS = *mut IO_COUNTERS;
pub type Enum__HARDWARE_COUNTER_TYPE = ::libc::c_uint;
pub const PMCCounter: ::libc::c_uint = 0;
pub const MaxHardwareCounterType: ::libc::c_uint = 1;
pub type HARDWARE_COUNTER_TYPE = Enum__HARDWARE_COUNTER_TYPE;
pub type PHARDWARE_COUNTER_TYPE = *mut Enum__HARDWARE_COUNTER_TYPE;
pub type Enum__PROCESS_MITIGATION_POLICY = ::libc::c_uint;
pub const ProcessDEPPolicy: ::libc::c_uint = 0;
pub const ProcessASLRPolicy: ::libc::c_uint = 1;
pub const ProcessReserved1MitigationPolicy: ::libc::c_uint = 2;
pub const ProcessStrictHandleCheckPolicy: ::libc::c_uint = 3;
pub const ProcessSystemCallDisablePolicy: ::libc::c_uint = 4;
pub const ProcessMitigationOptionsMask: ::libc::c_uint = 5;
pub const ProcessExtensionPointDisablePolicy: ::libc::c_uint = 6;
pub const MaxProcessMitigationPolicy: ::libc::c_uint = 7;
pub type PROCESS_MITIGATION_POLICY = Enum__PROCESS_MITIGATION_POLICY;
pub type PPROCESS_MITIGATION_POLICY = *mut Enum__PROCESS_MITIGATION_POLICY;
#[repr(C)]
pub struct Struct__PROCESS_MITIGATION_ASLR_POLICY {
}
#[repr(C)]
pub struct Union_Unnamed29 {
pub data: [u32, ..1u],
}
impl Union_Unnamed29 {
pub fn Flags(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed30 {
pub EnableBottomUpRandomization: DWORD,
pub EnableForceRelocateImages: DWORD,
pub EnableHighEntropy: DWORD,
pub DisallowStrippedImages: DWORD,
pub ReservedFlags: DWORD,
}
pub type PROCESS_MITIGATION_ASLR_POLICY =
Struct__PROCESS_MITIGATION_ASLR_POLICY;
pub type PPROCESS_MITIGATION_ASLR_POLICY =
*mut Struct__PROCESS_MITIGATION_ASLR_POLICY;
#[repr(C)]
pub struct Struct__PROCESS_MITIGATION_DEP_POLICY {
pub Permanent: BOOLEAN,
}
#[repr(C)]
pub struct Union_Unnamed31 {
pub data: [u32, ..1u],
}
impl Union_Unnamed31 {
pub fn Flags(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed32 {
pub Enable: DWORD,
pub DisableAtlThunkEmulation: DWORD,
pub ReservedFlags: DWORD,
}
pub type PROCESS_MITIGATION_DEP_POLICY =
Struct__PROCESS_MITIGATION_DEP_POLICY;
pub type PPROCESS_MITIGATION_DEP_POLICY =
*mut Struct__PROCESS_MITIGATION_DEP_POLICY;
#[repr(C)]
pub struct Struct__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY {
}
#[repr(C)]
pub struct Union_Unnamed33 {
pub data: [u32, ..1u],
}
impl Union_Unnamed33 {
pub fn Flags(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed34 {
pub RaiseExceptionOnInvalidHandleReference: DWORD,
pub HandleExceptionsPermanentlyEnabled: DWORD,
pub ReservedFlags: DWORD,
}
pub type PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY =
Struct__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY;
pub type PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY =
*mut Struct__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY;
#[repr(C)]
pub struct Struct__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY {
}
#[repr(C)]
pub struct Union_Unnamed35 {
pub data: [u32, ..1u],
}
impl Union_Unnamed35 {
pub fn Flags(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed36 {
pub DisallowWin32kSystemCalls: DWORD,
pub ReservedFlags: DWORD,
}
pub type PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY =
Struct__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY;
pub type PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY =
*mut Struct__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY;
#[repr(C)]
pub struct Struct__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY {
}
#[repr(C)]
pub struct Union_Unnamed37 {
pub data: [u32, ..1u],
}
impl Union_Unnamed37 {
pub fn Flags(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed38 {
pub DisableExtensionPoints: DWORD,
pub ReservedFlags: DWORD,
}
pub type PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY =
Struct__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY;
pub type PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY =
*mut Struct__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY;
#[repr(C)]
pub struct Struct__JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
pub TotalUserTime: LARGE_INTEGER,
pub TotalKernelTime: LARGE_INTEGER,
pub ThisPeriodTotalUserTime: LARGE_INTEGER,
pub ThisPeriodTotalKernelTime: LARGE_INTEGER,
pub TotalPageFaultCount: DWORD,
pub TotalProcesses: DWORD,
pub ActiveProcesses: DWORD,
pub TotalTerminatedProcesses: DWORD,
}
pub type JOBOBJECT_BASIC_ACCOUNTING_INFORMATION =
Struct__JOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
pub type PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION =
*mut Struct__JOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
#[repr(C)]
pub struct Struct__JOBOBJECT_BASIC_LIMIT_INFORMATION {
pub PerProcessUserTimeLimit: LARGE_INTEGER,
pub PerJobUserTimeLimit: LARGE_INTEGER,
pub LimitFlags: DWORD,
pub MinimumWorkingSetSize: SIZE_T,
pub MaximumWorkingSetSize: SIZE_T,
pub ActiveProcessLimit: DWORD,
pub Affinity: ULONG_PTR,
pub PriorityClass: DWORD,
pub SchedulingClass: DWORD,
}
pub type JOBOBJECT_BASIC_LIMIT_INFORMATION =
Struct__JOBOBJECT_BASIC_LIMIT_INFORMATION;
pub type PJOBOBJECT_BASIC_LIMIT_INFORMATION =
*mut Struct__JOBOBJECT_BASIC_LIMIT_INFORMATION;
#[repr(C)]
pub struct Struct__JOBOBJECT_EXTENDED_LIMIT_INFORMATION {
pub BasicLimitInformation: JOBOBJECT_BASIC_LIMIT_INFORMATION,
pub IoInfo: IO_COUNTERS,
pub ProcessMemoryLimit: SIZE_T,
pub JobMemoryLimit: SIZE_T,
pub PeakProcessMemoryUsed: SIZE_T,
pub PeakJobMemoryUsed: SIZE_T,
}
pub type JOBOBJECT_EXTENDED_LIMIT_INFORMATION =
Struct__JOBOBJECT_EXTENDED_LIMIT_INFORMATION;
pub type PJOBOBJECT_EXTENDED_LIMIT_INFORMATION =
*mut Struct__JOBOBJECT_EXTENDED_LIMIT_INFORMATION;
#[repr(C)]
pub struct Struct__JOBOBJECT_BASIC_PROCESS_ID_LIST {
pub NumberOfAssignedProcesses: DWORD,
pub NumberOfProcessIdsInList: DWORD,
pub ProcessIdList: [ULONG_PTR, ..1u],
}
pub type JOBOBJECT_BASIC_PROCESS_ID_LIST =
Struct__JOBOBJECT_BASIC_PROCESS_ID_LIST;
pub type PJOBOBJECT_BASIC_PROCESS_ID_LIST =
*mut Struct__JOBOBJECT_BASIC_PROCESS_ID_LIST;
#[repr(C)]
pub struct Struct__JOBOBJECT_BASIC_UI_RESTRICTIONS {
pub UIRestrictionsClass: DWORD,
}
pub type JOBOBJECT_BASIC_UI_RESTRICTIONS =
Struct__JOBOBJECT_BASIC_UI_RESTRICTIONS;
pub type PJOBOBJECT_BASIC_UI_RESTRICTIONS =
*mut Struct__JOBOBJECT_BASIC_UI_RESTRICTIONS;
#[repr(C)]
pub struct Struct__JOBOBJECT_SECURITY_LIMIT_INFORMATION {
pub SecurityLimitFlags: DWORD,
pub JobToken: HANDLE,
pub SidsToDisable: PTOKEN_GROUPS,
pub PrivilegesToDelete: PTOKEN_PRIVILEGES,
pub RestrictedSids: PTOKEN_GROUPS,
}
pub type JOBOBJECT_SECURITY_LIMIT_INFORMATION =
Struct__JOBOBJECT_SECURITY_LIMIT_INFORMATION;
pub type PJOBOBJECT_SECURITY_LIMIT_INFORMATION =
*mut Struct__JOBOBJECT_SECURITY_LIMIT_INFORMATION;
#[repr(C)]
pub struct Struct__JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
pub EndOfJobTimeAction: DWORD,
}
pub type JOBOBJECT_END_OF_JOB_TIME_INFORMATION =
Struct__JOBOBJECT_END_OF_JOB_TIME_INFORMATION;
pub type PJOBOBJECT_END_OF_JOB_TIME_INFORMATION =
*mut Struct__JOBOBJECT_END_OF_JOB_TIME_INFORMATION;
#[repr(C)]
pub struct Struct__JOBOBJECT_ASSOCIATE_COMPLETION_PORT {
pub CompletionKey: PVOID,
pub CompletionPort: HANDLE,
}
pub type JOBOBJECT_ASSOCIATE_COMPLETION_PORT =
Struct__JOBOBJECT_ASSOCIATE_COMPLETION_PORT;
pub type PJOBOBJECT_ASSOCIATE_COMPLETION_PORT =
*mut Struct__JOBOBJECT_ASSOCIATE_COMPLETION_PORT;
#[repr(C)]
pub struct Struct__JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {
pub BasicInfo: JOBOBJECT_BASIC_ACCOUNTING_INFORMATION,
pub IoInfo: IO_COUNTERS,
}
pub type JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION =
Struct__JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION;
pub type PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION =
*mut Struct__JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION;
#[repr(C)]
pub struct Struct__JOBOBJECT_JOBSET_INFORMATION {
pub MemberLevel: DWORD,
}
pub type JOBOBJECT_JOBSET_INFORMATION = Struct__JOBOBJECT_JOBSET_INFORMATION;
pub type PJOBOBJECT_JOBSET_INFORMATION =
*mut Struct__JOBOBJECT_JOBSET_INFORMATION;
pub type Enum__JOBOBJECT_RATE_CONTROL_TOLERANCE = ::libc::c_uint;
pub const ToleranceLow: ::libc::c_uint = 1;
pub const ToleranceMedium: ::libc::c_uint = 2;
pub const ToleranceHigh: ::libc::c_uint = 3;
pub type JOBOBJECT_RATE_CONTROL_TOLERANCE =
Enum__JOBOBJECT_RATE_CONTROL_TOLERANCE;
pub type Enum__JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = ::libc::c_uint;
pub const ToleranceIntervalShort: ::libc::c_uint = 1;
pub const ToleranceIntervalMedium: ::libc::c_uint = 2;
pub const ToleranceIntervalLong: ::libc::c_uint = 3;
pub type JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL =
Enum__JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL;
#[repr(C)]
pub struct Struct__JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION {
pub IoReadBytesLimit: DWORD64,
pub IoWriteBytesLimit: DWORD64,
pub PerJobUserTimeLimit: LARGE_INTEGER,
pub JobMemoryLimit: DWORD64,
pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
pub LimitFlags: DWORD,
}
pub type JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION =
Struct__JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION;
pub type PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION =
*mut Struct__JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION;
#[repr(C)]
pub struct Struct__JOBOBJECT_LIMIT_VIOLATION_INFORMATION {
pub LimitFlags: DWORD,
pub ViolationLimitFlags: DWORD,
pub IoReadBytes: DWORD64,
pub IoReadBytesLimit: DWORD64,
pub IoWriteBytes: DWORD64,
pub IoWriteBytesLimit: DWORD64,
pub PerJobUserTime: LARGE_INTEGER,
pub PerJobUserTimeLimit: LARGE_INTEGER,
pub JobMemory: DWORD64,
pub JobMemoryLimit: DWORD64,
pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
}
pub type JOBOBJECT_LIMIT_VIOLATION_INFORMATION =
Struct__JOBOBJECT_LIMIT_VIOLATION_INFORMATION;
pub type PJOBOBJECT_LIMIT_VIOLATION_INFORMATION =
*mut Struct__JOBOBJECT_LIMIT_VIOLATION_INFORMATION;
#[repr(C)]
pub struct Struct__JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {
pub ControlFlags: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed39 {
pub data: [u32, ..1u],
}
impl Union_Unnamed39 {
pub fn CpuRate(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn Weight(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type JOBOBJECT_CPU_RATE_CONTROL_INFORMATION =
Struct__JOBOBJECT_CPU_RATE_CONTROL_INFORMATION;
pub type PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION =
*mut Struct__JOBOBJECT_CPU_RATE_CONTROL_INFORMATION;
pub type Enum__JOBOBJECTINFOCLASS = ::libc::c_uint;
pub const JobObjectBasicAccountingInformation: ::libc::c_uint = 1;
pub const JobObjectBasicLimitInformation: ::libc::c_uint = 2;
pub const JobObjectBasicProcessIdList: ::libc::c_uint = 3;
pub const JobObjectBasicUIRestrictions: ::libc::c_uint = 4;
pub const JobObjectSecurityLimitInformation: ::libc::c_uint = 5;
pub const JobObjectEndOfJobTimeInformation: ::libc::c_uint = 6;
pub const JobObjectAssociateCompletionPortInformation: ::libc::c_uint = 7;
pub const JobObjectBasicAndIoAccountingInformation: ::libc::c_uint = 8;
pub const JobObjectExtendedLimitInformation: ::libc::c_uint = 9;
pub const JobObjectJobSetInformation: ::libc::c_uint = 10;
pub const JobObjectGroupInformation: ::libc::c_uint = 11;
pub const JobObjectNotificationLimitInformation: ::libc::c_uint = 12;
pub const JobObjectLimitViolationInformation: ::libc::c_uint = 13;
pub const JobObjectGroupInformationEx: ::libc::c_uint = 14;
pub const JobObjectCpuRateControlInformation: ::libc::c_uint = 15;
pub const JobObjectCompletionFilter: ::libc::c_uint = 16;
pub const JobObjectCompletionCounter: ::libc::c_uint = 17;
pub const JobObjectReserved1Information: ::libc::c_uint = 18;
pub const JobObjectReserved2Information: ::libc::c_uint = 19;
pub const JobObjectReserved3Information: ::libc::c_uint = 20;
pub const JobObjectReserved4Information: ::libc::c_uint = 21;
pub const JobObjectReserved5Information: ::libc::c_uint = 22;
pub const JobObjectReserved6Information: ::libc::c_uint = 23;
pub const JobObjectReserved7Information: ::libc::c_uint = 24;
pub const JobObjectReserved8Information: ::libc::c_uint = 25;
pub const MaxJobObjectInfoClass: ::libc::c_uint = 26;
pub type JOBOBJECTINFOCLASS = Enum__JOBOBJECTINFOCLASS;
pub type Enum__FIRMWARE_TYPE = ::libc::c_uint;
pub const FirmwareTypeUnknown: ::libc::c_uint = 0;
pub const FirmwareTypeBios: ::libc::c_uint = 1;
pub const FirmwareTypeUefi: ::libc::c_uint = 2;
pub const FirmwareTypeMax: ::libc::c_uint = 3;
pub type FIRMWARE_TYPE = Enum__FIRMWARE_TYPE;
pub type PFIRMWARE_TYPE = *mut Enum__FIRMWARE_TYPE;
pub type Enum__LOGICAL_PROCESSOR_RELATIONSHIP = ::libc::c_uint;
pub const RelationProcessorCore: ::libc::c_uint = 0;
pub const RelationNumaNode: ::libc::c_uint = 1;
pub const RelationCache: ::libc::c_uint = 2;
pub const RelationProcessorPackage: ::libc::c_uint = 3;
pub const RelationGroup: ::libc::c_uint = 4;
pub const RelationAll: ::libc::c_uint = 65535;
pub type LOGICAL_PROCESSOR_RELATIONSHIP =
Enum__LOGICAL_PROCESSOR_RELATIONSHIP;
pub type Enum__PROCESSOR_CACHE_TYPE = ::libc::c_uint;
pub const CacheUnified: ::libc::c_uint = 0;
pub const CacheInstruction: ::libc::c_uint = 1;
pub const CacheData: ::libc::c_uint = 2;
pub const CacheTrace: ::libc::c_uint = 3;
pub type PROCESSOR_CACHE_TYPE = Enum__PROCESSOR_CACHE_TYPE;
#[repr(C)]
pub struct Struct__CACHE_DESCRIPTOR {
pub Level: BYTE,
pub Associativity: BYTE,
pub LineSize: WORD,
pub Size: DWORD,
pub Type: PROCESSOR_CACHE_TYPE,
}
pub type CACHE_DESCRIPTOR = Struct__CACHE_DESCRIPTOR;
pub type PCACHE_DESCRIPTOR = *mut Struct__CACHE_DESCRIPTOR;
#[repr(C)]
pub struct Struct__SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
pub ProcessorMask: ULONG_PTR,
pub Relationship: LOGICAL_PROCESSOR_RELATIONSHIP,
}
#[repr(C)]
pub struct Union_Unnamed40 {
pub data: [u64, ..2u],
}
impl Union_Unnamed40 {
pub fn ProcessorCore(&mut self) -> *mut Struct_Unnamed41 {
unsafe { ::std::mem::transmute(self) }
}
pub fn NumaNode(&mut self) -> *mut Struct_Unnamed42 {
unsafe { ::std::mem::transmute(self) }
}
pub fn Cache(&mut self) -> *mut CACHE_DESCRIPTOR {
unsafe { ::std::mem::transmute(self) }
}
pub fn Reserved(&mut self) -> *mut [ULONGLONG, ..2u] {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed41 {
pub Flags: BYTE,
}
#[repr(C)]
pub struct Struct_Unnamed42 {
pub NodeNumber: DWORD,
}
pub type SYSTEM_LOGICAL_PROCESSOR_INFORMATION =
Struct__SYSTEM_LOGICAL_PROCESSOR_INFORMATION;
pub type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION =
*mut Struct__SYSTEM_LOGICAL_PROCESSOR_INFORMATION;
#[repr(C)]
pub struct Struct__PROCESSOR_RELATIONSHIP {
pub Flags: BYTE,
pub Reserved: [BYTE, ..21u],
pub GroupCount: WORD,
pub GroupMask: [GROUP_AFFINITY, ..1u],
}
pub type PROCESSOR_RELATIONSHIP = Struct__PROCESSOR_RELATIONSHIP;
pub type PPROCESSOR_RELATIONSHIP = *mut Struct__PROCESSOR_RELATIONSHIP;
#[repr(C)]
pub struct Struct__NUMA_NODE_RELATIONSHIP {
pub NodeNumber: DWORD,
pub Reserved: [BYTE, ..20u],
pub GroupMask: GROUP_AFFINITY,
}
pub type NUMA_NODE_RELATIONSHIP = Struct__NUMA_NODE_RELATIONSHIP;
pub type PNUMA_NODE_RELATIONSHIP = *mut Struct__NUMA_NODE_RELATIONSHIP;
#[repr(C)]
pub struct Struct__CACHE_RELATIONSHIP {
pub Level: BYTE,
pub Associativity: BYTE,
pub LineSize: WORD,
pub CacheSize: DWORD,
pub Type: PROCESSOR_CACHE_TYPE,
pub Reserved: [BYTE, ..20u],
pub GroupMask: GROUP_AFFINITY,
}
pub type CACHE_RELATIONSHIP = Struct__CACHE_RELATIONSHIP;
pub type PCACHE_RELATIONSHIP = *mut Struct__CACHE_RELATIONSHIP;
#[repr(C)]
pub struct Struct__PROCESSOR_GROUP_INFO {
pub MaximumProcessorCount: BYTE,
pub ActiveProcessorCount: BYTE,
pub Reserved: [BYTE, ..38u],
pub ActiveProcessorMask: KAFFINITY,
}
pub type PROCESSOR_GROUP_INFO = Struct__PROCESSOR_GROUP_INFO;
pub type PPROCESSOR_GROUP_INFO = *mut Struct__PROCESSOR_GROUP_INFO;
#[repr(C)]
pub struct Struct__GROUP_RELATIONSHIP {
pub MaximumGroupCount: WORD,
pub ActiveGroupCount: WORD,
pub Reserved: [BYTE, ..20u],
pub GroupInfo: [PROCESSOR_GROUP_INFO, ..1u],
}
pub type GROUP_RELATIONSHIP = Struct__GROUP_RELATIONSHIP;
pub type PGROUP_RELATIONSHIP = *mut Struct__GROUP_RELATIONSHIP;
#[repr(C)]
pub struct Struct__SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX {
pub Relationship: LOGICAL_PROCESSOR_RELATIONSHIP,
pub Size: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed43 {
pub data: [u64, ..9u],
}
impl Union_Unnamed43 {
pub fn Processor(&mut self) -> *mut PROCESSOR_RELATIONSHIP {
unsafe { ::std::mem::transmute(self) }
}
pub fn NumaNode(&mut self) -> *mut NUMA_NODE_RELATIONSHIP {
unsafe { ::std::mem::transmute(self) }
}
pub fn Cache(&mut self) -> *mut CACHE_RELATIONSHIP {
unsafe { ::std::mem::transmute(self) }
}
pub fn Group(&mut self) -> *mut GROUP_RELATIONSHIP {
unsafe { ::std::mem::transmute(self) }
}
}
pub type SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX =
Struct__SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX;
pub type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX =
*mut Struct__SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX;
#[repr(C)]
pub struct Struct__SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION {
pub CycleTime: DWORD64,
}
pub type SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION =
Struct__SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION;
pub type PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION =
*mut Struct__SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION;
#[repr(C)]
pub struct Struct__XSTATE_FEATURE {
pub Offset: DWORD,
pub Size: DWORD,
}
pub type XSTATE_FEATURE = Struct__XSTATE_FEATURE;
pub type PXSTATE_FEATURE = *mut Struct__XSTATE_FEATURE;
#[repr(C)]
pub struct Struct__XSTATE_CONFIGURATION {
pub EnabledFeatures: DWORD64,
pub EnabledVolatileFeatures: DWORD64,
pub Size: DWORD,
pub OptimizedSave: DWORD,
pub Features: [XSTATE_FEATURE, ..64u],
}
pub type XSTATE_CONFIGURATION = Struct__XSTATE_CONFIGURATION;
pub type PXSTATE_CONFIGURATION = *mut Struct__XSTATE_CONFIGURATION;
#[repr(C)]
pub struct Struct__MEMORY_BASIC_INFORMATION {
pub BaseAddress: PVOID,
pub AllocationBase: PVOID,
pub AllocationProtect: DWORD,
pub RegionSize: SIZE_T,
pub State: DWORD,
pub Protect: DWORD,
pub Type: DWORD,
}
pub type MEMORY_BASIC_INFORMATION = Struct__MEMORY_BASIC_INFORMATION;
pub type PMEMORY_BASIC_INFORMATION = *mut Struct__MEMORY_BASIC_INFORMATION;
#[repr(C)]
pub struct Struct__MEMORY_BASIC_INFORMATION32 {
pub BaseAddress: DWORD,
pub AllocationBase: DWORD,
pub AllocationProtect: DWORD,
pub RegionSize: DWORD,
pub State: DWORD,
pub Protect: DWORD,
pub Type: DWORD,
}
pub type MEMORY_BASIC_INFORMATION32 = Struct__MEMORY_BASIC_INFORMATION32;
pub type PMEMORY_BASIC_INFORMATION32 =
*mut Struct__MEMORY_BASIC_INFORMATION32;
#[repr(C)]
pub struct Struct__MEMORY_BASIC_INFORMATION64 {
pub BaseAddress: ULONGLONG,
pub AllocationBase: ULONGLONG,
pub AllocationProtect: DWORD,
pub __alignment1: DWORD,
pub RegionSize: ULONGLONG,
pub State: DWORD,
pub Protect: DWORD,
pub Type: DWORD,
pub __alignment2: DWORD,
}
pub type MEMORY_BASIC_INFORMATION64 = Struct__MEMORY_BASIC_INFORMATION64;
pub type PMEMORY_BASIC_INFORMATION64 =
*mut Struct__MEMORY_BASIC_INFORMATION64;
#[repr(C)]
pub struct Struct_FILE_ID_128 {
pub LowPart: ULONGLONG,
pub HighPart: ULONGLONG,
}
pub type FILE_ID_128 = Struct_FILE_ID_128;
pub type PFILE_ID_128 = *mut Struct_FILE_ID_128;
#[repr(C)]
pub struct Struct__FILE_NOTIFY_INFORMATION {
pub NextEntryOffset: DWORD,
pub Action: DWORD,
pub FileNameLength: DWORD,
pub FileName: [WCHAR, ..1u],
}
pub type FILE_NOTIFY_INFORMATION = Struct__FILE_NOTIFY_INFORMATION;
pub type PFILE_NOTIFY_INFORMATION = *mut Struct__FILE_NOTIFY_INFORMATION;
#[repr(C)]
pub struct Union__FILE_SEGMENT_ELEMENT {
pub data: [u64, ..1u],
}
impl Union__FILE_SEGMENT_ELEMENT {
pub fn Buffer(&mut self) -> *mut PVOID64 {
unsafe { ::std::mem::transmute(self) }
}
pub fn Alignment(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
}
pub type FILE_SEGMENT_ELEMENT = Union__FILE_SEGMENT_ELEMENT;
pub type PFILE_SEGMENT_ELEMENT = *mut Union__FILE_SEGMENT_ELEMENT;
#[repr(C)]
pub struct Struct__REPARSE_GUID_DATA_BUFFER {
pub ReparseTag: DWORD,
pub ReparseDataLength: WORD,
pub Reserved: WORD,
pub ReparseGuid: GUID,
pub GenericReparseBuffer: Struct_Unnamed44,
}
#[repr(C)]
pub struct Struct_Unnamed44 {
pub DataBuffer: [BYTE, ..1u],
}
pub type REPARSE_GUID_DATA_BUFFER = Struct__REPARSE_GUID_DATA_BUFFER;
pub type PREPARSE_GUID_DATA_BUFFER = *mut Struct__REPARSE_GUID_DATA_BUFFER;
pub type Enum__SYSTEM_POWER_STATE = ::libc::c_uint;
pub const PowerSystemUnspecified: ::libc::c_uint = 0;
pub const PowerSystemWorking: ::libc::c_uint = 1;
pub const PowerSystemSleeping1: ::libc::c_uint = 2;
pub const PowerSystemSleeping2: ::libc::c_uint = 3;
pub const PowerSystemSleeping3: ::libc::c_uint = 4;
pub const PowerSystemHibernate: ::libc::c_uint = 5;
pub const PowerSystemShutdown: ::libc::c_uint = 6;
pub const PowerSystemMaximum: ::libc::c_uint = 7;
pub type SYSTEM_POWER_STATE = Enum__SYSTEM_POWER_STATE;
pub type PSYSTEM_POWER_STATE = *mut Enum__SYSTEM_POWER_STATE;
pub type Enum_Unnamed45 = ::libc::c_uint;
pub const PowerActionNone: ::libc::c_uint = 0;
pub const PowerActionReserved: ::libc::c_uint = 1;
pub const PowerActionSleep: ::libc::c_uint = 2;
pub const PowerActionHibernate: ::libc::c_uint = 3;
pub const PowerActionShutdown: ::libc::c_uint = 4;
pub const PowerActionShutdownReset: ::libc::c_uint = 5;
pub const PowerActionShutdownOff: ::libc::c_uint = 6;
pub const PowerActionWarmEject: ::libc::c_uint = 7;
pub type POWER_ACTION = Enum_Unnamed45;
pub type PPOWER_ACTION = *mut Enum_Unnamed45;
pub type Enum__DEVICE_POWER_STATE = ::libc::c_uint;
pub const PowerDeviceUnspecified: ::libc::c_uint = 0;
pub const PowerDeviceD0: ::libc::c_uint = 1;
pub const PowerDeviceD1: ::libc::c_uint = 2;
pub const PowerDeviceD2: ::libc::c_uint = 3;
pub const PowerDeviceD3: ::libc::c_uint = 4;
pub const PowerDeviceMaximum: ::libc::c_uint = 5;
pub type DEVICE_POWER_STATE = Enum__DEVICE_POWER_STATE;
pub type PDEVICE_POWER_STATE = *mut Enum__DEVICE_POWER_STATE;
pub type Enum__MONITOR_DISPLAY_STATE = ::libc::c_uint;
pub const PowerMonitorOff: ::libc::c_uint = 0;
pub const PowerMonitorOn: ::libc::c_uint = 1;
pub const PowerMonitorDim: ::libc::c_uint = 2;
pub type MONITOR_DISPLAY_STATE = Enum__MONITOR_DISPLAY_STATE;
pub type PMONITOR_DISPLAY_STATE = *mut Enum__MONITOR_DISPLAY_STATE;
pub type Enum__USER_ACTIVITY_PRESENCE = ::libc::c_uint;
pub const PowerUserPresent: ::libc::c_uint = 0;
pub const PowerUserNotPresent: ::libc::c_uint = 1;
pub const PowerUserInactive: ::libc::c_uint = 2;
pub const PowerUserMaximum: ::libc::c_uint = 3;
pub const PowerUserInvalid: ::libc::c_uint = 3;
pub type USER_ACTIVITY_PRESENCE = Enum__USER_ACTIVITY_PRESENCE;
pub type PUSER_ACTIVITY_PRESENCE = *mut Enum__USER_ACTIVITY_PRESENCE;
pub type EXECUTION_STATE = DWORD;
pub type PEXECUTION_STATE = *mut DWORD;
pub type Enum_Unnamed46 = ::libc::c_uint;
pub const LT_DONT_CARE: ::libc::c_uint = 0;
pub const LT_LOWEST_LATENCY: ::libc::c_uint = 1;
pub type LATENCY_TIME = Enum_Unnamed46;
pub type Enum__POWER_REQUEST_TYPE = ::libc::c_uint;
pub const PowerRequestDisplayRequired: ::libc::c_uint = 0;
pub const PowerRequestSystemRequired: ::libc::c_uint = 1;
pub const PowerRequestAwayModeRequired: ::libc::c_uint = 2;
pub const PowerRequestExecutionRequired: ::libc::c_uint = 3;
pub type POWER_REQUEST_TYPE = Enum__POWER_REQUEST_TYPE;
pub type PPOWER_REQUEST_TYPE = *mut Enum__POWER_REQUEST_TYPE;
#[repr(C)]
pub struct Struct_CM_Power_Data_s {
pub PD_Size: DWORD,
pub PD_MostRecentPowerState: DEVICE_POWER_STATE,
pub PD_Capabilities: DWORD,
pub PD_D1Latency: DWORD,
pub PD_D2Latency: DWORD,
pub PD_D3Latency: DWORD,
pub PD_PowerStateMapping: [DEVICE_POWER_STATE, ..7u],
pub PD_DeepestSystemWake: SYSTEM_POWER_STATE,
}
pub type CM_POWER_DATA = Struct_CM_Power_Data_s;
pub type PCM_POWER_DATA = *mut Struct_CM_Power_Data_s;
pub type Enum_Unnamed47 = ::libc::c_uint;
pub const SystemPowerPolicyAc: ::libc::c_uint = 0;
pub const SystemPowerPolicyDc: ::libc::c_uint = 1;
pub const VerifySystemPolicyAc: ::libc::c_uint = 2;
pub const VerifySystemPolicyDc: ::libc::c_uint = 3;
pub const SystemPowerCapabilities: ::libc::c_uint = 4;
pub const SystemBatteryState: ::libc::c_uint = 5;
pub const SystemPowerStateHandler: ::libc::c_uint = 6;
pub const ProcessorStateHandler: ::libc::c_uint = 7;
pub const SystemPowerPolicyCurrent: ::libc::c_uint = 8;
pub const AdministratorPowerPolicy: ::libc::c_uint = 9;
pub const SystemReserveHiberFile: ::libc::c_uint = 10;
pub const ProcessorInformation: ::libc::c_uint = 11;
pub const SystemPowerInformation: ::libc::c_uint = 12;
pub const ProcessorStateHandler2: ::libc::c_uint = 13;
pub const LastWakeTime: ::libc::c_uint = 14;
pub const LastSleepTime: ::libc::c_uint = 15;
pub const SystemExecutionState: ::libc::c_uint = 16;
pub const SystemPowerStateNotifyHandler: ::libc::c_uint = 17;
pub const ProcessorPowerPolicyAc: ::libc::c_uint = 18;
pub const ProcessorPowerPolicyDc: ::libc::c_uint = 19;
pub const VerifyProcessorPowerPolicyAc: ::libc::c_uint = 20;
pub const VerifyProcessorPowerPolicyDc: ::libc::c_uint = 21;
pub const ProcessorPowerPolicyCurrent: ::libc::c_uint = 22;
pub const SystemPowerStateLogging: ::libc::c_uint = 23;
pub const SystemPowerLoggingEntry: ::libc::c_uint = 24;
pub const SetPowerSettingValue: ::libc::c_uint = 25;
pub const NotifyUserPowerSetting: ::libc::c_uint = 26;
pub const PowerInformationLevelUnused0: ::libc::c_uint = 27;
pub const SystemMonitorHiberBootPowerOff: ::libc::c_uint = 28;
pub const SystemVideoState: ::libc::c_uint = 29;
pub const TraceApplicationPowerMessage: ::libc::c_uint = 30;
pub const TraceApplicationPowerMessageEnd: ::libc::c_uint = 31;
pub const ProcessorPerfStates: ::libc::c_uint = 32;
pub const ProcessorIdleStates: ::libc::c_uint = 33;
pub const ProcessorCap: ::libc::c_uint = 34;
pub const SystemWakeSource: ::libc::c_uint = 35;
pub const SystemHiberFileInformation: ::libc::c_uint = 36;
pub const TraceServicePowerMessage: ::libc::c_uint = 37;
pub const ProcessorLoad: ::libc::c_uint = 38;
pub const PowerShutdownNotification: ::libc::c_uint = 39;
pub const MonitorCapabilities: ::libc::c_uint = 40;
pub const SessionPowerInit: ::libc::c_uint = 41;
pub const SessionDisplayState: ::libc::c_uint = 42;
pub const PowerRequestCreate: ::libc::c_uint = 43;
pub const PowerRequestAction: ::libc::c_uint = 44;
pub const GetPowerRequestList: ::libc::c_uint = 45;
pub const ProcessorInformationEx: ::libc::c_uint = 46;
pub const NotifyUserModeLegacyPowerEvent: ::libc::c_uint = 47;
pub const GroupPark: ::libc::c_uint = 48;
pub const ProcessorIdleDomains: ::libc::c_uint = 49;
pub const WakeTimerList: ::libc::c_uint = 50;
pub const SystemHiberFileSize: ::libc::c_uint = 51;
pub const ProcessorIdleStatesHv: ::libc::c_uint = 52;
pub const ProcessorPerfStatesHv: ::libc::c_uint = 53;
pub const ProcessorPerfCapHv: ::libc::c_uint = 54;
pub const ProcessorSetIdle: ::libc::c_uint = 55;
pub const LogicalProcessorIdling: ::libc::c_uint = 56;
pub const UserPresence: ::libc::c_uint = 57;
pub const PowerSettingNotificationName: ::libc::c_uint = 58;
pub const GetPowerSettingValue: ::libc::c_uint = 59;
pub const IdleResiliency: ::libc::c_uint = 60;
pub const SessionRITState: ::libc::c_uint = 61;
pub const SessionConnectNotification: ::libc::c_uint = 62;
pub const SessionPowerCleanup: ::libc::c_uint = 63;
pub const SessionLockState: ::libc::c_uint = 64;
pub const SystemHiberbootState: ::libc::c_uint = 65;
pub const PlatformInformation: ::libc::c_uint = 66;
pub const PdcInvocation: ::libc::c_uint = 67;
pub const MonitorInvocation: ::libc::c_uint = 68;
pub const FirmwareTableInformationRegistered: ::libc::c_uint = 69;
pub const SetShutdownSelectedTime: ::libc::c_uint = 70;
pub const SuspendResumeInvocation: ::libc::c_uint = 71;
pub const PlmPowerRequestCreate: ::libc::c_uint = 72;
pub const ScreenOff: ::libc::c_uint = 73;
pub const CsDeviceNotification: ::libc::c_uint = 74;
pub const PlatformRole: ::libc::c_uint = 75;
pub const LastResumePerformance: ::libc::c_uint = 76;
pub const DisplayBurst: ::libc::c_uint = 77;
pub const ExitLatencySamplingPercentage: ::libc::c_uint = 78;
pub const ApplyLowPowerScenarioSettings: ::libc::c_uint = 79;
pub const PowerInformationLevelMaximum: ::libc::c_uint = 80;
pub type POWER_INFORMATION_LEVEL = Enum_Unnamed47;
pub type Enum_Unnamed48 = ::libc::c_uint;
pub const UserNotPresent: ::libc::c_uint = 0;
pub const UserPresent: ::libc::c_uint = 1;
pub const UserUnknown: ::libc::c_uint = 255;
pub type POWER_USER_PRESENCE_TYPE = Enum_Unnamed48;
pub type PPOWER_USER_PRESENCE_TYPE = *mut Enum_Unnamed48;
#[repr(C)]
pub struct Struct__POWER_USER_PRESENCE {
pub UserPresence: POWER_USER_PRESENCE_TYPE,
}
pub type POWER_USER_PRESENCE = Struct__POWER_USER_PRESENCE;
pub type PPOWER_USER_PRESENCE = *mut Struct__POWER_USER_PRESENCE;
#[repr(C)]
pub struct Struct__POWER_SESSION_CONNECT {
pub Connected: BOOLEAN,
pub Console: BOOLEAN,
}
pub type POWER_SESSION_CONNECT = Struct__POWER_SESSION_CONNECT;
pub type PPOWER_SESSION_CONNECT = *mut Struct__POWER_SESSION_CONNECT;
#[repr(C)]
pub struct Struct__POWER_SESSION_TIMEOUTS {
pub InputTimeout: DWORD,
pub DisplayTimeout: DWORD,
}
pub type POWER_SESSION_TIMEOUTS = Struct__POWER_SESSION_TIMEOUTS;
pub type PPOWER_SESSION_TIMEOUTS = *mut Struct__POWER_SESSION_TIMEOUTS;
#[repr(C)]
pub struct Struct__POWER_SESSION_RIT_STATE {
pub Active: BOOLEAN,
pub LastInputTime: DWORD,
}
pub type POWER_SESSION_RIT_STATE = Struct__POWER_SESSION_RIT_STATE;
pub type PPOWER_SESSION_RIT_STATE = *mut Struct__POWER_SESSION_RIT_STATE;
#[repr(C)]
pub struct Struct__POWER_SESSION_WINLOGON {
pub SessionId: DWORD,
pub Console: BOOLEAN,
pub Locked: BOOLEAN,
}
pub type POWER_SESSION_WINLOGON = Struct__POWER_SESSION_WINLOGON;
pub type PPOWER_SESSION_WINLOGON = *mut Struct__POWER_SESSION_WINLOGON;
#[repr(C)]
pub struct Struct__POWER_IDLE_RESILIENCY {
pub CoalescingTimeout: DWORD,
pub IdleResiliencyPeriod: DWORD,
}
pub type POWER_IDLE_RESILIENCY = Struct__POWER_IDLE_RESILIENCY;
pub type PPOWER_IDLE_RESILIENCY = *mut Struct__POWER_IDLE_RESILIENCY;
pub type Enum_Unnamed49 = ::libc::c_uint;
pub const MonitorRequestReasonUnknown: ::libc::c_uint = 0;
pub const MonitorRequestReasonPowerButton: ::libc::c_uint = 1;
pub const MonitorRequestReasonRemoteConnection: ::libc::c_uint = 2;
pub const MonitorRequestReasonScMonitorpower: ::libc::c_uint = 3;
pub const MonitorRequestReasonUserInput: ::libc::c_uint = 4;
pub const MonitorRequestReasonAcDcDisplayBurst: ::libc::c_uint = 5;
pub const MonitorRequestReasonUserDisplayBurst: ::libc::c_uint = 6;
pub const MonitorRequestReasonPoSetSystemState: ::libc::c_uint = 7;
pub const MonitorRequestReasonSetThreadExecutionState: ::libc::c_uint = 8;
pub const MonitorRequestReasonFullWake: ::libc::c_uint = 9;
pub const MonitorRequestReasonSessionUnlock: ::libc::c_uint = 10;
pub const MonitorRequestReasonScreenOffRequest: ::libc::c_uint = 11;
pub const MonitorRequestReasonIdleTimeout: ::libc::c_uint = 12;
pub const MonitorRequestReasonPolicyChange: ::libc::c_uint = 13;
pub const MonitorRequestReasonMax: ::libc::c_uint = 14;
pub type POWER_MONITOR_REQUEST_REASON = Enum_Unnamed49;
#[repr(C)]
pub struct Struct__POWER_MONITOR_INVOCATION {
pub On: BOOLEAN,
pub Console: BOOLEAN,
pub RequestReason: POWER_MONITOR_REQUEST_REASON,
}
pub type POWER_MONITOR_INVOCATION = Struct__POWER_MONITOR_INVOCATION;
pub type PPOWER_MONITOR_INVOCATION = *mut Struct__POWER_MONITOR_INVOCATION;
#[repr(C)]
pub struct Struct__RESUME_PERFORMANCE {
pub PostTimeMs: DWORD,
pub TotalResumeTimeMs: ULONGLONG,
pub ResumeCompleteTimestamp: ULONGLONG,
}
pub type RESUME_PERFORMANCE = Struct__RESUME_PERFORMANCE;
pub type PRESUME_PERFORMANCE = *mut Struct__RESUME_PERFORMANCE;
pub type Enum_Unnamed50 = ::libc::c_uint;
pub const PoAc: ::libc::c_uint = 0;
pub const PoDc: ::libc::c_uint = 1;
pub const PoHot: ::libc::c_uint = 2;
pub const PoConditionMaximum: ::libc::c_uint = 3;
pub type SYSTEM_POWER_CONDITION = Enum_Unnamed50;
#[repr(C)]
pub struct Struct_Unnamed51 {
pub Version: DWORD,
pub Guid: GUID,
pub PowerCondition: SYSTEM_POWER_CONDITION,
pub DataLength: DWORD,
pub Data: [BYTE, ..1u],
}
pub type SET_POWER_SETTING_VALUE = Struct_Unnamed51;
pub type PSET_POWER_SETTING_VALUE = *mut Struct_Unnamed51;
#[repr(C)]
pub struct Struct_Unnamed52 {
pub Guid: GUID,
}
pub type NOTIFY_USER_POWER_SETTING = Struct_Unnamed52;
pub type PNOTIFY_USER_POWER_SETTING = *mut Struct_Unnamed52;
#[repr(C)]
pub struct Struct__APPLICATIONLAUNCH_SETTING_VALUE {
pub ActivationTime: LARGE_INTEGER,
pub Flags: DWORD,
pub ButtonInstanceID: DWORD,
}
pub type APPLICATIONLAUNCH_SETTING_VALUE =
Struct__APPLICATIONLAUNCH_SETTING_VALUE;
pub type PAPPLICATIONLAUNCH_SETTING_VALUE =
*mut Struct__APPLICATIONLAUNCH_SETTING_VALUE;
pub type Enum__POWER_PLATFORM_ROLE = ::libc::c_uint;
pub const PlatformRoleUnspecified: ::libc::c_uint = 0;
pub const PlatformRoleDesktop: ::libc::c_uint = 1;
pub const PlatformRoleMobile: ::libc::c_uint = 2;
pub const PlatformRoleWorkstation: ::libc::c_uint = 3;
pub const PlatformRoleEnterpriseServer: ::libc::c_uint = 4;
pub const PlatformRoleSOHOServer: ::libc::c_uint = 5;
pub const PlatformRoleAppliancePC: ::libc::c_uint = 6;
pub const PlatformRolePerformanceServer: ::libc::c_uint = 7;
pub const PlatformRoleSlate: ::libc::c_uint = 8;
pub const PlatformRoleMaximum: ::libc::c_uint = 9;
pub type POWER_PLATFORM_ROLE = Enum__POWER_PLATFORM_ROLE;
pub type PPOWER_PLATFORM_ROLE = *mut Enum__POWER_PLATFORM_ROLE;
#[repr(C)]
pub struct Struct__POWER_PLATFORM_INFORMATION {
pub AoAc: BOOLEAN,
}
pub type POWER_PLATFORM_INFORMATION = Struct__POWER_PLATFORM_INFORMATION;
pub type PPOWER_PLATFORM_INFORMATION =
*mut Struct__POWER_PLATFORM_INFORMATION;
#[repr(C)]
pub struct Struct_Unnamed53 {
pub Granularity: DWORD,
pub Capacity: DWORD,
}
pub type BATTERY_REPORTING_SCALE = Struct_Unnamed53;
pub type PBATTERY_REPORTING_SCALE = *mut Struct_Unnamed53;
#[repr(C)]
pub struct Struct_Unnamed54 {
pub Frequency: DWORD,
pub Flags: DWORD,
pub PercentFrequency: DWORD,
}
pub type PPM_WMI_LEGACY_PERFSTATE = Struct_Unnamed54;
pub type PPPM_WMI_LEGACY_PERFSTATE = *mut Struct_Unnamed54;
#[repr(C)]
pub struct Struct_Unnamed55 {
pub Latency: DWORD,
pub Power: DWORD,
pub TimeCheck: DWORD,
pub PromotePercent: BYTE,
pub DemotePercent: BYTE,
pub StateType: BYTE,
pub Reserved: BYTE,
pub StateFlags: DWORD,
pub Context: DWORD,
pub IdleHandler: DWORD,
pub Reserved1: DWORD,
}
pub type PPM_WMI_IDLE_STATE = Struct_Unnamed55;
pub type PPPM_WMI_IDLE_STATE = *mut Struct_Unnamed55;
#[repr(C)]
pub struct Struct_Unnamed56 {
pub Type: DWORD,
pub Count: DWORD,
pub TargetState: DWORD,
pub OldState: DWORD,
pub TargetProcessors: DWORD64,
pub State: [PPM_WMI_IDLE_STATE, ..1u],
}
pub type PPM_WMI_IDLE_STATES = Struct_Unnamed56;
pub type PPPM_WMI_IDLE_STATES = *mut Struct_Unnamed56;
#[repr(C)]
pub struct Struct_Unnamed57 {
pub Type: DWORD,
pub Count: DWORD,
pub TargetState: DWORD,
pub OldState: DWORD,
pub TargetProcessors: PVOID,
pub State: [PPM_WMI_IDLE_STATE, ..1u],
}
pub type PPM_WMI_IDLE_STATES_EX = Struct_Unnamed57;
pub type PPPM_WMI_IDLE_STATES_EX = *mut Struct_Unnamed57;
#[repr(C)]
pub struct Struct_Unnamed58 {
pub Frequency: DWORD,
pub Power: DWORD,
pub PercentFrequency: BYTE,
pub IncreaseLevel: BYTE,
pub DecreaseLevel: BYTE,
pub Type: BYTE,
pub IncreaseTime: DWORD,
pub DecreaseTime: DWORD,
pub Control: DWORD64,
pub Status: DWORD64,
pub HitCount: DWORD,
pub Reserved1: DWORD,
pub Reserved2: DWORD64,
pub Reserved3: DWORD64,
}
pub type PPM_WMI_PERF_STATE = Struct_Unnamed58;
pub type PPPM_WMI_PERF_STATE = *mut Struct_Unnamed58;
#[repr(C)]
pub struct Struct_Unnamed59 {
pub Count: DWORD,
pub MaxFrequency: DWORD,
pub CurrentState: DWORD,
pub MaxPerfState: DWORD,
pub MinPerfState: DWORD,
pub LowestPerfState: DWORD,
pub ThermalConstraint: DWORD,
pub BusyAdjThreshold: BYTE,
pub PolicyType: BYTE,
pub Type: BYTE,
pub Reserved: BYTE,
pub TimerInterval: DWORD,
pub TargetProcessors: DWORD64,
pub PStateHandler: DWORD,
pub PStateContext: DWORD,
pub TStateHandler: DWORD,
pub TStateContext: DWORD,
pub FeedbackHandler: DWORD,
pub Reserved1: DWORD,
pub Reserved2: DWORD64,
pub State: [PPM_WMI_PERF_STATE, ..1u],
}
pub type PPM_WMI_PERF_STATES = Struct_Unnamed59;
pub type PPPM_WMI_PERF_STATES = *mut Struct_Unnamed59;
#[repr(C)]
pub struct Struct_Unnamed60 {
pub Count: DWORD,
pub MaxFrequency: DWORD,
pub CurrentState: DWORD,
pub MaxPerfState: DWORD,
pub MinPerfState: DWORD,
pub LowestPerfState: DWORD,
pub ThermalConstraint: DWORD,
pub BusyAdjThreshold: BYTE,
pub PolicyType: BYTE,
pub Type: BYTE,
pub Reserved: BYTE,
pub TimerInterval: DWORD,
pub TargetProcessors: PVOID,
pub PStateHandler: DWORD,
pub PStateContext: DWORD,
pub TStateHandler: DWORD,
pub TStateContext: DWORD,
pub FeedbackHandler: DWORD,
pub Reserved1: DWORD,
pub Reserved2: DWORD64,
pub State: [PPM_WMI_PERF_STATE, ..1u],
}
pub type PPM_WMI_PERF_STATES_EX = Struct_Unnamed60;
pub type PPPM_WMI_PERF_STATES_EX = *mut Struct_Unnamed60;
#[repr(C)]
pub struct Struct_Unnamed61 {
pub IdleTransitions: DWORD,
pub FailedTransitions: DWORD,
pub InvalidBucketIndex: DWORD,
pub TotalTime: DWORD64,
pub IdleTimeBuckets: [DWORD, ..6u],
}
pub type PPM_IDLE_STATE_ACCOUNTING = Struct_Unnamed61;
pub type PPPM_IDLE_STATE_ACCOUNTING = *mut Struct_Unnamed61;
#[repr(C)]
pub struct Struct_Unnamed62 {
pub StateCount: DWORD,
pub TotalTransitions: DWORD,
pub ResetCount: DWORD,
pub StartTime: DWORD64,
pub State: [PPM_IDLE_STATE_ACCOUNTING, ..1u],
}
pub type PPM_IDLE_ACCOUNTING = Struct_Unnamed62;
pub type PPPM_IDLE_ACCOUNTING = *mut Struct_Unnamed62;
#[repr(C)]
pub struct Struct_Unnamed63 {
pub TotalTimeUs: DWORD64,
pub MinTimeUs: DWORD,
pub MaxTimeUs: DWORD,
pub Count: DWORD,
}
pub type PPM_IDLE_STATE_BUCKET_EX = Struct_Unnamed63;
pub type PPPM_IDLE_STATE_BUCKET_EX = *mut Struct_Unnamed63;
#[repr(C)]
pub struct Struct_Unnamed64 {
pub TotalTime: DWORD64,
pub IdleTransitions: DWORD,
pub FailedTransitions: DWORD,
pub InvalidBucketIndex: DWORD,
pub MinTimeUs: DWORD,
pub MaxTimeUs: DWORD,
pub CancelledTransitions: DWORD,
pub IdleTimeBuckets: [PPM_IDLE_STATE_BUCKET_EX, ..16u],
}
pub type PPM_IDLE_STATE_ACCOUNTING_EX = Struct_Unnamed64;
pub type PPPM_IDLE_STATE_ACCOUNTING_EX = *mut Struct_Unnamed64;
#[repr(C)]
pub struct Struct_Unnamed65 {
pub StateCount: DWORD,
pub TotalTransitions: DWORD,
pub ResetCount: DWORD,
pub AbortCount: DWORD,
pub StartTime: DWORD64,
pub State: [PPM_IDLE_STATE_ACCOUNTING_EX, ..1u],
}
pub type PPM_IDLE_ACCOUNTING_EX = Struct_Unnamed65;
pub type PPPM_IDLE_ACCOUNTING_EX = *mut Struct_Unnamed65;
#[repr(C)]
pub struct Struct_Unnamed66 {
pub State: DWORD,
pub Status: DWORD,
pub Latency: DWORD,
pub Speed: DWORD,
pub Processor: DWORD,
}
pub type PPM_PERFSTATE_EVENT = Struct_Unnamed66;
pub type PPPM_PERFSTATE_EVENT = *mut Struct_Unnamed66;
#[repr(C)]
pub struct Struct_Unnamed67 {
pub State: DWORD,
pub Latency: DWORD,
pub Speed: DWORD,
pub Processors: DWORD64,
}
pub type PPM_PERFSTATE_DOMAIN_EVENT = Struct_Unnamed67;
pub type PPPM_PERFSTATE_DOMAIN_EVENT = *mut Struct_Unnamed67;
#[repr(C)]
pub struct Struct_Unnamed68 {
pub NewState: DWORD,
pub OldState: DWORD,
pub Processors: DWORD64,
}
pub type PPM_IDLESTATE_EVENT = Struct_Unnamed68;
pub type PPPM_IDLESTATE_EVENT = *mut Struct_Unnamed68;
#[repr(C)]
pub struct Struct_Unnamed69 {
pub ThermalConstraint: DWORD,
pub Processors: DWORD64,
}
pub type PPM_THERMALCHANGE_EVENT = Struct_Unnamed69;
pub type PPPM_THERMALCHANGE_EVENT = *mut Struct_Unnamed69;
#[repr(C)]
pub struct Struct_Unnamed70 {
pub Mode: BYTE,
pub Processors: DWORD64,
}
pub type PPM_THERMAL_POLICY_EVENT = Struct_Unnamed70;
pub type PPPM_THERMAL_POLICY_EVENT = *mut Struct_Unnamed70;
#[repr(C)]
pub struct Struct_Unnamed71 {
pub Action: POWER_ACTION,
pub Flags: DWORD,
pub EventCode: DWORD,
}
pub type POWER_ACTION_POLICY = Struct_Unnamed71;
pub type PPOWER_ACTION_POLICY = *mut Struct_Unnamed71;
#[repr(C)]
pub struct Struct_Unnamed72 {
pub TimeCheck: DWORD,
pub DemotePercent: BYTE,
pub PromotePercent: BYTE,
pub Spare: [BYTE, ..2u],
}
pub type PROCESSOR_IDLESTATE_INFO = Struct_Unnamed72;
pub type PPROCESSOR_IDLESTATE_INFO = *mut Struct_Unnamed72;
#[repr(C)]
pub struct Struct_Unnamed73 {
pub Enable: BOOLEAN,
pub Spare: [BYTE, ..3u],
pub BatteryLevel: DWORD,
pub PowerPolicy: POWER_ACTION_POLICY,
pub MinSystemState: SYSTEM_POWER_STATE,
}
pub type SYSTEM_POWER_LEVEL = Struct_Unnamed73;
pub type PSYSTEM_POWER_LEVEL = *mut Struct_Unnamed73;
#[repr(C)]
pub struct Struct__SYSTEM_POWER_POLICY {
pub Revision: DWORD,
pub PowerButton: POWER_ACTION_POLICY,
pub SleepButton: POWER_ACTION_POLICY,
pub LidClose: POWER_ACTION_POLICY,
pub LidOpenWake: SYSTEM_POWER_STATE,
pub Reserved: DWORD,
pub Idle: POWER_ACTION_POLICY,
pub IdleTimeout: DWORD,
pub IdleSensitivity: BYTE,
pub DynamicThrottle: BYTE,
pub Spare2: [BYTE, ..2u],
pub MinSleep: SYSTEM_POWER_STATE,
pub MaxSleep: SYSTEM_POWER_STATE,
pub ReducedLatencySleep: SYSTEM_POWER_STATE,
pub WinLogonFlags: DWORD,
pub Spare3: DWORD,
pub DozeS4Timeout: DWORD,
pub BroadcastCapacityResolution: DWORD,
pub DischargePolicy: [SYSTEM_POWER_LEVEL, ..4u],
pub VideoTimeout: DWORD,
pub VideoDimDisplay: BOOLEAN,
pub VideoReserved: [DWORD, ..3u],
pub SpindownTimeout: DWORD,
pub OptimizeForPower: BOOLEAN,
pub FanThrottleTolerance: BYTE,
pub ForcedThrottle: BYTE,
pub MinThrottle: BYTE,
pub OverThrottled: POWER_ACTION_POLICY,
}
pub type SYSTEM_POWER_POLICY = Struct__SYSTEM_POWER_POLICY;
pub type PSYSTEM_POWER_POLICY = *mut Struct__SYSTEM_POWER_POLICY;
#[repr(C)]
pub struct Struct_Unnamed74 {
pub Revision: WORD,
pub Flags: Union_Unnamed75,
pub PolicyCount: DWORD,
pub Policy: [PROCESSOR_IDLESTATE_INFO, ..3u],
}
#[repr(C)]
pub struct Union_Unnamed75 {
pub data: [u16, ..1u],
}
impl Union_Unnamed75 {
pub fn AsWORD(&mut self) -> *mut WORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed76 {
pub AllowScaling: WORD,
pub Disabled: WORD,
pub Reserved: WORD,
}
pub type PROCESSOR_IDLESTATE_POLICY = Struct_Unnamed74;
pub type PPROCESSOR_IDLESTATE_POLICY = *mut Struct_Unnamed74;
#[repr(C)]
pub struct Struct__PROCESSOR_POWER_POLICY_INFO {
pub TimeCheck: DWORD,
pub DemoteLimit: DWORD,
pub PromoteLimit: DWORD,
pub DemotePercent: BYTE,
pub PromotePercent: BYTE,
pub Spare: [BYTE, ..2u],
pub AllowDemotion: DWORD,
pub AllowPromotion: DWORD,
pub Reserved: DWORD,
}
pub type PROCESSOR_POWER_POLICY_INFO = Struct__PROCESSOR_POWER_POLICY_INFO;
pub type PPROCESSOR_POWER_POLICY_INFO =
*mut Struct__PROCESSOR_POWER_POLICY_INFO;
#[repr(C)]
pub struct Struct__PROCESSOR_POWER_POLICY {
pub Revision: DWORD,
pub DynamicThrottle: BYTE,
pub Spare: [BYTE, ..3u],
pub DisableCStates: DWORD,
pub Reserved: DWORD,
pub PolicyCount: DWORD,
pub Policy: [PROCESSOR_POWER_POLICY_INFO, ..3u],
}
pub type PROCESSOR_POWER_POLICY = Struct__PROCESSOR_POWER_POLICY;
pub type PPROCESSOR_POWER_POLICY = *mut Struct__PROCESSOR_POWER_POLICY;
#[repr(C)]
pub struct Struct_Unnamed77 {
pub Revision: DWORD,
pub MaxThrottle: BYTE,
pub MinThrottle: BYTE,
pub BusyAdjThreshold: BYTE,
pub TimeCheck: DWORD,
pub IncreaseTime: DWORD,
pub DecreaseTime: DWORD,
pub IncreasePercent: DWORD,
pub DecreasePercent: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed78 {
pub data: [u8, ..1u],
}
impl Union_Unnamed78 {
pub fn Spare(&mut self) -> *mut BYTE {
unsafe { ::std::mem::transmute(self) }
}
pub fn Flags(&mut self) -> *mut Union_Unnamed79 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Union_Unnamed79 {
pub data: [u8, ..1u],
}
impl Union_Unnamed79 {
pub fn AsBYTE(&mut self) -> *mut BYTE {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed80 {
pub NoDomainAccounting: BYTE,
pub IncreasePolicy: BYTE,
pub DecreasePolicy: BYTE,
pub Reserved: BYTE,
}
pub type PROCESSOR_PERFSTATE_POLICY = Struct_Unnamed77;
pub type PPROCESSOR_PERFSTATE_POLICY = *mut Struct_Unnamed77;
#[repr(C)]
pub struct Struct__ADMINISTRATOR_POWER_POLICY {
pub MinSleep: SYSTEM_POWER_STATE,
pub MaxSleep: SYSTEM_POWER_STATE,
pub MinVideoTimeout: DWORD,
pub MaxVideoTimeout: DWORD,
pub MinSpindownTimeout: DWORD,
pub MaxSpindownTimeout: DWORD,
}
pub type ADMINISTRATOR_POWER_POLICY = Struct__ADMINISTRATOR_POWER_POLICY;
pub type PADMINISTRATOR_POWER_POLICY =
*mut Struct__ADMINISTRATOR_POWER_POLICY;
#[repr(C)]
pub struct Struct_Unnamed81 {
pub PowerButtonPresent: BOOLEAN,
pub SleepButtonPresent: BOOLEAN,
pub LidPresent: BOOLEAN,
pub SystemS1: BOOLEAN,
pub SystemS2: BOOLEAN,
pub SystemS3: BOOLEAN,
pub SystemS4: BOOLEAN,
pub SystemS5: BOOLEAN,
pub HiberFilePresent: BOOLEAN,
pub FullWake: BOOLEAN,
pub VideoDimPresent: BOOLEAN,
pub ApmPresent: BOOLEAN,
pub UpsPresent: BOOLEAN,
pub ThermalControl: BOOLEAN,
pub ProcessorThrottle: BOOLEAN,
pub ProcessorMinThrottle: BYTE,
pub ProcessorMaxThrottle: BYTE,
pub FastSystemS4: BOOLEAN,
pub spare2: [BYTE, ..3u],
pub DiskSpinDown: BOOLEAN,
pub spare3: [BYTE, ..8u],
pub SystemBatteriesPresent: BOOLEAN,
pub BatteriesAreShortTerm: BOOLEAN,
pub BatteryScale: [BATTERY_REPORTING_SCALE, ..3u],
pub AcOnLineWake: SYSTEM_POWER_STATE,
pub SoftLidWake: SYSTEM_POWER_STATE,
pub RtcWake: SYSTEM_POWER_STATE,
pub MinDeviceWakeState: SYSTEM_POWER_STATE,
pub DefaultLowLatencyWake: SYSTEM_POWER_STATE,
}
pub type SYSTEM_POWER_CAPABILITIES = Struct_Unnamed81;
pub type PSYSTEM_POWER_CAPABILITIES = *mut Struct_Unnamed81;
#[repr(C)]
pub struct Struct_Unnamed82 {
pub AcOnLine: BOOLEAN,
pub BatteryPresent: BOOLEAN,
pub Charging: BOOLEAN,
pub Discharging: BOOLEAN,
pub Spare1: [BOOLEAN, ..4u],
pub MaxCapacity: DWORD,
pub RemainingCapacity: DWORD,
pub Rate: DWORD,
pub EstimatedTime: DWORD,
pub DefaultAlert1: DWORD,
pub DefaultAlert2: DWORD,
}
pub type SYSTEM_BATTERY_STATE = Struct_Unnamed82;
pub type PSYSTEM_BATTERY_STATE = *mut Struct_Unnamed82;
#[repr(C)]
pub struct Struct__IMAGE_DOS_HEADER {
pub e_magic: WORD,
pub e_cblp: WORD,
pub e_cp: WORD,
pub e_crlc: WORD,
pub e_cparhdr: WORD,
pub e_minalloc: WORD,
pub e_maxalloc: WORD,
pub e_ss: WORD,
pub e_sp: WORD,
pub e_csum: WORD,
pub e_ip: WORD,
pub e_cs: WORD,
pub e_lfarlc: WORD,
pub e_ovno: WORD,
pub e_res: [WORD, ..4u],
pub e_oemid: WORD,
pub e_oeminfo: WORD,
pub e_res2: [WORD, ..10u],
pub e_lfanew: LONG,
}
pub type IMAGE_DOS_HEADER = Struct__IMAGE_DOS_HEADER;
pub type PIMAGE_DOS_HEADER = *mut Struct__IMAGE_DOS_HEADER;
#[repr(C)]
pub struct Struct__IMAGE_OS2_HEADER {
pub ne_magic: WORD,
pub ne_ver: CHAR,
pub ne_rev: CHAR,
pub ne_enttab: WORD,
pub ne_cbenttab: WORD,
pub ne_crc: LONG,
pub ne_flags: WORD,
pub ne_autodata: WORD,
pub ne_heap: WORD,
pub ne_stack: WORD,
pub ne_csip: LONG,
pub ne_sssp: LONG,
pub ne_cseg: WORD,
pub ne_cmod: WORD,
pub ne_cbnrestab: WORD,
pub ne_segtab: WORD,
pub ne_rsrctab: WORD,
pub ne_restab: WORD,
pub ne_modtab: WORD,
pub ne_imptab: WORD,
pub ne_nrestab: LONG,
pub ne_cmovent: WORD,
pub ne_align: WORD,
pub ne_cres: WORD,
pub ne_exetyp: BYTE,
pub ne_flagsothers: BYTE,
pub ne_pretthunks: WORD,
pub ne_psegrefbytes: WORD,
pub ne_swaparea: WORD,
pub ne_expver: WORD,
}
pub type IMAGE_OS2_HEADER = Struct__IMAGE_OS2_HEADER;
pub type PIMAGE_OS2_HEADER = *mut Struct__IMAGE_OS2_HEADER;
#[repr(C)]
pub struct Struct__IMAGE_VXD_HEADER {
pub e32_magic: WORD,
pub e32_border: BYTE,
pub e32_worder: BYTE,
pub e32_level: DWORD,
pub e32_cpu: WORD,
pub e32_os: WORD,
pub e32_ver: DWORD,
pub e32_mflags: DWORD,
pub e32_mpages: DWORD,
pub e32_startobj: DWORD,
pub e32_eip: DWORD,
pub e32_stackobj: DWORD,
pub e32_esp: DWORD,
pub e32_pagesize: DWORD,
pub e32_lastpagesize: DWORD,
pub e32_fixupsize: DWORD,
pub e32_fixupsum: DWORD,
pub e32_ldrsize: DWORD,
pub e32_ldrsum: DWORD,
pub e32_objtab: DWORD,
pub e32_objcnt: DWORD,
pub e32_objmap: DWORD,
pub e32_itermap: DWORD,
pub e32_rsrctab: DWORD,
pub e32_rsrccnt: DWORD,
pub e32_restab: DWORD,
pub e32_enttab: DWORD,
pub e32_dirtab: DWORD,
pub e32_dircnt: DWORD,
pub e32_fpagetab: DWORD,
pub e32_frectab: DWORD,
pub e32_impmod: DWORD,
pub e32_impmodcnt: DWORD,
pub e32_impproc: DWORD,
pub e32_pagesum: DWORD,
pub e32_datapage: DWORD,
pub e32_preload: DWORD,
pub e32_nrestab: DWORD,
pub e32_cbnrestab: DWORD,
pub e32_nressum: DWORD,
pub e32_autodata: DWORD,
pub e32_debuginfo: DWORD,
pub e32_debuglen: DWORD,
pub e32_instpreload: DWORD,
pub e32_instdemand: DWORD,
pub e32_heapsize: DWORD,
pub e32_res3: [BYTE, ..12u],
pub e32_winresoff: DWORD,
pub e32_winreslen: DWORD,
pub e32_devid: WORD,
pub e32_ddkver: WORD,
}
pub type IMAGE_VXD_HEADER = Struct__IMAGE_VXD_HEADER;
pub type PIMAGE_VXD_HEADER = *mut Struct__IMAGE_VXD_HEADER;
#[repr(C)]
pub struct Struct__IMAGE_FILE_HEADER {
pub Machine: WORD,
pub NumberOfSections: WORD,
pub TimeDateStamp: DWORD,
pub PointerToSymbolTable: DWORD,
pub NumberOfSymbols: DWORD,
pub SizeOfOptionalHeader: WORD,
pub Characteristics: WORD,
}
pub type IMAGE_FILE_HEADER = Struct__IMAGE_FILE_HEADER;
pub type PIMAGE_FILE_HEADER = *mut Struct__IMAGE_FILE_HEADER;
#[repr(C)]
pub struct Struct__IMAGE_DATA_DIRECTORY {
pub VirtualAddress: DWORD,
pub Size: DWORD,
}
pub type IMAGE_DATA_DIRECTORY = Struct__IMAGE_DATA_DIRECTORY;
pub type PIMAGE_DATA_DIRECTORY = *mut Struct__IMAGE_DATA_DIRECTORY;
#[repr(C)]
pub struct Struct__IMAGE_OPTIONAL_HEADER {
pub Magic: WORD,
pub MajorLinkerVersion: BYTE,
pub MinorLinkerVersion: BYTE,
pub SizeOfCode: DWORD,
pub SizeOfInitializedData: DWORD,
pub SizeOfUninitializedData: DWORD,
pub AddressOfEntryPoint: DWORD,
pub BaseOfCode: DWORD,
pub BaseOfData: DWORD,
pub ImageBase: DWORD,
pub SectionAlignment: DWORD,
pub FileAlignment: DWORD,
pub MajorOperatingSystemVersion: WORD,
pub MinorOperatingSystemVersion: WORD,
pub MajorImageVersion: WORD,
pub MinorImageVersion: WORD,
pub MajorSubsystemVersion: WORD,
pub MinorSubsystemVersion: WORD,
pub Win32VersionValue: DWORD,
pub SizeOfImage: DWORD,
pub SizeOfHeaders: DWORD,
pub CheckSum: DWORD,
pub Subsystem: WORD,
pub DllCharacteristics: WORD,
pub SizeOfStackReserve: DWORD,
pub SizeOfStackCommit: DWORD,
pub SizeOfHeapReserve: DWORD,
pub SizeOfHeapCommit: DWORD,
pub LoaderFlags: DWORD,
pub NumberOfRvaAndSizes: DWORD,
pub DataDirectory: [IMAGE_DATA_DIRECTORY, ..16u],
}
pub type IMAGE_OPTIONAL_HEADER32 = Struct__IMAGE_OPTIONAL_HEADER;
pub type PIMAGE_OPTIONAL_HEADER32 = *mut Struct__IMAGE_OPTIONAL_HEADER;
#[repr(C)]
pub struct Struct__IMAGE_ROM_OPTIONAL_HEADER {
pub Magic: WORD,
pub MajorLinkerVersion: BYTE,
pub MinorLinkerVersion: BYTE,
pub SizeOfCode: DWORD,
pub SizeOfInitializedData: DWORD,
pub SizeOfUninitializedData: DWORD,
pub AddressOfEntryPoint: DWORD,
pub BaseOfCode: DWORD,
pub BaseOfData: DWORD,
pub BaseOfBss: DWORD,
pub GprMask: DWORD,
pub CprMask: [DWORD, ..4u],
pub GpValue: DWORD,
}
pub type IMAGE_ROM_OPTIONAL_HEADER = Struct__IMAGE_ROM_OPTIONAL_HEADER;
pub type PIMAGE_ROM_OPTIONAL_HEADER = *mut Struct__IMAGE_ROM_OPTIONAL_HEADER;
#[repr(C)]
pub struct Struct__IMAGE_OPTIONAL_HEADER64 {
pub Magic: WORD,
pub MajorLinkerVersion: BYTE,
pub MinorLinkerVersion: BYTE,
pub SizeOfCode: DWORD,
pub SizeOfInitializedData: DWORD,
pub SizeOfUninitializedData: DWORD,
pub AddressOfEntryPoint: DWORD,
pub BaseOfCode: DWORD,
pub ImageBase: ULONGLONG,
pub SectionAlignment: DWORD,
pub FileAlignment: DWORD,
pub MajorOperatingSystemVersion: WORD,
pub MinorOperatingSystemVersion: WORD,
pub MajorImageVersion: WORD,
pub MinorImageVersion: WORD,
pub MajorSubsystemVersion: WORD,
pub MinorSubsystemVersion: WORD,
pub Win32VersionValue: DWORD,
pub SizeOfImage: DWORD,
pub SizeOfHeaders: DWORD,
pub CheckSum: DWORD,
pub Subsystem: WORD,
pub DllCharacteristics: WORD,
pub SizeOfStackReserve: ULONGLONG,
pub SizeOfStackCommit: ULONGLONG,
pub SizeOfHeapReserve: ULONGLONG,
pub SizeOfHeapCommit: ULONGLONG,
pub LoaderFlags: DWORD,
pub NumberOfRvaAndSizes: DWORD,
pub DataDirectory: [IMAGE_DATA_DIRECTORY, ..16u],
}
pub type IMAGE_OPTIONAL_HEADER64 = Struct__IMAGE_OPTIONAL_HEADER64;
pub type PIMAGE_OPTIONAL_HEADER64 = *mut Struct__IMAGE_OPTIONAL_HEADER64;
pub type IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER64;
pub type PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER64;
#[repr(C)]
pub struct Struct__IMAGE_NT_HEADERS64 {
pub Signature: DWORD,
pub FileHeader: IMAGE_FILE_HEADER,
pub OptionalHeader: IMAGE_OPTIONAL_HEADER64,
}
pub type IMAGE_NT_HEADERS64 = Struct__IMAGE_NT_HEADERS64;
pub type PIMAGE_NT_HEADERS64 = *mut Struct__IMAGE_NT_HEADERS64;
#[repr(C)]
pub struct Struct__IMAGE_NT_HEADERS {
pub Signature: DWORD,
pub FileHeader: IMAGE_FILE_HEADER,
pub OptionalHeader: IMAGE_OPTIONAL_HEADER32,
}
pub type IMAGE_NT_HEADERS32 = Struct__IMAGE_NT_HEADERS;
pub type PIMAGE_NT_HEADERS32 = *mut Struct__IMAGE_NT_HEADERS;
#[repr(C)]
pub struct Struct__IMAGE_ROM_HEADERS {
pub FileHeader: IMAGE_FILE_HEADER,
pub OptionalHeader: IMAGE_ROM_OPTIONAL_HEADER,
}
pub type IMAGE_ROM_HEADERS = Struct__IMAGE_ROM_HEADERS;
pub type PIMAGE_ROM_HEADERS = *mut Struct__IMAGE_ROM_HEADERS;
pub type IMAGE_NT_HEADERS = IMAGE_NT_HEADERS64;
pub type PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS64;
#[repr(C)]
pub struct Struct_ANON_OBJECT_HEADER {
pub Sig1: WORD,
pub Sig2: WORD,
pub Version: WORD,
pub Machine: WORD,
pub TimeDateStamp: DWORD,
pub ClassID: CLSID,
pub SizeOfData: DWORD,
}
pub type ANON_OBJECT_HEADER = Struct_ANON_OBJECT_HEADER;
#[repr(C)]
pub struct Struct_ANON_OBJECT_HEADER_V2 {
pub Sig1: WORD,
pub Sig2: WORD,
pub Version: WORD,
pub Machine: WORD,
pub TimeDateStamp: DWORD,
pub ClassID: CLSID,
pub SizeOfData: DWORD,
pub Flags: DWORD,
pub MetaDataSize: DWORD,
pub MetaDataOffset: DWORD,
}
pub type ANON_OBJECT_HEADER_V2 = Struct_ANON_OBJECT_HEADER_V2;
#[repr(C)]
pub struct Struct_ANON_OBJECT_HEADER_BIGOBJ {
pub Sig1: WORD,
pub Sig2: WORD,
pub Version: WORD,
pub Machine: WORD,
pub TimeDateStamp: DWORD,
pub ClassID: CLSID,
pub SizeOfData: DWORD,
pub Flags: DWORD,
pub MetaDataSize: DWORD,
pub MetaDataOffset: DWORD,
pub NumberOfSections: DWORD,
pub PointerToSymbolTable: DWORD,
pub NumberOfSymbols: DWORD,
}
pub type ANON_OBJECT_HEADER_BIGOBJ = Struct_ANON_OBJECT_HEADER_BIGOBJ;
#[repr(C)]
pub struct Struct__IMAGE_SECTION_HEADER {
pub Name: [BYTE, ..8u],
pub Misc: Union_Unnamed83,
pub VirtualAddress: DWORD,
pub SizeOfRawData: DWORD,
pub PointerToRawData: DWORD,
pub PointerToRelocations: DWORD,
pub PointerToLinenumbers: DWORD,
pub NumberOfRelocations: WORD,
pub NumberOfLinenumbers: WORD,
pub Characteristics: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed83 {
pub data: [u32, ..1u],
}
impl Union_Unnamed83 {
pub fn PhysicalAddress(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn VirtualSize(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type IMAGE_SECTION_HEADER = Struct__IMAGE_SECTION_HEADER;
pub type PIMAGE_SECTION_HEADER = *mut Struct__IMAGE_SECTION_HEADER;
#[repr(C)]
pub struct Struct__IMAGE_SYMBOL {
pub N: Union_Unnamed84,
pub Value: DWORD,
pub SectionNumber: SHORT,
pub Type: WORD,
pub StorageClass: BYTE,
pub NumberOfAuxSymbols: BYTE,
}
#[repr(C)]
pub struct Union_Unnamed84 {
pub data: [u16, ..4u],
}
impl Union_Unnamed84 {
pub fn ShortName(&mut self) -> *mut [BYTE, ..8u] {
unsafe { ::std::mem::transmute(self) }
}
pub fn Name(&mut self) -> *mut Struct_Unnamed85 {
unsafe { ::std::mem::transmute(self) }
}
pub fn LongName(&mut self) -> *mut [DWORD, ..2u] {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed85 {
pub Short: DWORD,
pub Long: DWORD,
}
pub type IMAGE_SYMBOL = Struct__IMAGE_SYMBOL;
pub type PIMAGE_SYMBOL = *mut IMAGE_SYMBOL;
#[repr(C)]
pub struct Struct__IMAGE_SYMBOL_EX {
pub N: Union_Unnamed86,
pub Value: DWORD,
pub SectionNumber: LONG,
pub Type: WORD,
pub StorageClass: BYTE,
pub NumberOfAuxSymbols: BYTE,
}
#[repr(C)]
pub struct Union_Unnamed86 {
pub data: [u16, ..4u],
}
impl Union_Unnamed86 {
pub fn ShortName(&mut self) -> *mut [BYTE, ..8u] {
unsafe { ::std::mem::transmute(self) }
}
pub fn Name(&mut self) -> *mut Struct_Unnamed87 {
unsafe { ::std::mem::transmute(self) }
}
pub fn LongName(&mut self) -> *mut [DWORD, ..2u] {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed87 {
pub Short: DWORD,
pub Long: DWORD,
}
pub type IMAGE_SYMBOL_EX = Struct__IMAGE_SYMBOL_EX;
pub type PIMAGE_SYMBOL_EX = *mut Struct__IMAGE_SYMBOL_EX;
#[repr(C)]
pub struct Struct_IMAGE_AUX_SYMBOL_TOKEN_DEF {
pub bAuxType: BYTE,
pub bReserved: BYTE,
pub SymbolTableIndex: DWORD,
pub rgbReserved: [BYTE, ..12u],
}
pub type IMAGE_AUX_SYMBOL_TOKEN_DEF = Struct_IMAGE_AUX_SYMBOL_TOKEN_DEF;
pub type PIMAGE_AUX_SYMBOL_TOKEN_DEF = *mut Struct_IMAGE_AUX_SYMBOL_TOKEN_DEF;
#[repr(C)]
pub struct Union__IMAGE_AUX_SYMBOL {
pub data: [u16, ..9u],
}
impl Union__IMAGE_AUX_SYMBOL {
pub fn Sym(&mut self) -> *mut Struct_Unnamed88 {
unsafe { ::std::mem::transmute(self) }
}
pub fn File(&mut self) -> *mut Struct_Unnamed89 {
unsafe { ::std::mem::transmute(self) }
}
pub fn Section(&mut self) -> *mut Struct_Unnamed90 {
unsafe { ::std::mem::transmute(self) }
}
pub fn TokenDef(&mut self) -> *mut IMAGE_AUX_SYMBOL_TOKEN_DEF {
unsafe { ::std::mem::transmute(self) }
}
pub fn CRC(&mut self) -> *mut Struct_Unnamed91 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed88 {
pub TagIndex: DWORD,
pub Misc: Union_Unnamed92,
pub FcnAry: Union_Unnamed93,
pub TvIndex: WORD,
}
#[repr(C)]
pub struct Union_Unnamed92 {
pub data: [u16, ..2u],
}
impl Union_Unnamed92 {
pub fn LnSz(&mut self) -> *mut Struct_Unnamed94 {
unsafe { ::std::mem::transmute(self) }
}
pub fn TotalSize(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed94 {
pub Linenumber: WORD,
pub Size: WORD,
}
#[repr(C)]
pub struct Union_Unnamed93 {
pub data: [u16, ..4u],
}
impl Union_Unnamed93 {
pub fn Function(&mut self) -> *mut Struct_Unnamed95 {
unsafe { ::std::mem::transmute(self) }
}
pub fn Array(&mut self) -> *mut Struct_Unnamed96 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed95 {
pub PointerToLinenumber: DWORD,
pub PointerToNextFunction: DWORD,
}
#[repr(C)]
pub struct Struct_Unnamed96 {
pub Dimension: [WORD, ..4u],
}
#[repr(C)]
pub struct Struct_Unnamed89 {
pub Name: [BYTE, ..18u],
}
#[repr(C)]
pub struct Struct_Unnamed90 {
pub Length: DWORD,
pub NumberOfRelocations: WORD,
pub NumberOfLinenumbers: WORD,
pub CheckSum: DWORD,
pub Number: SHORT,
pub Selection: BYTE,
}
#[repr(C)]
pub struct Struct_Unnamed91 {
pub crc: DWORD,
pub rgbReserved: [BYTE, ..14u],
}
pub type IMAGE_AUX_SYMBOL = Union__IMAGE_AUX_SYMBOL;
pub type PIMAGE_AUX_SYMBOL = *mut Union__IMAGE_AUX_SYMBOL;
#[repr(C)]
pub struct Union__IMAGE_AUX_SYMBOL_EX {
pub data: [u16, ..10u],
}
impl Union__IMAGE_AUX_SYMBOL_EX {
pub fn Sym(&mut self) -> *mut Struct_Unnamed97 {
unsafe { ::std::mem::transmute(self) }
}
pub fn File(&mut self) -> *mut Struct_Unnamed98 {
unsafe { ::std::mem::transmute(self) }
}
pub fn Section(&mut self) -> *mut Struct_Unnamed99 {
unsafe { ::std::mem::transmute(self) }
}
pub fn CRC(&mut self) -> *mut Struct_Unnamed100 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed97 {
pub WeakDefaultSymIndex: DWORD,
pub WeakSearchType: DWORD,
pub rgbReserved: [BYTE, ..12u],
}
#[repr(C)]
pub struct Struct_Unnamed98 {
pub Name: [BYTE, ..20u],
}
#[repr(C)]
pub struct Struct_Unnamed99 {
pub Length: DWORD,
pub NumberOfRelocations: WORD,
pub NumberOfLinenumbers: WORD,
pub CheckSum: DWORD,
pub Number: SHORT,
pub Selection: BYTE,
pub bReserved: BYTE,
pub HighNumber: SHORT,
pub rgbReserved: [BYTE, ..2u],
}
#[repr(C)]
pub struct Struct_Unnamed101 {
pub TokenDef: IMAGE_AUX_SYMBOL_TOKEN_DEF,
pub rgbReserved: [BYTE, ..2u],
}
#[repr(C)]
pub struct Struct_Unnamed100 {
pub crc: DWORD,
pub rgbReserved: [BYTE, ..16u],
}
pub type IMAGE_AUX_SYMBOL_EX = Union__IMAGE_AUX_SYMBOL_EX;
pub type PIMAGE_AUX_SYMBOL_EX = *mut Union__IMAGE_AUX_SYMBOL_EX;
pub type Enum_IMAGE_AUX_SYMBOL_TYPE = ::libc::c_uint;
pub const IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF: ::libc::c_uint = 1;
pub type IMAGE_AUX_SYMBOL_TYPE = Enum_IMAGE_AUX_SYMBOL_TYPE;
#[repr(C)]
pub struct Struct__IMAGE_RELOCATION {
pub SymbolTableIndex: DWORD,
pub Type: WORD,
}
#[repr(C)]
pub struct Union_Unnamed102 {
pub data: [u16, ..2u],
}
impl Union_Unnamed102 {
pub fn VirtualAddress(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn RelocCount(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type IMAGE_RELOCATION = Struct__IMAGE_RELOCATION;
pub type PIMAGE_RELOCATION = *mut IMAGE_RELOCATION;
#[repr(C)]
pub struct Struct__IMAGE_LINENUMBER {
pub Type: Union_Unnamed103,
pub Linenumber: WORD,
}
#[repr(C)]
pub struct Union_Unnamed103 {
pub data: [u16, ..2u],
}
impl Union_Unnamed103 {
pub fn SymbolTableIndex(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn VirtualAddress(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type IMAGE_LINENUMBER = Struct__IMAGE_LINENUMBER;
pub type PIMAGE_LINENUMBER = *mut IMAGE_LINENUMBER;
#[repr(C)]
pub struct Struct__IMAGE_BASE_RELOCATION {
pub VirtualAddress: DWORD,
pub SizeOfBlock: DWORD,
}
pub type IMAGE_BASE_RELOCATION = Struct__IMAGE_BASE_RELOCATION;
pub type PIMAGE_BASE_RELOCATION = *mut IMAGE_BASE_RELOCATION;
#[repr(C)]
pub struct Struct__IMAGE_ARCHIVE_MEMBER_HEADER {
pub Name: [BYTE, ..16u],
pub Date: [BYTE, ..12u],
pub UserID: [BYTE, ..6u],
pub GroupID: [BYTE, ..6u],
pub Mode: [BYTE, ..8u],
pub Size: [BYTE, ..10u],
pub EndHeader: [BYTE, ..2u],
}
pub type IMAGE_ARCHIVE_MEMBER_HEADER = Struct__IMAGE_ARCHIVE_MEMBER_HEADER;
pub type PIMAGE_ARCHIVE_MEMBER_HEADER =
*mut Struct__IMAGE_ARCHIVE_MEMBER_HEADER;
#[repr(C)]
pub struct Struct__IMAGE_EXPORT_DIRECTORY {
pub Characteristics: DWORD,
pub TimeDateStamp: DWORD,
pub MajorVersion: WORD,
pub MinorVersion: WORD,
pub Name: DWORD,
pub Base: DWORD,
pub NumberOfFunctions: DWORD,
pub NumberOfNames: DWORD,
pub AddressOfFunctions: DWORD,
pub AddressOfNames: DWORD,
pub AddressOfNameOrdinals: DWORD,
}
pub type IMAGE_EXPORT_DIRECTORY = Struct__IMAGE_EXPORT_DIRECTORY;
pub type PIMAGE_EXPORT_DIRECTORY = *mut Struct__IMAGE_EXPORT_DIRECTORY;
#[repr(C)]
pub struct Struct__IMAGE_IMPORT_BY_NAME {
pub Hint: WORD,
pub Name: [BYTE, ..1u],
}
pub type IMAGE_IMPORT_BY_NAME = Struct__IMAGE_IMPORT_BY_NAME;
pub type PIMAGE_IMPORT_BY_NAME = *mut Struct__IMAGE_IMPORT_BY_NAME;
#[repr(C)]
pub struct Struct__IMAGE_THUNK_DATA64 {
pub u1: Union_Unnamed104,
}
#[repr(C)]
pub struct Union_Unnamed104 {
pub data: [u64, ..1u],
}
impl Union_Unnamed104 {
pub fn ForwarderString(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn Function(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn Ordinal(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn AddressOfData(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
}
pub type IMAGE_THUNK_DATA64 = Struct__IMAGE_THUNK_DATA64;
pub type PIMAGE_THUNK_DATA64 = *mut IMAGE_THUNK_DATA64;
#[repr(C)]
pub struct Struct__IMAGE_THUNK_DATA32 {
pub u1: Union_Unnamed105,
}
#[repr(C)]
pub struct Union_Unnamed105 {
pub data: [u32, ..1u],
}
impl Union_Unnamed105 {
pub fn ForwarderString(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn Function(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn Ordinal(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn AddressOfData(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type IMAGE_THUNK_DATA32 = Struct__IMAGE_THUNK_DATA32;
pub type PIMAGE_THUNK_DATA32 = *mut IMAGE_THUNK_DATA32;
pub type PIMAGE_TLS_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: PVOID, arg2: DWORD, arg3: PVOID)>;
#[repr(C)]
pub struct Struct__IMAGE_TLS_DIRECTORY64 {
pub StartAddressOfRawData: ULONGLONG,
pub EndAddressOfRawData: ULONGLONG,
pub AddressOfIndex: ULONGLONG,
pub AddressOfCallBacks: ULONGLONG,
pub SizeOfZeroFill: DWORD,
pub Characteristics: DWORD,
}
pub type IMAGE_TLS_DIRECTORY64 = Struct__IMAGE_TLS_DIRECTORY64;
pub type PIMAGE_TLS_DIRECTORY64 = *mut IMAGE_TLS_DIRECTORY64;
#[repr(C)]
pub struct Struct__IMAGE_TLS_DIRECTORY32 {
pub StartAddressOfRawData: DWORD,
pub EndAddressOfRawData: DWORD,
pub AddressOfIndex: DWORD,
pub AddressOfCallBacks: DWORD,
pub SizeOfZeroFill: DWORD,
pub Characteristics: DWORD,
}
pub type IMAGE_TLS_DIRECTORY32 = Struct__IMAGE_TLS_DIRECTORY32;
pub type PIMAGE_TLS_DIRECTORY32 = *mut IMAGE_TLS_DIRECTORY32;
pub type IMAGE_THUNK_DATA = IMAGE_THUNK_DATA64;
pub type PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA64;
pub type IMAGE_TLS_DIRECTORY = IMAGE_TLS_DIRECTORY64;
pub type PIMAGE_TLS_DIRECTORY = PIMAGE_TLS_DIRECTORY64;
#[repr(C)]
pub struct Struct__IMAGE_IMPORT_DESCRIPTOR {
pub TimeDateStamp: DWORD,
pub ForwarderChain: DWORD,
pub Name: DWORD,
pub FirstThunk: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed106 {
pub data: [u32, ..1u],
}
impl Union_Unnamed106 {
pub fn Characteristics(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn OriginalFirstThunk(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type IMAGE_IMPORT_DESCRIPTOR = Struct__IMAGE_IMPORT_DESCRIPTOR;
pub type PIMAGE_IMPORT_DESCRIPTOR = *mut IMAGE_IMPORT_DESCRIPTOR;
#[repr(C)]
pub struct Struct__IMAGE_BOUND_IMPORT_DESCRIPTOR {
pub TimeDateStamp: DWORD,
pub OffsetModuleName: WORD,
pub NumberOfModuleForwarderRefs: WORD,
}
pub type IMAGE_BOUND_IMPORT_DESCRIPTOR =
Struct__IMAGE_BOUND_IMPORT_DESCRIPTOR;
pub type PIMAGE_BOUND_IMPORT_DESCRIPTOR =
*mut Struct__IMAGE_BOUND_IMPORT_DESCRIPTOR;
#[repr(C)]
pub struct Struct__IMAGE_BOUND_FORWARDER_REF {
pub TimeDateStamp: DWORD,
pub OffsetModuleName: WORD,
pub Reserved: WORD,
}
pub type IMAGE_BOUND_FORWARDER_REF = Struct__IMAGE_BOUND_FORWARDER_REF;
pub type PIMAGE_BOUND_FORWARDER_REF = *mut Struct__IMAGE_BOUND_FORWARDER_REF;
#[repr(C)]
pub struct Struct__IMAGE_DELAYLOAD_DESCRIPTOR {
pub Attributes: Union_Unnamed107,
pub DllNameRVA: DWORD,
pub ModuleHandleRVA: DWORD,
pub ImportAddressTableRVA: DWORD,
pub ImportNameTableRVA: DWORD,
pub BoundImportAddressTableRVA: DWORD,
pub UnloadInformationTableRVA: DWORD,
pub TimeDateStamp: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed107 {
pub data: [u32, ..1u],
}
impl Union_Unnamed107 {
pub fn AllAttributes(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed108 {
pub RvaBased: DWORD,
pub ReservedAttributes: DWORD,
}
pub type IMAGE_DELAYLOAD_DESCRIPTOR = Struct__IMAGE_DELAYLOAD_DESCRIPTOR;
pub type PIMAGE_DELAYLOAD_DESCRIPTOR =
*mut Struct__IMAGE_DELAYLOAD_DESCRIPTOR;
pub type PCIMAGE_DELAYLOAD_DESCRIPTOR = *const IMAGE_DELAYLOAD_DESCRIPTOR;
#[repr(C)]
pub struct Struct__IMAGE_RESOURCE_DIRECTORY {
pub Characteristics: DWORD,
pub TimeDateStamp: DWORD,
pub MajorVersion: WORD,
pub MinorVersion: WORD,
pub NumberOfNamedEntries: WORD,
pub NumberOfIdEntries: WORD,
}
pub type IMAGE_RESOURCE_DIRECTORY = Struct__IMAGE_RESOURCE_DIRECTORY;
pub type PIMAGE_RESOURCE_DIRECTORY = *mut Struct__IMAGE_RESOURCE_DIRECTORY;
#[repr(C)]
pub struct Struct__IMAGE_RESOURCE_DIRECTORY_ENTRY {
}
#[repr(C)]
pub struct Union_Unnamed109 {
pub data: [u32, ..1u],
}
impl Union_Unnamed109 {
pub fn Name(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn Id(&mut self) -> *mut WORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed110 {
pub NameOffset: DWORD,
pub NameIsString: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed111 {
pub data: [u32, ..1u],
}
impl Union_Unnamed111 {
pub fn OffsetToData(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed112 {
pub OffsetToDirectory: DWORD,
pub DataIsDirectory: DWORD,
}
pub type IMAGE_RESOURCE_DIRECTORY_ENTRY =
Struct__IMAGE_RESOURCE_DIRECTORY_ENTRY;
pub type PIMAGE_RESOURCE_DIRECTORY_ENTRY =
*mut Struct__IMAGE_RESOURCE_DIRECTORY_ENTRY;
#[repr(C)]
pub struct Struct__IMAGE_RESOURCE_DIRECTORY_STRING {
pub Length: WORD,
pub NameString: [CHAR, ..1u],
}
pub type IMAGE_RESOURCE_DIRECTORY_STRING =
Struct__IMAGE_RESOURCE_DIRECTORY_STRING;
pub type PIMAGE_RESOURCE_DIRECTORY_STRING =
*mut Struct__IMAGE_RESOURCE_DIRECTORY_STRING;
#[repr(C)]
pub struct Struct__IMAGE_RESOURCE_DIR_STRING_U {
pub Length: WORD,
pub NameString: [WCHAR, ..1u],
}
pub type IMAGE_RESOURCE_DIR_STRING_U = Struct__IMAGE_RESOURCE_DIR_STRING_U;
pub type PIMAGE_RESOURCE_DIR_STRING_U =
*mut Struct__IMAGE_RESOURCE_DIR_STRING_U;
#[repr(C)]
pub struct Struct__IMAGE_RESOURCE_DATA_ENTRY {
pub OffsetToData: DWORD,
pub Size: DWORD,
pub CodePage: DWORD,
pub Reserved: DWORD,
}
pub type IMAGE_RESOURCE_DATA_ENTRY = Struct__IMAGE_RESOURCE_DATA_ENTRY;
pub type PIMAGE_RESOURCE_DATA_ENTRY = *mut Struct__IMAGE_RESOURCE_DATA_ENTRY;
#[repr(C)]
pub struct Struct_Unnamed113 {
pub Size: DWORD,
pub TimeDateStamp: DWORD,
pub MajorVersion: WORD,
pub MinorVersion: WORD,
pub GlobalFlagsClear: DWORD,
pub GlobalFlagsSet: DWORD,
pub CriticalSectionDefaultTimeout: DWORD,
pub DeCommitFreeBlockThreshold: DWORD,
pub DeCommitTotalFreeThreshold: DWORD,
pub LockPrefixTable: DWORD,
pub MaximumAllocationSize: DWORD,
pub VirtualMemoryThreshold: DWORD,
pub ProcessHeapFlags: DWORD,
pub ProcessAffinityMask: DWORD,
pub CSDVersion: WORD,
pub Reserved1: WORD,
pub EditList: DWORD,
pub SecurityCookie: DWORD,
pub SEHandlerTable: DWORD,
pub SEHandlerCount: DWORD,
}
pub type IMAGE_LOAD_CONFIG_DIRECTORY32 = Struct_Unnamed113;
pub type PIMAGE_LOAD_CONFIG_DIRECTORY32 = *mut Struct_Unnamed113;
#[repr(C)]
pub struct Struct_Unnamed114 {
pub Size: DWORD,
pub TimeDateStamp: DWORD,
pub MajorVersion: WORD,
pub MinorVersion: WORD,
pub GlobalFlagsClear: DWORD,
pub GlobalFlagsSet: DWORD,
pub CriticalSectionDefaultTimeout: DWORD,
pub DeCommitFreeBlockThreshold: ULONGLONG,
pub DeCommitTotalFreeThreshold: ULONGLONG,
pub LockPrefixTable: ULONGLONG,
pub MaximumAllocationSize: ULONGLONG,
pub VirtualMemoryThreshold: ULONGLONG,
pub ProcessAffinityMask: ULONGLONG,
pub ProcessHeapFlags: DWORD,
pub CSDVersion: WORD,
pub Reserved1: WORD,
pub EditList: ULONGLONG,
pub SecurityCookie: ULONGLONG,
pub SEHandlerTable: ULONGLONG,
pub SEHandlerCount: ULONGLONG,
}
pub type IMAGE_LOAD_CONFIG_DIRECTORY64 = Struct_Unnamed114;
pub type PIMAGE_LOAD_CONFIG_DIRECTORY64 = *mut Struct_Unnamed114;
pub type IMAGE_LOAD_CONFIG_DIRECTORY = IMAGE_LOAD_CONFIG_DIRECTORY64;
pub type PIMAGE_LOAD_CONFIG_DIRECTORY = PIMAGE_LOAD_CONFIG_DIRECTORY64;
#[repr(C)]
pub struct Struct__IMAGE_CE_RUNTIME_FUNCTION_ENTRY {
pub FuncStart: DWORD,
pub PrologLen: DWORD,
pub FuncLen: DWORD,
pub ThirtyTwoBit: DWORD,
pub ExceptionFlag: DWORD,
}
pub type IMAGE_CE_RUNTIME_FUNCTION_ENTRY =
Struct__IMAGE_CE_RUNTIME_FUNCTION_ENTRY;
pub type PIMAGE_CE_RUNTIME_FUNCTION_ENTRY =
*mut Struct__IMAGE_CE_RUNTIME_FUNCTION_ENTRY;
#[repr(C)]
pub struct Struct__IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY {
pub BeginAddress: ULONGLONG,
pub EndAddress: ULONGLONG,
pub ExceptionHandler: ULONGLONG,
pub HandlerData: ULONGLONG,
pub PrologEndAddress: ULONGLONG,
}
pub type IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY =
Struct__IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY;
pub type PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY =
*mut Struct__IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY;
#[repr(C)]
pub struct Struct__IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY {
pub BeginAddress: DWORD,
pub EndAddress: DWORD,
pub ExceptionHandler: DWORD,
pub HandlerData: DWORD,
pub PrologEndAddress: DWORD,
}
pub type IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY =
Struct__IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY;
pub type PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY =
*mut Struct__IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY;
#[repr(C)]
pub struct Struct__IMAGE_ARM_RUNTIME_FUNCTION_ENTRY {
pub BeginAddress: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed115 {
pub data: [u32, ..1u],
}
impl Union_Unnamed115 {
pub fn UnwindData(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed116 {
pub Flag: DWORD,
pub FunctionLength: DWORD,
pub Ret: DWORD,
pub H: DWORD,
pub Reg: DWORD,
pub R: DWORD,
pub L: DWORD,
pub C: DWORD,
pub StackAdjust: DWORD,
}
pub type IMAGE_ARM_RUNTIME_FUNCTION_ENTRY =
Struct__IMAGE_ARM_RUNTIME_FUNCTION_ENTRY;
pub type PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY =
*mut Struct__IMAGE_ARM_RUNTIME_FUNCTION_ENTRY;
#[repr(C)]
pub struct Struct__IMAGE_RUNTIME_FUNCTION_ENTRY {
pub BeginAddress: DWORD,
pub EndAddress: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed117 {
pub data: [u32, ..1u],
}
impl Union_Unnamed117 {
pub fn UnwindInfoAddress(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn UnwindData(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type _IMAGE_RUNTIME_FUNCTION_ENTRY = Struct__IMAGE_RUNTIME_FUNCTION_ENTRY;
pub type _PIMAGE_RUNTIME_FUNCTION_ENTRY =
*mut Struct__IMAGE_RUNTIME_FUNCTION_ENTRY;
pub type IMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY;
pub type PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY;
pub type IMAGE_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY;
pub type PIMAGE_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY;
#[repr(C)]
pub struct Struct__IMAGE_DEBUG_DIRECTORY {
pub Characteristics: DWORD,
pub TimeDateStamp: DWORD,
pub MajorVersion: WORD,
pub MinorVersion: WORD,
pub Type: DWORD,
pub SizeOfData: DWORD,
pub AddressOfRawData: DWORD,
pub PointerToRawData: DWORD,
}
pub type IMAGE_DEBUG_DIRECTORY = Struct__IMAGE_DEBUG_DIRECTORY;
pub type PIMAGE_DEBUG_DIRECTORY = *mut Struct__IMAGE_DEBUG_DIRECTORY;
#[repr(C)]
pub struct Struct__IMAGE_COFF_SYMBOLS_HEADER {
pub NumberOfSymbols: DWORD,
pub LvaToFirstSymbol: DWORD,
pub NumberOfLinenumbers: DWORD,
pub LvaToFirstLinenumber: DWORD,
pub RvaToFirstByteOfCode: DWORD,
pub RvaToLastByteOfCode: DWORD,
pub RvaToFirstByteOfData: DWORD,
pub RvaToLastByteOfData: DWORD,
}
pub type IMAGE_COFF_SYMBOLS_HEADER = Struct__IMAGE_COFF_SYMBOLS_HEADER;
pub type PIMAGE_COFF_SYMBOLS_HEADER = *mut Struct__IMAGE_COFF_SYMBOLS_HEADER;
#[repr(C)]
pub struct Struct__FPO_DATA {
pub ulOffStart: DWORD,
pub cbProcSize: DWORD,
pub cdwLocals: DWORD,
pub cdwParams: WORD,
pub cbProlog: WORD,
pub cbRegs: WORD,
pub fHasSEH: WORD,
pub fUseBP: WORD,
pub reserved: WORD,
pub cbFrame: WORD,
}
pub type FPO_DATA = Struct__FPO_DATA;
pub type PFPO_DATA = *mut Struct__FPO_DATA;
#[repr(C)]
pub struct Struct__IMAGE_DEBUG_MISC {
pub DataType: DWORD,
pub Length: DWORD,
pub Unicode: BOOLEAN,
pub Reserved: [BYTE, ..3u],
pub Data: [BYTE, ..1u],
}
pub type IMAGE_DEBUG_MISC = Struct__IMAGE_DEBUG_MISC;
pub type PIMAGE_DEBUG_MISC = *mut Struct__IMAGE_DEBUG_MISC;
#[repr(C)]
pub struct Struct__IMAGE_FUNCTION_ENTRY {
pub StartingAddress: DWORD,
pub EndingAddress: DWORD,
pub EndOfPrologue: DWORD,
}
pub type IMAGE_FUNCTION_ENTRY = Struct__IMAGE_FUNCTION_ENTRY;
pub type PIMAGE_FUNCTION_ENTRY = *mut Struct__IMAGE_FUNCTION_ENTRY;
#[repr(C)]
pub struct Struct__IMAGE_FUNCTION_ENTRY64 {
pub StartingAddress: ULONGLONG,
pub EndingAddress: ULONGLONG,
}
#[repr(C)]
pub struct Union_Unnamed118 {
pub data: [u32, ..2u],
}
impl Union_Unnamed118 {
pub fn EndOfPrologue(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn UnwindInfoAddress(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
}
pub type IMAGE_FUNCTION_ENTRY64 = Struct__IMAGE_FUNCTION_ENTRY64;
pub type PIMAGE_FUNCTION_ENTRY64 = *mut Struct__IMAGE_FUNCTION_ENTRY64;
#[repr(C)]
pub struct Struct__IMAGE_SEPARATE_DEBUG_HEADER {
pub Signature: WORD,
pub Flags: WORD,
pub Machine: WORD,
pub Characteristics: WORD,
pub TimeDateStamp: DWORD,
pub CheckSum: DWORD,
pub ImageBase: DWORD,
pub SizeOfImage: DWORD,
pub NumberOfSections: DWORD,
pub ExportedNamesSize: DWORD,
pub DebugDirectorySize: DWORD,
pub SectionAlignment: DWORD,
pub Reserved: [DWORD, ..2u],
}
pub type IMAGE_SEPARATE_DEBUG_HEADER = Struct__IMAGE_SEPARATE_DEBUG_HEADER;
pub type PIMAGE_SEPARATE_DEBUG_HEADER =
*mut Struct__IMAGE_SEPARATE_DEBUG_HEADER;
#[repr(C)]
pub struct Struct__NON_PAGED_DEBUG_INFO {
pub Signature: WORD,
pub Flags: WORD,
pub Size: DWORD,
pub Machine: WORD,
pub Characteristics: WORD,
pub TimeDateStamp: DWORD,
pub CheckSum: DWORD,
pub SizeOfImage: DWORD,
pub ImageBase: ULONGLONG,
}
pub type NON_PAGED_DEBUG_INFO = Struct__NON_PAGED_DEBUG_INFO;
pub type PNON_PAGED_DEBUG_INFO = *mut Struct__NON_PAGED_DEBUG_INFO;
#[repr(C)]
pub struct Struct__ImageArchitectureHeader {
pub AmaskValue: ::libc::c_uint,
pub Adummy1: ::libc::c_int,
pub AmaskShift: ::libc::c_uint,
pub Adummy2: ::libc::c_int,
pub FirstEntryRVA: DWORD,
}
pub type IMAGE_ARCHITECTURE_HEADER = Struct__ImageArchitectureHeader;
pub type PIMAGE_ARCHITECTURE_HEADER = *mut Struct__ImageArchitectureHeader;
#[repr(C)]
pub struct Struct__ImageArchitectureEntry {
pub FixupInstRVA: DWORD,
pub NewInst: DWORD,
}
pub type IMAGE_ARCHITECTURE_ENTRY = Struct__ImageArchitectureEntry;
pub type PIMAGE_ARCHITECTURE_ENTRY = *mut Struct__ImageArchitectureEntry;
#[repr(C)]
pub struct Struct_IMPORT_OBJECT_HEADER {
pub Sig1: WORD,
pub Sig2: WORD,
pub Version: WORD,
pub Machine: WORD,
pub TimeDateStamp: DWORD,
pub SizeOfData: DWORD,
pub Type: WORD,
pub NameType: WORD,
pub Reserved: WORD,
}
#[repr(C)]
pub struct Union_Unnamed119 {
pub data: [u16, ..1u],
}
impl Union_Unnamed119 {
pub fn Ordinal(&mut self) -> *mut WORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn Hint(&mut self) -> *mut WORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type IMPORT_OBJECT_HEADER = Struct_IMPORT_OBJECT_HEADER;
pub type Enum_IMPORT_OBJECT_TYPE = ::libc::c_uint;
pub const IMPORT_OBJECT_CODE: ::libc::c_uint = 0;
pub const IMPORT_OBJECT_DATA: ::libc::c_uint = 1;
pub const IMPORT_OBJECT_CONST: ::libc::c_uint = 2;
pub type IMPORT_OBJECT_TYPE = Enum_IMPORT_OBJECT_TYPE;
pub type Enum_IMPORT_OBJECT_NAME_TYPE = ::libc::c_uint;
pub const IMPORT_OBJECT_ORDINAL: ::libc::c_uint = 0;
pub const IMPORT_OBJECT_NAME: ::libc::c_uint = 1;
pub const IMPORT_OBJECT_NAME_NO_PREFIX: ::libc::c_uint = 2;
pub const IMPORT_OBJECT_NAME_UNDECORATE: ::libc::c_uint = 3;
pub type IMPORT_OBJECT_NAME_TYPE = Enum_IMPORT_OBJECT_NAME_TYPE;
pub type Enum_ReplacesCorHdrNumericDefines = ::libc::c_uint;
pub const COMIMAGE_FLAGS_ILONLY: ::libc::c_uint = 1;
pub const COMIMAGE_FLAGS_32BITREQUIRED: ::libc::c_uint = 2;
pub const COMIMAGE_FLAGS_IL_LIBRARY: ::libc::c_uint = 4;
pub const COMIMAGE_FLAGS_STRONGNAMESIGNED: ::libc::c_uint = 8;
pub const COMIMAGE_FLAGS_TRACKDEBUGDATA: ::libc::c_uint = 65536;
pub const COR_VERSION_MAJOR_V2: ::libc::c_uint = 2;
pub const COR_VERSION_MAJOR: ::libc::c_uint = 2;
pub const COR_VERSION_MINOR: ::libc::c_uint = 0;
pub const COR_DELETED_NAME_LENGTH: ::libc::c_uint = 8;
pub const COR_VTABLEGAP_NAME_LENGTH: ::libc::c_uint = 8;
pub const NATIVE_TYPE_MAX_CB: ::libc::c_uint = 1;
pub const COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE: ::libc::c_uint = 255;
pub const IMAGE_COR_MIH_METHODRVA: ::libc::c_uint = 1;
pub const IMAGE_COR_MIH_EHRVA: ::libc::c_uint = 2;
pub const IMAGE_COR_MIH_BASICBLOCK: ::libc::c_uint = 8;
pub const COR_VTABLE_32BIT: ::libc::c_uint = 1;
pub const COR_VTABLE_64BIT: ::libc::c_uint = 2;
pub const COR_VTABLE_FROM_UNMANAGED: ::libc::c_uint = 4;
pub const COR_VTABLE_CALL_MOST_DERIVED: ::libc::c_uint = 16;
pub const IMAGE_COR_EATJ_THUNK_SIZE: ::libc::c_uint = 32;
pub const MAX_CLASS_NAME: ::libc::c_uint = 1024;
pub const MAX_PACKAGE_NAME: ::libc::c_uint = 1024;
pub type ReplacesCorHdrNumericDefines = Enum_ReplacesCorHdrNumericDefines;
#[repr(C)]
pub struct Struct_IMAGE_COR20_HEADER {
pub cb: DWORD,
pub MajorRuntimeVersion: WORD,
pub MinorRuntimeVersion: WORD,
pub MetaData: IMAGE_DATA_DIRECTORY,
pub Flags: DWORD,
pub Resources: IMAGE_DATA_DIRECTORY,
pub StrongNameSignature: IMAGE_DATA_DIRECTORY,
pub CodeManagerTable: IMAGE_DATA_DIRECTORY,
pub VTableFixups: IMAGE_DATA_DIRECTORY,
pub ExportAddressTableJumps: IMAGE_DATA_DIRECTORY,
pub ManagedNativeHeader: IMAGE_DATA_DIRECTORY,
}
#[repr(C)]
pub struct Union_Unnamed120 {
pub data: [u32, ..1u],
}
impl Union_Unnamed120 {
pub fn EntryPointToken(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn EntryPointRVA(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type IMAGE_COR20_HEADER = Struct_IMAGE_COR20_HEADER;
pub type PIMAGE_COR20_HEADER = *mut Struct_IMAGE_COR20_HEADER;
#[repr(C)]
pub struct Struct__SLIST_ENTRY {
pub Next: *mut Struct__SLIST_ENTRY,
}
pub type SLIST_ENTRY = Struct__SLIST_ENTRY;
pub type PSLIST_ENTRY = *mut Struct__SLIST_ENTRY;
#[repr(C)]
pub struct Union__SLIST_HEADER {
pub data: [u8, ..16u],
}
impl Union__SLIST_HEADER {
pub fn Header8(&mut self) -> *mut Struct_Unnamed121 {
unsafe { ::std::mem::transmute(self) }
}
pub fn HeaderX64(&mut self) -> *mut Struct_Unnamed122 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed123 {
pub Alignment: ULONGLONG,
pub Region: ULONGLONG,
}
#[repr(C)]
pub struct Struct_Unnamed121 {
pub Depth: ULONGLONG,
pub Sequence: ULONGLONG,
pub NextEntry: ULONGLONG,
pub HeaderType: ULONGLONG,
pub Init: ULONGLONG,
pub Reserved: ULONGLONG,
pub Region: ULONGLONG,
}
#[repr(C)]
pub struct Struct_Unnamed122 {
pub Depth: ULONGLONG,
pub Sequence: ULONGLONG,
pub HeaderType: ULONGLONG,
pub Reserved: ULONGLONG,
pub NextEntry: ULONGLONG,
}
pub type SLIST_HEADER = Union__SLIST_HEADER;
pub type PSLIST_HEADER = *mut Union__SLIST_HEADER;
#[repr(C)]
pub struct Struct__RTL_RUN_ONCE {
pub Ptr: PVOID,
}
pub type RTL_RUN_ONCE = Struct__RTL_RUN_ONCE;
pub type PRTL_RUN_ONCE = *mut Struct__RTL_RUN_ONCE;
pub type PRTL_RUN_ONCE_INIT_FN =
::std::option::Option<extern "C" fn
(arg1: PRTL_RUN_ONCE, arg2: PVOID,
arg3: *mut PVOID) -> DWORD>;
#[repr(C)]
pub struct Struct__RTL_BARRIER {
pub Reserved1: DWORD,
pub Reserved2: DWORD,
pub Reserved3: [ULONG_PTR, ..2u],
pub Reserved4: DWORD,
pub Reserved5: DWORD,
}
pub type RTL_BARRIER = Struct__RTL_BARRIER;
pub type PRTL_BARRIER = *mut Struct__RTL_BARRIER;
#[repr(C)]
pub struct Struct__MESSAGE_RESOURCE_ENTRY {
pub Length: WORD,
pub Flags: WORD,
pub Text: [BYTE, ..1u],
}
pub type MESSAGE_RESOURCE_ENTRY = Struct__MESSAGE_RESOURCE_ENTRY;
pub type PMESSAGE_RESOURCE_ENTRY = *mut Struct__MESSAGE_RESOURCE_ENTRY;
#[repr(C)]
pub struct Struct__MESSAGE_RESOURCE_BLOCK {
pub LowId: DWORD,
pub HighId: DWORD,
pub OffsetToEntries: DWORD,
}
pub type MESSAGE_RESOURCE_BLOCK = Struct__MESSAGE_RESOURCE_BLOCK;
pub type PMESSAGE_RESOURCE_BLOCK = *mut Struct__MESSAGE_RESOURCE_BLOCK;
#[repr(C)]
pub struct Struct__MESSAGE_RESOURCE_DATA {
pub NumberOfBlocks: DWORD,
pub Blocks: [MESSAGE_RESOURCE_BLOCK, ..1u],
}
pub type MESSAGE_RESOURCE_DATA = Struct__MESSAGE_RESOURCE_DATA;
pub type PMESSAGE_RESOURCE_DATA = *mut Struct__MESSAGE_RESOURCE_DATA;
#[repr(C)]
pub struct Struct__OSVERSIONINFOA {
pub dwOSVersionInfoSize: DWORD,
pub dwMajorVersion: DWORD,
pub dwMinorVersion: DWORD,
pub dwBuildNumber: DWORD,
pub dwPlatformId: DWORD,
pub szCSDVersion: [CHAR, ..128u],
}
pub type OSVERSIONINFOA = Struct__OSVERSIONINFOA;
pub type POSVERSIONINFOA = *mut Struct__OSVERSIONINFOA;
pub type LPOSVERSIONINFOA = *mut Struct__OSVERSIONINFOA;
#[repr(C)]
pub struct Struct__OSVERSIONINFOW {
pub dwOSVersionInfoSize: DWORD,
pub dwMajorVersion: DWORD,
pub dwMinorVersion: DWORD,
pub dwBuildNumber: DWORD,
pub dwPlatformId: DWORD,
pub szCSDVersion: [WCHAR, ..128u],
}
pub type OSVERSIONINFOW = Struct__OSVERSIONINFOW;
pub type POSVERSIONINFOW = *mut Struct__OSVERSIONINFOW;
pub type LPOSVERSIONINFOW = *mut Struct__OSVERSIONINFOW;
pub type RTL_OSVERSIONINFOW = Struct__OSVERSIONINFOW;
pub type PRTL_OSVERSIONINFOW = *mut Struct__OSVERSIONINFOW;
pub type OSVERSIONINFO = OSVERSIONINFOA;
pub type POSVERSIONINFO = POSVERSIONINFOA;
pub type LPOSVERSIONINFO = LPOSVERSIONINFOA;
#[repr(C)]
pub struct Struct__OSVERSIONINFOEXA {
pub dwOSVersionInfoSize: DWORD,
pub dwMajorVersion: DWORD,
pub dwMinorVersion: DWORD,
pub dwBuildNumber: DWORD,
pub dwPlatformId: DWORD,
pub szCSDVersion: [CHAR, ..128u],
pub wServicePackMajor: WORD,
pub wServicePackMinor: WORD,
pub wSuiteMask: WORD,
pub wProductType: BYTE,
pub wReserved: BYTE,
}
pub type OSVERSIONINFOEXA = Struct__OSVERSIONINFOEXA;
pub type POSVERSIONINFOEXA = *mut Struct__OSVERSIONINFOEXA;
pub type LPOSVERSIONINFOEXA = *mut Struct__OSVERSIONINFOEXA;
#[repr(C)]
pub struct Struct__OSVERSIONINFOEXW {
pub dwOSVersionInfoSize: DWORD,
pub dwMajorVersion: DWORD,
pub dwMinorVersion: DWORD,
pub dwBuildNumber: DWORD,
pub dwPlatformId: DWORD,
pub szCSDVersion: [WCHAR, ..128u],
pub wServicePackMajor: WORD,
pub wServicePackMinor: WORD,
pub wSuiteMask: WORD,
pub wProductType: BYTE,
pub wReserved: BYTE,
}
pub type OSVERSIONINFOEXW = Struct__OSVERSIONINFOEXW;
pub type POSVERSIONINFOEXW = *mut Struct__OSVERSIONINFOEXW;
pub type LPOSVERSIONINFOEXW = *mut Struct__OSVERSIONINFOEXW;
pub type RTL_OSVERSIONINFOEXW = Struct__OSVERSIONINFOEXW;
pub type PRTL_OSVERSIONINFOEXW = *mut Struct__OSVERSIONINFOEXW;
pub type OSVERSIONINFOEX = OSVERSIONINFOEXA;
pub type POSVERSIONINFOEX = POSVERSIONINFOEXA;
pub type LPOSVERSIONINFOEX = LPOSVERSIONINFOEXA;
pub type Enum__RTL_UMS_THREAD_INFO_CLASS = ::libc::c_uint;
pub const UmsThreadInvalidInfoClass: ::libc::c_uint = 0;
pub const UmsThreadUserContext: ::libc::c_uint = 1;
pub const UmsThreadPriority: ::libc::c_uint = 2;
pub const UmsThreadAffinity: ::libc::c_uint = 3;
pub const UmsThreadTeb: ::libc::c_uint = 4;
pub const UmsThreadIsSuspended: ::libc::c_uint = 5;
pub const UmsThreadIsTerminated: ::libc::c_uint = 6;
pub const UmsThreadMaxInfoClass: ::libc::c_uint = 7;
pub type RTL_UMS_THREAD_INFO_CLASS = Enum__RTL_UMS_THREAD_INFO_CLASS;
pub type PRTL_UMS_THREAD_INFO_CLASS = *mut Enum__RTL_UMS_THREAD_INFO_CLASS;
pub type Enum__RTL_UMS_SCHEDULER_REASON = ::libc::c_uint;
pub const UmsSchedulerStartup: ::libc::c_uint = 0;
pub const UmsSchedulerThreadBlocked: ::libc::c_uint = 1;
pub const UmsSchedulerThreadYield: ::libc::c_uint = 2;
pub type RTL_UMS_SCHEDULER_REASON = Enum__RTL_UMS_SCHEDULER_REASON;
pub type PRTL_UMS_SCHEDULER_REASON = *mut Enum__RTL_UMS_SCHEDULER_REASON;
pub type RTL_UMS_SCHEDULER_ENTRY_POINT = ::libc::c_void;
pub type PRTL_UMS_SCHEDULER_ENTRY_POINT =
*mut ::std::option::Option<extern "C" fn
(arg1: RTL_UMS_SCHEDULER_REASON,
arg2: ULONG_PTR, arg3: PVOID)>;
#[repr(C)]
pub struct Struct__RTL_CRITICAL_SECTION_DEBUG {
pub Type: WORD,
pub CreatorBackTraceIndex: WORD,
pub CriticalSection: *mut Struct__RTL_CRITICAL_SECTION,
pub ProcessLocksList: LIST_ENTRY,
pub EntryCount: DWORD,
pub ContentionCount: DWORD,
pub Flags: DWORD,
pub CreatorBackTraceIndexHigh: WORD,
pub SpareWORD: WORD,
}
pub type RTL_CRITICAL_SECTION_DEBUG = Struct__RTL_CRITICAL_SECTION_DEBUG;
pub type PRTL_CRITICAL_SECTION_DEBUG =
*mut Struct__RTL_CRITICAL_SECTION_DEBUG;
pub type RTL_RESOURCE_DEBUG = Struct__RTL_CRITICAL_SECTION_DEBUG;
pub type PRTL_RESOURCE_DEBUG = *mut Struct__RTL_CRITICAL_SECTION_DEBUG;
#[repr(C)]
pub struct Struct__RTL_CRITICAL_SECTION {
pub DebugInfo: PRTL_CRITICAL_SECTION_DEBUG,
pub LockCount: LONG,
pub RecursionCount: LONG,
pub OwningThread: HANDLE,
pub LockSemaphore: HANDLE,
pub SpinCount: ULONG_PTR,
}
pub type RTL_CRITICAL_SECTION = Struct__RTL_CRITICAL_SECTION;
pub type PRTL_CRITICAL_SECTION = *mut Struct__RTL_CRITICAL_SECTION;
#[repr(C)]
pub struct Struct__RTL_SRWLOCK {
pub Ptr: PVOID,
}
pub type RTL_SRWLOCK = Struct__RTL_SRWLOCK;
pub type PRTL_SRWLOCK = *mut Struct__RTL_SRWLOCK;
#[repr(C)]
pub struct Struct__RTL_CONDITION_VARIABLE {
pub Ptr: PVOID,
}
pub type RTL_CONDITION_VARIABLE = Struct__RTL_CONDITION_VARIABLE;
pub type PRTL_CONDITION_VARIABLE = *mut Struct__RTL_CONDITION_VARIABLE;
pub type PAPCFUNC = ::std::option::Option<extern "C" fn(arg1: ULONG_PTR)>;
pub type PVECTORED_EXCEPTION_HANDLER =
::std::option::Option<extern "C" fn(arg1: *mut Struct__EXCEPTION_POINTERS)
-> LONG>;
pub type Enum__HEAP_INFORMATION_CLASS = ::libc::c_uint;
pub const HeapCompatibilityInformation: ::libc::c_uint = 0;
pub const HeapEnableTerminationOnCorruption: ::libc::c_uint = 1;
pub type HEAP_INFORMATION_CLASS = Enum__HEAP_INFORMATION_CLASS;
pub type WORKERCALLBACKFUNC =
::std::option::Option<extern "C" fn(arg1: PVOID)>;
pub type APC_CALLBACK_FUNCTION =
::std::option::Option<extern "C" fn
(arg1: DWORD, arg2: PVOID, arg3: PVOID)>;
pub type WAITORTIMERCALLBACKFUNC =
::std::option::Option<extern "C" fn(arg1: PVOID, arg2: BOOLEAN)>;
pub type WAITORTIMERCALLBACK = WAITORTIMERCALLBACKFUNC;
pub type PFLS_CALLBACK_FUNCTION =
::std::option::Option<extern "C" fn(arg1: PVOID)>;
pub type PSECURE_MEMORY_CACHE_CALLBACK =
::std::option::Option<extern "C" fn(arg1: PVOID, arg2: SIZE_T)
-> BOOLEAN>;
pub type Enum__ACTIVATION_CONTEXT_INFO_CLASS = ::libc::c_uint;
pub const ActivationContextBasicInformation: ::libc::c_uint = 1;
pub const ActivationContextDetailedInformation: ::libc::c_uint = 2;
pub const AssemblyDetailedInformationInActivationContext: ::libc::c_uint = 3;
pub const FileInformationInAssemblyOfAssemblyInActivationContext:
::libc::c_uint =
4;
pub const RunlevelInformationInActivationContext: ::libc::c_uint = 5;
pub const CompatibilityInformationInActivationContext: ::libc::c_uint = 6;
pub const ActivationContextManifestResourceName: ::libc::c_uint = 7;
pub const MaxActivationContextInfoClass: ::libc::c_uint = 8;
pub const AssemblyDetailedInformationInActivationContxt: ::libc::c_uint = 3;
pub const FileInformationInAssemblyOfAssemblyInActivationContxt:
::libc::c_uint =
4;
pub type ACTIVATION_CONTEXT_INFO_CLASS = Enum__ACTIVATION_CONTEXT_INFO_CLASS;
pub type Enum_Unnamed124 = ::libc::c_uint;
pub const ACTCTX_RUN_LEVEL_UNSPECIFIED: ::libc::c_uint = 0;
pub const ACTCTX_RUN_LEVEL_AS_INVOKER: ::libc::c_uint = 1;
pub const ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE: ::libc::c_uint = 2;
pub const ACTCTX_RUN_LEVEL_REQUIRE_ADMIN: ::libc::c_uint = 3;
pub const ACTCTX_RUN_LEVEL_NUMBERS: ::libc::c_uint = 4;
pub type ACTCTX_REQUESTED_RUN_LEVEL = Enum_Unnamed124;
pub type Enum_Unnamed125 = ::libc::c_uint;
pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN: ::libc::c_uint = 0;
pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS: ::libc::c_uint = 1;
pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION: ::libc::c_uint = 2;
pub type ACTCTX_COMPATIBILITY_ELEMENT_TYPE = Enum_Unnamed125;
#[repr(C)]
pub struct Struct__ACTIVATION_CONTEXT_QUERY_INDEX {
pub ulAssemblyIndex: DWORD,
pub ulFileIndexInAssembly: DWORD,
}
pub type ACTIVATION_CONTEXT_QUERY_INDEX =
Struct__ACTIVATION_CONTEXT_QUERY_INDEX;
pub type PACTIVATION_CONTEXT_QUERY_INDEX =
*mut Struct__ACTIVATION_CONTEXT_QUERY_INDEX;
#[repr(C)]
pub struct Struct__ASSEMBLY_FILE_DETAILED_INFORMATION {
pub ulFlags: DWORD,
pub ulFilenameLength: DWORD,
pub ulPathLength: DWORD,
pub lpFileName: PCWSTR,
pub lpFilePath: PCWSTR,
}
pub type ASSEMBLY_FILE_DETAILED_INFORMATION =
Struct__ASSEMBLY_FILE_DETAILED_INFORMATION;
pub type PASSEMBLY_FILE_DETAILED_INFORMATION =
*mut Struct__ASSEMBLY_FILE_DETAILED_INFORMATION;
#[repr(C)]
pub struct Struct__ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION {
pub ulFlags: DWORD,
pub ulEncodedAssemblyIdentityLength: DWORD,
pub ulManifestPathType: DWORD,
pub ulManifestPathLength: DWORD,
pub liManifestLastWriteTime: LARGE_INTEGER,
pub ulPolicyPathType: DWORD,
pub ulPolicyPathLength: DWORD,
pub liPolicyLastWriteTime: LARGE_INTEGER,
pub ulMetadataSatelliteRosterIndex: DWORD,
pub ulManifestVersionMajor: DWORD,
pub ulManifestVersionMinor: DWORD,
pub ulPolicyVersionMajor: DWORD,
pub ulPolicyVersionMinor: DWORD,
pub ulAssemblyDirectoryNameLength: DWORD,
pub lpAssemblyEncodedAssemblyIdentity: PCWSTR,
pub lpAssemblyManifestPath: PCWSTR,
pub lpAssemblyPolicyPath: PCWSTR,
pub lpAssemblyDirectoryName: PCWSTR,
pub ulFileCount: DWORD,
}
pub type ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION =
Struct__ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
pub type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION =
*mut Struct__ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
#[repr(C)]
pub struct Struct__ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION {
pub ulFlags: DWORD,
pub RunLevel: ACTCTX_REQUESTED_RUN_LEVEL,
pub UiAccess: DWORD,
}
pub type ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION =
Struct__ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION;
pub type PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION =
*mut Struct__ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION;
#[repr(C)]
pub struct Struct__COMPATIBILITY_CONTEXT_ELEMENT {
pub Id: GUID,
pub Type: ACTCTX_COMPATIBILITY_ELEMENT_TYPE,
}
pub type COMPATIBILITY_CONTEXT_ELEMENT =
Struct__COMPATIBILITY_CONTEXT_ELEMENT;
pub type PCOMPATIBILITY_CONTEXT_ELEMENT =
*mut Struct__COMPATIBILITY_CONTEXT_ELEMENT;
#[repr(C)]
pub struct Struct__ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION {
pub ElementCount: DWORD,
pub Elements: *mut COMPATIBILITY_CONTEXT_ELEMENT,
}
pub type ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION =
Struct__ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION;
pub type PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION =
*mut Struct__ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION;
#[repr(C)]
pub struct Struct__SUPPORTED_OS_INFO {
pub OsCount: WORD,
pub MitigationExist: WORD,
pub OsList: [WORD, ..4u],
}
pub type SUPPORTED_OS_INFO = Struct__SUPPORTED_OS_INFO;
pub type PSUPPORTED_OS_INFO = *mut Struct__SUPPORTED_OS_INFO;
#[repr(C)]
pub struct Struct__ACTIVATION_CONTEXT_DETAILED_INFORMATION {
pub dwFlags: DWORD,
pub ulFormatVersion: DWORD,
pub ulAssemblyCount: DWORD,
pub ulRootManifestPathType: DWORD,
pub ulRootManifestPathChars: DWORD,
pub ulRootConfigurationPathType: DWORD,
pub ulRootConfigurationPathChars: DWORD,
pub ulAppDirPathType: DWORD,
pub ulAppDirPathChars: DWORD,
pub lpRootManifestPath: PCWSTR,
pub lpRootConfigurationPath: PCWSTR,
pub lpAppDirPath: PCWSTR,
}
pub type ACTIVATION_CONTEXT_DETAILED_INFORMATION =
Struct__ACTIVATION_CONTEXT_DETAILED_INFORMATION;
pub type PACTIVATION_CONTEXT_DETAILED_INFORMATION =
*mut Struct__ACTIVATION_CONTEXT_DETAILED_INFORMATION;
pub type PCACTIVATION_CONTEXT_QUERY_INDEX =
*const Struct__ACTIVATION_CONTEXT_QUERY_INDEX;
pub type PCASSEMBLY_FILE_DETAILED_INFORMATION =
*const ASSEMBLY_FILE_DETAILED_INFORMATION;
pub type PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION =
*const Struct__ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
pub type PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION =
*const Struct__ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION;
pub type PCCOMPATIBILITY_CONTEXT_ELEMENT =
*const Struct__COMPATIBILITY_CONTEXT_ELEMENT;
pub type PCACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION =
*const Struct__ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION;
pub type PCACTIVATION_CONTEXT_DETAILED_INFORMATION =
*const Struct__ACTIVATION_CONTEXT_DETAILED_INFORMATION;
pub type RTL_VERIFIER_DLL_LOAD_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: PWSTR, arg2: PVOID, arg3: SIZE_T,
arg4: PVOID)>;
pub type RTL_VERIFIER_DLL_UNLOAD_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: PWSTR, arg2: PVOID, arg3: SIZE_T,
arg4: PVOID)>;
pub type RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK =
::std::option::Option<extern "C" fn(arg1: PVOID, arg2: SIZE_T)>;
#[repr(C)]
pub struct Struct__RTL_VERIFIER_THUNK_DESCRIPTOR {
pub ThunkName: PCHAR,
pub ThunkOldAddress: PVOID,
pub ThunkNewAddress: PVOID,
}
pub type RTL_VERIFIER_THUNK_DESCRIPTOR =
Struct__RTL_VERIFIER_THUNK_DESCRIPTOR;
pub type PRTL_VERIFIER_THUNK_DESCRIPTOR =
*mut Struct__RTL_VERIFIER_THUNK_DESCRIPTOR;
#[repr(C)]
pub struct Struct__RTL_VERIFIER_DLL_DESCRIPTOR {
pub DllName: PWCHAR,
pub DllFlags: DWORD,
pub DllAddress: PVOID,
pub DllThunks: PRTL_VERIFIER_THUNK_DESCRIPTOR,
}
pub type RTL_VERIFIER_DLL_DESCRIPTOR = Struct__RTL_VERIFIER_DLL_DESCRIPTOR;
pub type PRTL_VERIFIER_DLL_DESCRIPTOR =
*mut Struct__RTL_VERIFIER_DLL_DESCRIPTOR;
#[repr(C)]
pub struct Struct__RTL_VERIFIER_PROVIDER_DESCRIPTOR {
pub Length: DWORD,
pub ProviderDlls: PRTL_VERIFIER_DLL_DESCRIPTOR,
pub ProviderDllLoadCallback: RTL_VERIFIER_DLL_LOAD_CALLBACK,
pub ProviderDllUnloadCallback: RTL_VERIFIER_DLL_UNLOAD_CALLBACK,
pub VerifierImage: PWSTR,
pub VerifierFlags: DWORD,
pub VerifierDebug: DWORD,
pub RtlpGetStackTraceAddress: PVOID,
pub RtlpDebugPageHeapCreate: PVOID,
pub RtlpDebugPageHeapDestroy: PVOID,
pub ProviderNtdllHeapFreeCallback: RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK,
}
pub type RTL_VERIFIER_PROVIDER_DESCRIPTOR =
Struct__RTL_VERIFIER_PROVIDER_DESCRIPTOR;
pub type PRTL_VERIFIER_PROVIDER_DESCRIPTOR =
*mut Struct__RTL_VERIFIER_PROVIDER_DESCRIPTOR;
#[repr(C)]
pub struct Struct__HARDWARE_COUNTER_DATA {
pub Type: HARDWARE_COUNTER_TYPE,
pub Reserved: DWORD,
pub Value: DWORD64,
}
pub type HARDWARE_COUNTER_DATA = Struct__HARDWARE_COUNTER_DATA;
pub type PHARDWARE_COUNTER_DATA = *mut Struct__HARDWARE_COUNTER_DATA;
#[repr(C)]
pub struct Struct__PERFORMANCE_DATA {
pub Size: WORD,
pub Version: BYTE,
pub HwCountersCount: BYTE,
pub ContextSwitchCount: DWORD,
pub WaitReasonBitMap: DWORD64,
pub CycleTime: DWORD64,
pub RetryCount: DWORD,
pub Reserved: DWORD,
pub HwCounters: [HARDWARE_COUNTER_DATA, ..16u],
}
pub type PERFORMANCE_DATA = Struct__PERFORMANCE_DATA;
pub type PPERFORMANCE_DATA = *mut Struct__PERFORMANCE_DATA;
#[repr(C)]
pub struct Struct__EVENTLOGRECORD {
pub Length: DWORD,
pub Reserved: DWORD,
pub RecordNumber: DWORD,
pub TimeGenerated: DWORD,
pub TimeWritten: DWORD,
pub EventID: DWORD,
pub EventType: WORD,
pub NumStrings: WORD,
pub EventCategory: WORD,
pub ReservedFlags: WORD,
pub ClosingRecordNumber: DWORD,
pub StringOffset: DWORD,
pub UserSidLength: DWORD,
pub UserSidOffset: DWORD,
pub DataLength: DWORD,
pub DataOffset: DWORD,
}
pub type EVENTLOGRECORD = Struct__EVENTLOGRECORD;
pub type PEVENTLOGRECORD = *mut Struct__EVENTLOGRECORD;
#[repr(C)]
pub struct Struct__EVENTSFORLOGFILE {
pub ulSize: DWORD,
pub szLogicalLogFile: [WCHAR, ..256u],
pub ulNumRecords: DWORD,
pub pEventLogRecords: *mut EVENTLOGRECORD,
}
pub type EVENTSFORLOGFILE = Struct__EVENTSFORLOGFILE;
pub type PEVENTSFORLOGFILE = *mut Struct__EVENTSFORLOGFILE;
#[repr(C)]
pub struct Struct__PACKEDEVENTINFO {
pub ulSize: DWORD,
pub ulNumEventsForLogFile: DWORD,
pub ulOffsets: *mut DWORD,
}
pub type PACKEDEVENTINFO = Struct__PACKEDEVENTINFO;
pub type PPACKEDEVENTINFO = *mut Struct__PACKEDEVENTINFO;
pub type Enum__CM_SERVICE_NODE_TYPE = ::libc::c_uint;
pub const DriverType: ::libc::c_uint = 1;
pub const FileSystemType: ::libc::c_uint = 2;
pub const Win32ServiceOwnProcess: ::libc::c_uint = 16;
pub const Win32ServiceShareProcess: ::libc::c_uint = 32;
pub const AdapterType: ::libc::c_uint = 4;
pub const RecognizerType: ::libc::c_uint = 8;
pub type SERVICE_NODE_TYPE = Enum__CM_SERVICE_NODE_TYPE;
pub type Enum__CM_SERVICE_LOAD_TYPE = ::libc::c_uint;
pub const BootLoad: ::libc::c_uint = 0;
pub const SystemLoad: ::libc::c_uint = 1;
pub const AutoLoad: ::libc::c_uint = 2;
pub const DemandLoad: ::libc::c_uint = 3;
pub const DisableLoad: ::libc::c_uint = 4;
pub type SERVICE_LOAD_TYPE = Enum__CM_SERVICE_LOAD_TYPE;
pub type Enum__CM_ERROR_CONTROL_TYPE = ::libc::c_uint;
pub const IgnoreError: ::libc::c_uint = 0;
pub const NormalError: ::libc::c_uint = 1;
pub const SevereError: ::libc::c_uint = 2;
pub const CriticalError: ::libc::c_uint = 3;
pub type SERVICE_ERROR_TYPE = Enum__CM_ERROR_CONTROL_TYPE;
#[repr(C)]
pub struct Struct__TAPE_ERASE {
pub Type: DWORD,
pub Immediate: BOOLEAN,
}
pub type TAPE_ERASE = Struct__TAPE_ERASE;
pub type PTAPE_ERASE = *mut Struct__TAPE_ERASE;
#[repr(C)]
pub struct Struct__TAPE_PREPARE {
pub Operation: DWORD,
pub Immediate: BOOLEAN,
}
pub type TAPE_PREPARE = Struct__TAPE_PREPARE;
pub type PTAPE_PREPARE = *mut Struct__TAPE_PREPARE;
#[repr(C)]
pub struct Struct__TAPE_WRITE_MARKS {
pub Type: DWORD,
pub Count: DWORD,
pub Immediate: BOOLEAN,
}
pub type TAPE_WRITE_MARKS = Struct__TAPE_WRITE_MARKS;
pub type PTAPE_WRITE_MARKS = *mut Struct__TAPE_WRITE_MARKS;
#[repr(C)]
pub struct Struct__TAPE_GET_POSITION {
pub Type: DWORD,
pub Partition: DWORD,
pub Offset: LARGE_INTEGER,
}
pub type TAPE_GET_POSITION = Struct__TAPE_GET_POSITION;
pub type PTAPE_GET_POSITION = *mut Struct__TAPE_GET_POSITION;
#[repr(C)]
pub struct Struct__TAPE_SET_POSITION {
pub Method: DWORD,
pub Partition: DWORD,
pub Offset: LARGE_INTEGER,
pub Immediate: BOOLEAN,
}
pub type TAPE_SET_POSITION = Struct__TAPE_SET_POSITION;
pub type PTAPE_SET_POSITION = *mut Struct__TAPE_SET_POSITION;
#[repr(C)]
pub struct Struct__TAPE_GET_DRIVE_PARAMETERS {
pub ECC: BOOLEAN,
pub Compression: BOOLEAN,
pub DataPadding: BOOLEAN,
pub ReportSetmarks: BOOLEAN,
pub DefaultBlockSize: DWORD,
pub MaximumBlockSize: DWORD,
pub MinimumBlockSize: DWORD,
pub MaximumPartitionCount: DWORD,
pub FeaturesLow: DWORD,
pub FeaturesHigh: DWORD,
pub EOTWarningZoneSize: DWORD,
}
pub type TAPE_GET_DRIVE_PARAMETERS = Struct__TAPE_GET_DRIVE_PARAMETERS;
pub type PTAPE_GET_DRIVE_PARAMETERS = *mut Struct__TAPE_GET_DRIVE_PARAMETERS;
#[repr(C)]
pub struct Struct__TAPE_SET_DRIVE_PARAMETERS {
pub ECC: BOOLEAN,
pub Compression: BOOLEAN,
pub DataPadding: BOOLEAN,
pub ReportSetmarks: BOOLEAN,
pub EOTWarningZoneSize: DWORD,
}
pub type TAPE_SET_DRIVE_PARAMETERS = Struct__TAPE_SET_DRIVE_PARAMETERS;
pub type PTAPE_SET_DRIVE_PARAMETERS = *mut Struct__TAPE_SET_DRIVE_PARAMETERS;
#[repr(C)]
pub struct Struct__TAPE_GET_MEDIA_PARAMETERS {
pub Capacity: LARGE_INTEGER,
pub Remaining: LARGE_INTEGER,
pub BlockSize: DWORD,
pub PartitionCount: DWORD,
pub WriteProtected: BOOLEAN,
}
pub type TAPE_GET_MEDIA_PARAMETERS = Struct__TAPE_GET_MEDIA_PARAMETERS;
pub type PTAPE_GET_MEDIA_PARAMETERS = *mut Struct__TAPE_GET_MEDIA_PARAMETERS;
#[repr(C)]
pub struct Struct__TAPE_SET_MEDIA_PARAMETERS {
pub BlockSize: DWORD,
}
pub type TAPE_SET_MEDIA_PARAMETERS = Struct__TAPE_SET_MEDIA_PARAMETERS;
pub type PTAPE_SET_MEDIA_PARAMETERS = *mut Struct__TAPE_SET_MEDIA_PARAMETERS;
#[repr(C)]
pub struct Struct__TAPE_CREATE_PARTITION {
pub Method: DWORD,
pub Count: DWORD,
pub Size: DWORD,
}
pub type TAPE_CREATE_PARTITION = Struct__TAPE_CREATE_PARTITION;
pub type PTAPE_CREATE_PARTITION = *mut Struct__TAPE_CREATE_PARTITION;
#[repr(C)]
pub struct Struct__TAPE_WMI_OPERATIONS {
pub Method: DWORD,
pub DataBufferSize: DWORD,
pub DataBuffer: PVOID,
}
pub type TAPE_WMI_OPERATIONS = Struct__TAPE_WMI_OPERATIONS;
pub type PTAPE_WMI_OPERATIONS = *mut Struct__TAPE_WMI_OPERATIONS;
pub type Enum__TAPE_DRIVE_PROBLEM_TYPE = ::libc::c_uint;
pub const TapeDriveProblemNone: ::libc::c_uint = 0;
pub const TapeDriveReadWriteWarning: ::libc::c_uint = 1;
pub const TapeDriveReadWriteError: ::libc::c_uint = 2;
pub const TapeDriveReadWarning: ::libc::c_uint = 3;
pub const TapeDriveWriteWarning: ::libc::c_uint = 4;
pub const TapeDriveReadError: ::libc::c_uint = 5;
pub const TapeDriveWriteError: ::libc::c_uint = 6;
pub const TapeDriveHardwareError: ::libc::c_uint = 7;
pub const TapeDriveUnsupportedMedia: ::libc::c_uint = 8;
pub const TapeDriveScsiConnectionError: ::libc::c_uint = 9;
pub const TapeDriveTimetoClean: ::libc::c_uint = 10;
pub const TapeDriveCleanDriveNow: ::libc::c_uint = 11;
pub const TapeDriveMediaLifeExpired: ::libc::c_uint = 12;
pub const TapeDriveSnappedTape: ::libc::c_uint = 13;
pub type TAPE_DRIVE_PROBLEM_TYPE = Enum__TAPE_DRIVE_PROBLEM_TYPE;
pub type TP_VERSION = DWORD;
pub type PTP_VERSION = *mut DWORD;
pub enum Struct__TP_CALLBACK_INSTANCE { }
pub type TP_CALLBACK_INSTANCE = Struct__TP_CALLBACK_INSTANCE;
pub type PTP_CALLBACK_INSTANCE = *mut Struct__TP_CALLBACK_INSTANCE;
pub type PTP_SIMPLE_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: PTP_CALLBACK_INSTANCE, arg2: PVOID)>;
pub enum Struct__TP_POOL { }
pub type TP_POOL = Struct__TP_POOL;
pub type PTP_POOL = *mut Struct__TP_POOL;
pub type Enum__TP_CALLBACK_PRIORITY = ::libc::c_uint;
pub const TP_CALLBACK_PRIORITY_HIGH: ::libc::c_uint = 0;
pub const TP_CALLBACK_PRIORITY_NORMAL: ::libc::c_uint = 1;
pub const TP_CALLBACK_PRIORITY_LOW: ::libc::c_uint = 2;
pub const TP_CALLBACK_PRIORITY_INVALID: ::libc::c_uint = 3;
pub const TP_CALLBACK_PRIORITY_COUNT: ::libc::c_uint = 3;
pub type TP_CALLBACK_PRIORITY = Enum__TP_CALLBACK_PRIORITY;
#[repr(C)]
pub struct Struct__TP_POOL_STACK_INFORMATION {
pub StackReserve: SIZE_T,
pub StackCommit: SIZE_T,
}
pub type TP_POOL_STACK_INFORMATION = Struct__TP_POOL_STACK_INFORMATION;
pub type PTP_POOL_STACK_INFORMATION = *mut Struct__TP_POOL_STACK_INFORMATION;
pub enum Struct__TP_CLEANUP_GROUP { }
pub type TP_CLEANUP_GROUP = Struct__TP_CLEANUP_GROUP;
pub type PTP_CLEANUP_GROUP = *mut Struct__TP_CLEANUP_GROUP;
pub type PTP_CLEANUP_GROUP_CANCEL_CALLBACK =
::std::option::Option<extern "C" fn(arg1: PVOID, arg2: PVOID)>;
#[repr(C)]
pub struct Struct__TP_CALLBACK_ENVIRON_V1 {
pub Version: TP_VERSION,
pub Pool: PTP_POOL,
pub CleanupGroup: PTP_CLEANUP_GROUP,
pub CleanupGroupCancelCallback: PTP_CLEANUP_GROUP_CANCEL_CALLBACK,
pub RaceDll: PVOID,
pub ActivationContext: *mut Struct__ACTIVATION_CONTEXT,
pub FinalizationCallback: PTP_SIMPLE_CALLBACK,
pub u: Union_Unnamed126,
}
pub enum Struct__ACTIVATION_CONTEXT { }
#[repr(C)]
pub struct Union_Unnamed126 {
pub data: [u32, ..1u],
}
impl Union_Unnamed126 {
pub fn Flags(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn s(&mut self) -> *mut Struct_Unnamed127 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed127 {
pub LongFunction: DWORD,
pub Persistent: DWORD,
pub Private: DWORD,
}
pub type TP_CALLBACK_ENVIRON_V1 = Struct__TP_CALLBACK_ENVIRON_V1;
pub type TP_CALLBACK_ENVIRON = TP_CALLBACK_ENVIRON_V1;
pub type PTP_CALLBACK_ENVIRON = *mut TP_CALLBACK_ENVIRON_V1;
pub enum Struct__TP_WORK { }
pub type TP_WORK = Struct__TP_WORK;
pub type PTP_WORK = *mut Struct__TP_WORK;
pub type PTP_WORK_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: PTP_CALLBACK_INSTANCE, arg2: PVOID,
arg3: PTP_WORK)>;
pub enum Struct__TP_TIMER { }
pub type TP_TIMER = Struct__TP_TIMER;
pub type PTP_TIMER = *mut Struct__TP_TIMER;
pub type PTP_TIMER_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: PTP_CALLBACK_INSTANCE, arg2: PVOID,
arg3: PTP_TIMER)>;
pub type TP_WAIT_RESULT = DWORD;
pub enum Struct__TP_WAIT { }
pub type TP_WAIT = Struct__TP_WAIT;
pub type PTP_WAIT = *mut Struct__TP_WAIT;
pub type PTP_WAIT_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: PTP_CALLBACK_INSTANCE, arg2: PVOID,
arg3: PTP_WAIT, arg4: TP_WAIT_RESULT)>;
pub enum Struct__TP_IO { }
pub type TP_IO = Struct__TP_IO;
pub type PTP_IO = *mut Struct__TP_IO;
pub enum Struct__TEB { }
pub type CRM_PROTOCOL_ID = GUID;
pub type PCRM_PROTOCOL_ID = *mut GUID;
pub type NOTIFICATION_MASK = ULONG;
#[repr(C)]
pub struct Struct__TRANSACTION_NOTIFICATION {
pub TransactionKey: PVOID,
pub TransactionNotification: ULONG,
pub TmVirtualClock: LARGE_INTEGER,
pub ArgumentLength: ULONG,
}
pub type TRANSACTION_NOTIFICATION = Struct__TRANSACTION_NOTIFICATION;
pub type PTRANSACTION_NOTIFICATION = *mut Struct__TRANSACTION_NOTIFICATION;
#[repr(C)]
pub struct Struct__TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT {
pub EnlistmentId: GUID,
pub UOW: GUID,
}
pub type TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT =
Struct__TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT;
pub type PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT =
*mut Struct__TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT;
#[repr(C)]
pub struct Struct__TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT {
pub TmIdentity: GUID,
pub Flags: ULONG,
}
pub type TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT =
Struct__TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT;
pub type PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT =
*mut Struct__TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT;
pub type SAVEPOINT_ID = ULONG;
pub type PSAVEPOINT_ID = *mut ULONG;
#[repr(C)]
pub struct Struct__TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT {
pub SavepointId: SAVEPOINT_ID,
}
pub type TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT =
Struct__TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT;
pub type PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT =
*mut Struct__TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT;
#[repr(C)]
pub struct Struct__TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT {
pub PropagationCookie: ULONG,
pub UOW: GUID,
pub TmIdentity: GUID,
pub BufferLength: ULONG,
}
pub type TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT =
Struct__TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT;
pub type PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT =
*mut Struct__TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT;
#[repr(C)]
pub struct Struct__TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT {
pub MarshalCookie: ULONG,
pub UOW: GUID,
}
pub type TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT =
Struct__TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT;
pub type PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT =
*mut Struct__TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT;
pub type TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT =
TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT;
pub type PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT =
*mut TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT;
#[repr(C)]
pub struct Struct__KCRM_MARSHAL_HEADER {
pub VersionMajor: ULONG,
pub VersionMinor: ULONG,
pub NumProtocols: ULONG,
pub Unused: ULONG,
}
pub type KCRM_MARSHAL_HEADER = Struct__KCRM_MARSHAL_HEADER;
pub type PKCRM_MARSHAL_HEADER = *mut Struct__KCRM_MARSHAL_HEADER;
pub type PRKCRM_MARSHAL_HEADER = *mut Struct__KCRM_MARSHAL_HEADER;
#[repr(C)]
pub struct Struct__KCRM_TRANSACTION_BLOB {
pub UOW: GUID,
pub TmIdentity: GUID,
pub IsolationLevel: ULONG,
pub IsolationFlags: ULONG,
pub Timeout: ULONG,
pub Description: [WCHAR, ..64u],
}
pub type KCRM_TRANSACTION_BLOB = Struct__KCRM_TRANSACTION_BLOB;
pub type PKCRM_TRANSACTION_BLOB = *mut Struct__KCRM_TRANSACTION_BLOB;
pub type PRKCRM_TRANSACTION_BLOB = *mut Struct__KCRM_TRANSACTION_BLOB;
#[repr(C)]
pub struct Struct__KCRM_PROTOCOL_BLOB {
pub ProtocolId: CRM_PROTOCOL_ID,
pub StaticInfoLength: ULONG,
pub TransactionIdInfoLength: ULONG,
pub Unused1: ULONG,
pub Unused2: ULONG,
}
pub type KCRM_PROTOCOL_BLOB = Struct__KCRM_PROTOCOL_BLOB;
pub type PKCRM_PROTOCOL_BLOB = *mut Struct__KCRM_PROTOCOL_BLOB;
pub type PRKCRM_PROTOCOL_BLOB = *mut Struct__KCRM_PROTOCOL_BLOB;
pub type Enum__TRANSACTION_OUTCOME = ::libc::c_uint;
pub const TransactionOutcomeUndetermined: ::libc::c_uint = 1;
pub const TransactionOutcomeCommitted: ::libc::c_uint = 2;
pub const TransactionOutcomeAborted: ::libc::c_uint = 3;
pub type TRANSACTION_OUTCOME = Enum__TRANSACTION_OUTCOME;
pub type Enum__TRANSACTION_STATE = ::libc::c_uint;
pub const TransactionStateNormal: ::libc::c_uint = 1;
pub const TransactionStateIndoubt: ::libc::c_uint = 2;
pub const TransactionStateCommittedNotify: ::libc::c_uint = 3;
pub type TRANSACTION_STATE = Enum__TRANSACTION_STATE;
#[repr(C)]
pub struct Struct__TRANSACTION_BASIC_INFORMATION {
pub TransactionId: GUID,
pub State: DWORD,
pub Outcome: DWORD,
}
pub type TRANSACTION_BASIC_INFORMATION =
Struct__TRANSACTION_BASIC_INFORMATION;
pub type PTRANSACTION_BASIC_INFORMATION =
*mut Struct__TRANSACTION_BASIC_INFORMATION;
#[repr(C)]
pub struct Struct__TRANSACTIONMANAGER_BASIC_INFORMATION {
pub TmIdentity: GUID,
pub VirtualClock: LARGE_INTEGER,
}
pub type TRANSACTIONMANAGER_BASIC_INFORMATION =
Struct__TRANSACTIONMANAGER_BASIC_INFORMATION;
pub type PTRANSACTIONMANAGER_BASIC_INFORMATION =
*mut Struct__TRANSACTIONMANAGER_BASIC_INFORMATION;
#[repr(C)]
pub struct Struct__TRANSACTIONMANAGER_LOG_INFORMATION {
pub LogIdentity: GUID,
}
pub type TRANSACTIONMANAGER_LOG_INFORMATION =
Struct__TRANSACTIONMANAGER_LOG_INFORMATION;
pub type PTRANSACTIONMANAGER_LOG_INFORMATION =
*mut Struct__TRANSACTIONMANAGER_LOG_INFORMATION;
#[repr(C)]
pub struct Struct__TRANSACTIONMANAGER_LOGPATH_INFORMATION {
pub LogPathLength: DWORD,
pub LogPath: [WCHAR, ..1u],
}
pub type TRANSACTIONMANAGER_LOGPATH_INFORMATION =
Struct__TRANSACTIONMANAGER_LOGPATH_INFORMATION;
pub type PTRANSACTIONMANAGER_LOGPATH_INFORMATION =
*mut Struct__TRANSACTIONMANAGER_LOGPATH_INFORMATION;
#[repr(C)]
pub struct Struct__TRANSACTIONMANAGER_RECOVERY_INFORMATION {
pub LastRecoveredLsn: ULONGLONG,
}
pub type TRANSACTIONMANAGER_RECOVERY_INFORMATION =
Struct__TRANSACTIONMANAGER_RECOVERY_INFORMATION;
pub type PTRANSACTIONMANAGER_RECOVERY_INFORMATION =
*mut Struct__TRANSACTIONMANAGER_RECOVERY_INFORMATION;
#[repr(C)]
pub struct Struct__TRANSACTIONMANAGER_OLDEST_INFORMATION {
pub OldestTransactionGuid: GUID,
}
pub type TRANSACTIONMANAGER_OLDEST_INFORMATION =
Struct__TRANSACTIONMANAGER_OLDEST_INFORMATION;
pub type PTRANSACTIONMANAGER_OLDEST_INFORMATION =
*mut Struct__TRANSACTIONMANAGER_OLDEST_INFORMATION;
#[repr(C)]
pub struct Struct__TRANSACTION_PROPERTIES_INFORMATION {
pub IsolationLevel: DWORD,
pub IsolationFlags: DWORD,
pub Timeout: LARGE_INTEGER,
pub Outcome: DWORD,
pub DescriptionLength: DWORD,
pub Description: [WCHAR, ..1u],
}
pub type TRANSACTION_PROPERTIES_INFORMATION =
Struct__TRANSACTION_PROPERTIES_INFORMATION;
pub type PTRANSACTION_PROPERTIES_INFORMATION =
*mut Struct__TRANSACTION_PROPERTIES_INFORMATION;
#[repr(C)]
pub struct Struct__TRANSACTION_BIND_INFORMATION {
pub TmHandle: HANDLE,
}
pub type TRANSACTION_BIND_INFORMATION = Struct__TRANSACTION_BIND_INFORMATION;
pub type PTRANSACTION_BIND_INFORMATION =
*mut Struct__TRANSACTION_BIND_INFORMATION;
#[repr(C)]
pub struct Struct__TRANSACTION_ENLISTMENT_PAIR {
pub EnlistmentId: GUID,
pub ResourceManagerId: GUID,
}
pub type TRANSACTION_ENLISTMENT_PAIR = Struct__TRANSACTION_ENLISTMENT_PAIR;
pub type PTRANSACTION_ENLISTMENT_PAIR =
*mut Struct__TRANSACTION_ENLISTMENT_PAIR;
#[repr(C)]
pub struct Struct__TRANSACTION_ENLISTMENTS_INFORMATION {
pub NumberOfEnlistments: DWORD,
pub EnlistmentPair: [TRANSACTION_ENLISTMENT_PAIR, ..1u],
}
pub type TRANSACTION_ENLISTMENTS_INFORMATION =
Struct__TRANSACTION_ENLISTMENTS_INFORMATION;
pub type PTRANSACTION_ENLISTMENTS_INFORMATION =
*mut Struct__TRANSACTION_ENLISTMENTS_INFORMATION;
#[repr(C)]
pub struct Struct__TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION {
pub SuperiorEnlistmentPair: TRANSACTION_ENLISTMENT_PAIR,
}
pub type TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION =
Struct__TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION;
pub type PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION =
*mut Struct__TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION;
#[repr(C)]
pub struct Struct__RESOURCEMANAGER_BASIC_INFORMATION {
pub ResourceManagerId: GUID,
pub DescriptionLength: DWORD,
pub Description: [WCHAR, ..1u],
}
pub type RESOURCEMANAGER_BASIC_INFORMATION =
Struct__RESOURCEMANAGER_BASIC_INFORMATION;
pub type PRESOURCEMANAGER_BASIC_INFORMATION =
*mut Struct__RESOURCEMANAGER_BASIC_INFORMATION;
#[repr(C)]
pub struct Struct__RESOURCEMANAGER_COMPLETION_INFORMATION {
pub IoCompletionPortHandle: HANDLE,
pub CompletionKey: ULONG_PTR,
}
pub type RESOURCEMANAGER_COMPLETION_INFORMATION =
Struct__RESOURCEMANAGER_COMPLETION_INFORMATION;
pub type PRESOURCEMANAGER_COMPLETION_INFORMATION =
*mut Struct__RESOURCEMANAGER_COMPLETION_INFORMATION;
pub type Enum__TRANSACTION_INFORMATION_CLASS = ::libc::c_uint;
pub const TransactionBasicInformation: ::libc::c_uint = 0;
pub const TransactionPropertiesInformation: ::libc::c_uint = 1;
pub const TransactionEnlistmentInformation: ::libc::c_uint = 2;
pub const TransactionSuperiorEnlistmentInformation: ::libc::c_uint = 3;
pub const TransactionBindInformation: ::libc::c_uint = 4;
pub const TransactionDTCPrivateInformation: ::libc::c_uint = 5;
pub type TRANSACTION_INFORMATION_CLASS = Enum__TRANSACTION_INFORMATION_CLASS;
pub type Enum__TRANSACTIONMANAGER_INFORMATION_CLASS = ::libc::c_uint;
pub const TransactionManagerBasicInformation: ::libc::c_uint = 0;
pub const TransactionManagerLogInformation: ::libc::c_uint = 1;
pub const TransactionManagerLogPathInformation: ::libc::c_uint = 2;
pub const TransactionManagerOnlineProbeInformation: ::libc::c_uint = 3;
pub const TransactionManagerRecoveryInformation: ::libc::c_uint = 4;
pub const TransactionManagerOldestTransactionInformation: ::libc::c_uint = 5;
pub type TRANSACTIONMANAGER_INFORMATION_CLASS =
Enum__TRANSACTIONMANAGER_INFORMATION_CLASS;
pub type Enum__RESOURCEMANAGER_INFORMATION_CLASS = ::libc::c_uint;
pub const ResourceManagerBasicInformation: ::libc::c_uint = 0;
pub const ResourceManagerCompletionInformation: ::libc::c_uint = 1;
pub type RESOURCEMANAGER_INFORMATION_CLASS =
Enum__RESOURCEMANAGER_INFORMATION_CLASS;
#[repr(C)]
pub struct Struct__ENLISTMENT_BASIC_INFORMATION {
pub EnlistmentId: GUID,
pub TransactionId: GUID,
pub ResourceManagerId: GUID,
}
pub type ENLISTMENT_BASIC_INFORMATION = Struct__ENLISTMENT_BASIC_INFORMATION;
pub type PENLISTMENT_BASIC_INFORMATION =
*mut Struct__ENLISTMENT_BASIC_INFORMATION;
#[repr(C)]
pub struct Struct__ENLISTMENT_CRM_INFORMATION {
pub CrmTransactionManagerId: GUID,
pub CrmResourceManagerId: GUID,
pub CrmEnlistmentId: GUID,
}
pub type ENLISTMENT_CRM_INFORMATION = Struct__ENLISTMENT_CRM_INFORMATION;
pub type PENLISTMENT_CRM_INFORMATION =
*mut Struct__ENLISTMENT_CRM_INFORMATION;
pub type Enum__ENLISTMENT_INFORMATION_CLASS = ::libc::c_uint;
pub const EnlistmentBasicInformation: ::libc::c_uint = 0;
pub const EnlistmentRecoveryInformation: ::libc::c_uint = 1;
pub const EnlistmentCrmInformation: ::libc::c_uint = 2;
pub type ENLISTMENT_INFORMATION_CLASS = Enum__ENLISTMENT_INFORMATION_CLASS;
#[repr(C)]
pub struct Struct__TRANSACTION_LIST_ENTRY {
pub UOW: GUID,
}
pub type TRANSACTION_LIST_ENTRY = Struct__TRANSACTION_LIST_ENTRY;
pub type PTRANSACTION_LIST_ENTRY = *mut Struct__TRANSACTION_LIST_ENTRY;
#[repr(C)]
pub struct Struct__TRANSACTION_LIST_INFORMATION {
pub NumberOfTransactions: DWORD,
pub TransactionInformation: [TRANSACTION_LIST_ENTRY, ..1u],
}
pub type TRANSACTION_LIST_INFORMATION = Struct__TRANSACTION_LIST_INFORMATION;
pub type PTRANSACTION_LIST_INFORMATION =
*mut Struct__TRANSACTION_LIST_INFORMATION;
pub type Enum__KTMOBJECT_TYPE = ::libc::c_uint;
pub const KTMOBJECT_TRANSACTION: ::libc::c_uint = 0;
pub const KTMOBJECT_TRANSACTION_MANAGER: ::libc::c_uint = 1;
pub const KTMOBJECT_RESOURCE_MANAGER: ::libc::c_uint = 2;
pub const KTMOBJECT_ENLISTMENT: ::libc::c_uint = 3;
pub const KTMOBJECT_INVALID: ::libc::c_uint = 4;
pub type KTMOBJECT_TYPE = Enum__KTMOBJECT_TYPE;
pub type PKTMOBJECT_TYPE = *mut Enum__KTMOBJECT_TYPE;
#[repr(C)]
pub struct Struct__KTMOBJECT_CURSOR {
pub LastQuery: GUID,
pub ObjectIdCount: DWORD,
pub ObjectIds: [GUID, ..1u],
}
pub type KTMOBJECT_CURSOR = Struct__KTMOBJECT_CURSOR;
pub type PKTMOBJECT_CURSOR = *mut Struct__KTMOBJECT_CURSOR;
#[repr(C)]
pub struct Struct__WOW64_FLOATING_SAVE_AREA {
pub ControlWord: DWORD,
pub StatusWord: DWORD,
pub TagWord: DWORD,
pub ErrorOffset: DWORD,
pub ErrorSelector: DWORD,
pub DataOffset: DWORD,
pub DataSelector: DWORD,
pub RegisterArea: [BYTE, ..80u],
pub Cr0NpxState: DWORD,
}
pub type WOW64_FLOATING_SAVE_AREA = Struct__WOW64_FLOATING_SAVE_AREA;
pub type PWOW64_FLOATING_SAVE_AREA = *mut Struct__WOW64_FLOATING_SAVE_AREA;
#[repr(C)]
pub struct Struct__WOW64_CONTEXT {
pub ContextFlags: DWORD,
pub Dr0: DWORD,
pub Dr1: DWORD,
pub Dr2: DWORD,
pub Dr3: DWORD,
pub Dr6: DWORD,
pub Dr7: DWORD,
pub FloatSave: WOW64_FLOATING_SAVE_AREA,
pub SegGs: DWORD,
pub SegFs: DWORD,
pub SegEs: DWORD,
pub SegDs: DWORD,
pub Edi: DWORD,
pub Esi: DWORD,
pub Ebx: DWORD,
pub Edx: DWORD,
pub Ecx: DWORD,
pub Eax: DWORD,
pub Ebp: DWORD,
pub Eip: DWORD,
pub SegCs: DWORD,
pub EFlags: DWORD,
pub Esp: DWORD,
pub SegSs: DWORD,
pub ExtendedRegisters: [BYTE, ..512u],
}
pub type WOW64_CONTEXT = Struct__WOW64_CONTEXT;
pub type PWOW64_CONTEXT = *mut Struct__WOW64_CONTEXT;
#[repr(C)]
pub struct Struct__WOW64_LDT_ENTRY {
pub LimitLow: WORD,
pub BaseLow: WORD,
pub HighWord: Union_Unnamed128,
}
#[repr(C)]
pub struct Union_Unnamed128 {
pub data: [u32, ..1u],
}
impl Union_Unnamed128 {
pub fn Bytes(&mut self) -> *mut Struct_Unnamed129 {
unsafe { ::std::mem::transmute(self) }
}
pub fn Bits(&mut self) -> *mut Struct_Unnamed130 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed129 {
pub BaseMid: BYTE,
pub Flags1: BYTE,
pub Flags2: BYTE,
pub BaseHi: BYTE,
}
#[repr(C)]
pub struct Struct_Unnamed130 {
pub BaseMid: DWORD,
pub Type: DWORD,
pub Dpl: DWORD,
pub Pres: DWORD,
pub LimitHi: DWORD,
pub Sys: DWORD,
pub Reserved_0: DWORD,
pub Default_Big: DWORD,
pub Granularity: DWORD,
pub BaseHi: DWORD,
}
pub type WOW64_LDT_ENTRY = Struct__WOW64_LDT_ENTRY;
pub type PWOW64_LDT_ENTRY = *mut Struct__WOW64_LDT_ENTRY;
#[repr(C)]
pub struct Struct__WOW64_DESCRIPTOR_TABLE_ENTRY {
pub Selector: DWORD,
pub Descriptor: WOW64_LDT_ENTRY,
}
pub type WOW64_DESCRIPTOR_TABLE_ENTRY = Struct__WOW64_DESCRIPTOR_TABLE_ENTRY;
pub type PWOW64_DESCRIPTOR_TABLE_ENTRY =
*mut Struct__WOW64_DESCRIPTOR_TABLE_ENTRY;
pub type WPARAM = UINT_PTR;
pub type LPARAM = LONG_PTR;
pub type LRESULT = LONG_PTR;
pub type SPHANDLE = *mut HANDLE;
pub type LPHANDLE = *mut HANDLE;
pub type HGLOBAL = HANDLE;
pub type HLOCAL = HANDLE;
pub type GLOBALHANDLE = HANDLE;
pub type LOCALHANDLE = HANDLE;
pub type FARPROC = ::std::option::Option<extern "C" fn() -> INT_PTR>;
pub type NEARPROC = ::std::option::Option<extern "C" fn() -> INT_PTR>;
pub type PROC = ::std::option::Option<extern "C" fn() -> INT_PTR>;
pub type ATOM = WORD;
pub type HFILE = ::libc::c_int;
#[repr(C)]
pub struct Struct_HINSTANCE__ {
pub unused: ::libc::c_int,
}
pub type HINSTANCE = *mut Struct_HINSTANCE__;
#[repr(C)]
pub struct Struct_HKEY__ {
pub unused: ::libc::c_int,
}
pub type HKEY = *mut Struct_HKEY__;
pub type PHKEY = *mut HKEY;
#[repr(C)]
pub struct Struct_HKL__ {
pub unused: ::libc::c_int,
}
pub type HKL = *mut Struct_HKL__;
#[repr(C)]
pub struct Struct_HLSURF__ {
pub unused: ::libc::c_int,
}
pub type HLSURF = *mut Struct_HLSURF__;
#[repr(C)]
pub struct Struct_HMETAFILE__ {
pub unused: ::libc::c_int,
}
pub type HMETAFILE = *mut Struct_HMETAFILE__;
pub type HMODULE = HINSTANCE;
#[repr(C)]
pub struct Struct_HRGN__ {
pub unused: ::libc::c_int,
}
pub type HRGN = *mut Struct_HRGN__;
#[repr(C)]
pub struct Struct_HRSRC__ {
pub unused: ::libc::c_int,
}
pub type HRSRC = *mut Struct_HRSRC__;
#[repr(C)]
pub struct Struct_HSPRITE__ {
pub unused: ::libc::c_int,
}
pub type HSPRITE = *mut Struct_HSPRITE__;
#[repr(C)]
pub struct Struct_HSTR__ {
pub unused: ::libc::c_int,
}
pub type HSTR = *mut Struct_HSTR__;
#[repr(C)]
pub struct Struct_HTASK__ {
pub unused: ::libc::c_int,
}
pub type HTASK = *mut Struct_HTASK__;
#[repr(C)]
pub struct Struct_HWINSTA__ {
pub unused: ::libc::c_int,
}
pub type HWINSTA = *mut Struct_HWINSTA__;
#[repr(C)]
pub struct Struct__FILETIME {
pub dwLowDateTime: DWORD,
pub dwHighDateTime: DWORD,
}
pub type FILETIME = Struct__FILETIME;
pub type PFILETIME = *mut Struct__FILETIME;
pub type LPFILETIME = *mut Struct__FILETIME;
#[repr(C)]
pub struct Struct_HWND__ {
pub unused: ::libc::c_int,
}
pub type HWND = *mut Struct_HWND__;
#[repr(C)]
pub struct Struct_HHOOK__ {
pub unused: ::libc::c_int,
}
pub type HHOOK = *mut Struct_HHOOK__;
pub type HGDIOBJ = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct_HACCEL__ {
pub unused: ::libc::c_int,
}
pub type HACCEL = *mut Struct_HACCEL__;
#[repr(C)]
pub struct Struct_HBITMAP__ {
pub unused: ::libc::c_int,
}
pub type HBITMAP = *mut Struct_HBITMAP__;
#[repr(C)]
pub struct Struct_HBRUSH__ {
pub unused: ::libc::c_int,
}
pub type HBRUSH = *mut Struct_HBRUSH__;
#[repr(C)]
pub struct Struct_HCOLORSPACE__ {
pub unused: ::libc::c_int,
}
pub type HCOLORSPACE = *mut Struct_HCOLORSPACE__;
#[repr(C)]
pub struct Struct_HDC__ {
pub unused: ::libc::c_int,
}
pub type HDC = *mut Struct_HDC__;
#[repr(C)]
pub struct Struct_HGLRC__ {
pub unused: ::libc::c_int,
}
pub type HGLRC = *mut Struct_HGLRC__;
#[repr(C)]
pub struct Struct_HDESK__ {
pub unused: ::libc::c_int,
}
pub type HDESK = *mut Struct_HDESK__;
#[repr(C)]
pub struct Struct_HENHMETAFILE__ {
pub unused: ::libc::c_int,
}
pub type HENHMETAFILE = *mut Struct_HENHMETAFILE__;
#[repr(C)]
pub struct Struct_HFONT__ {
pub unused: ::libc::c_int,
}
pub type HFONT = *mut Struct_HFONT__;
#[repr(C)]
pub struct Struct_HICON__ {
pub unused: ::libc::c_int,
}
pub type HICON = *mut Struct_HICON__;
#[repr(C)]
pub struct Struct_HMENU__ {
pub unused: ::libc::c_int,
}
pub type HMENU = *mut Struct_HMENU__;
#[repr(C)]
pub struct Struct_HPALETTE__ {
pub unused: ::libc::c_int,
}
pub type HPALETTE = *mut Struct_HPALETTE__;
#[repr(C)]
pub struct Struct_HPEN__ {
pub unused: ::libc::c_int,
}
pub type HPEN = *mut Struct_HPEN__;
#[repr(C)]
pub struct Struct_HMONITOR__ {
pub unused: ::libc::c_int,
}
pub type HMONITOR = *mut Struct_HMONITOR__;
#[repr(C)]
pub struct Struct_HWINEVENTHOOK__ {
pub unused: ::libc::c_int,
}
pub type HWINEVENTHOOK = *mut Struct_HWINEVENTHOOK__;
pub type HCURSOR = HICON;
pub type COLORREF = DWORD;
#[repr(C)]
pub struct Struct_HUMPD__ {
pub unused: ::libc::c_int,
}
pub type HUMPD = *mut Struct_HUMPD__;
pub type LPCOLORREF = *mut DWORD;
#[repr(C)]
pub struct Struct_tagRECT {
pub left: LONG,
pub top: LONG,
pub right: LONG,
pub bottom: LONG,
}
pub type RECT = Struct_tagRECT;
pub type PRECT = *mut Struct_tagRECT;
pub type NPRECT = *mut Struct_tagRECT;
pub type LPRECT = *mut Struct_tagRECT;
pub type LPCRECT = *const RECT;
#[repr(C)]
pub struct Struct__RECTL {
pub left: LONG,
pub top: LONG,
pub right: LONG,
pub bottom: LONG,
}
pub type RECTL = Struct__RECTL;
pub type PRECTL = *mut Struct__RECTL;
pub type LPRECTL = *mut Struct__RECTL;
pub type LPCRECTL = *const RECTL;
#[repr(C)]
pub struct Struct_tagPOINT {
pub x: LONG,
pub y: LONG,
}
pub type POINT = Struct_tagPOINT;
pub type PPOINT = *mut Struct_tagPOINT;
pub type NPPOINT = *mut Struct_tagPOINT;
pub type LPPOINT = *mut Struct_tagPOINT;
#[repr(C)]
pub struct Struct__POINTL {
pub x: LONG,
pub y: LONG,
}
pub type POINTL = Struct__POINTL;
pub type PPOINTL = *mut Struct__POINTL;
#[repr(C)]
pub struct Struct_tagSIZE {
pub cx: LONG,
pub cy: LONG,
}
pub type SIZE = Struct_tagSIZE;
pub type PSIZE = *mut Struct_tagSIZE;
pub type LPSIZE = *mut Struct_tagSIZE;
pub type SIZEL = SIZE;
pub type PSIZEL = *mut SIZE;
pub type LPSIZEL = *mut SIZE;
#[repr(C)]
pub struct Struct_tagPOINTS {
pub x: SHORT,
pub y: SHORT,
}
pub type POINTS = Struct_tagPOINTS;
pub type PPOINTS = *mut Struct_tagPOINTS;
pub type LPPOINTS = *mut Struct_tagPOINTS;
#[repr(C)]
pub struct Struct__SECURITY_ATTRIBUTES {
pub nLength: DWORD,
pub lpSecurityDescriptor: LPVOID,
pub bInheritHandle: WINBOOL,
}
pub type SECURITY_ATTRIBUTES = Struct__SECURITY_ATTRIBUTES;
pub type PSECURITY_ATTRIBUTES = *mut Struct__SECURITY_ATTRIBUTES;
pub type LPSECURITY_ATTRIBUTES = *mut Struct__SECURITY_ATTRIBUTES;
#[repr(C)]
pub struct Struct__OVERLAPPED {
pub Internal: ULONG_PTR,
pub InternalHigh: ULONG_PTR,
pub hEvent: HANDLE,
}
#[repr(C)]
pub struct Union_Unnamed131 {
pub data: [u64, ..1u],
}
impl Union_Unnamed131 {
pub fn Pointer(&mut self) -> *mut PVOID {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed132 {
pub Offset: DWORD,
pub OffsetHigh: DWORD,
}
pub type OVERLAPPED = Struct__OVERLAPPED;
pub type LPOVERLAPPED = *mut Struct__OVERLAPPED;
#[repr(C)]
pub struct Struct__OVERLAPPED_ENTRY {
pub lpCompletionKey: ULONG_PTR,
pub lpOverlapped: LPOVERLAPPED,
pub Internal: ULONG_PTR,
pub dwNumberOfBytesTransferred: DWORD,
}
pub type OVERLAPPED_ENTRY = Struct__OVERLAPPED_ENTRY;
pub type LPOVERLAPPED_ENTRY = *mut Struct__OVERLAPPED_ENTRY;
#[repr(C)]
pub struct Struct__SYSTEMTIME {
pub wYear: WORD,
pub wMonth: WORD,
pub wDayOfWeek: WORD,
pub wDay: WORD,
pub wHour: WORD,
pub wMinute: WORD,
pub wSecond: WORD,
pub wMilliseconds: WORD,
}
pub type SYSTEMTIME = Struct__SYSTEMTIME;
pub type PSYSTEMTIME = *mut Struct__SYSTEMTIME;
pub type LPSYSTEMTIME = *mut Struct__SYSTEMTIME;
#[repr(C)]
pub struct Struct__WIN32_FIND_DATAA {
pub dwFileAttributes: DWORD,
pub ftCreationTime: FILETIME,
pub ftLastAccessTime: FILETIME,
pub ftLastWriteTime: FILETIME,
pub nFileSizeHigh: DWORD,
pub nFileSizeLow: DWORD,
pub dwReserved0: DWORD,
pub dwReserved1: DWORD,
pub cFileName: [CHAR, ..260u],
pub cAlternateFileName: [CHAR, ..14u],
}
pub type WIN32_FIND_DATAA = Struct__WIN32_FIND_DATAA;
pub type PWIN32_FIND_DATAA = *mut Struct__WIN32_FIND_DATAA;
pub type LPWIN32_FIND_DATAA = *mut Struct__WIN32_FIND_DATAA;
#[repr(C)]
pub struct Struct__WIN32_FIND_DATAW {
pub dwFileAttributes: DWORD,
pub ftCreationTime: FILETIME,
pub ftLastAccessTime: FILETIME,
pub ftLastWriteTime: FILETIME,
pub nFileSizeHigh: DWORD,
pub nFileSizeLow: DWORD,
pub dwReserved0: DWORD,
pub dwReserved1: DWORD,
pub cFileName: [WCHAR, ..260u],
pub cAlternateFileName: [WCHAR, ..14u],
}
pub type WIN32_FIND_DATAW = Struct__WIN32_FIND_DATAW;
pub type PWIN32_FIND_DATAW = *mut Struct__WIN32_FIND_DATAW;
pub type LPWIN32_FIND_DATAW = *mut Struct__WIN32_FIND_DATAW;
pub type WIN32_FIND_DATA = WIN32_FIND_DATAA;
pub type PWIN32_FIND_DATA = PWIN32_FIND_DATAA;
pub type LPWIN32_FIND_DATA = LPWIN32_FIND_DATAA;
pub type Enum__FINDEX_INFO_LEVELS = ::libc::c_uint;
pub const FindExInfoStandard: ::libc::c_uint = 0;
pub const FindExInfoBasic: ::libc::c_uint = 1;
pub const FindExInfoMaxInfoLevel: ::libc::c_uint = 2;
pub type FINDEX_INFO_LEVELS = Enum__FINDEX_INFO_LEVELS;
pub type Enum__FINDEX_SEARCH_OPS = ::libc::c_uint;
pub const FindExSearchNameMatch: ::libc::c_uint = 0;
pub const FindExSearchLimitToDirectories: ::libc::c_uint = 1;
pub const FindExSearchLimitToDevices: ::libc::c_uint = 2;
pub const FindExSearchMaxSearchOp: ::libc::c_uint = 3;
pub type FINDEX_SEARCH_OPS = Enum__FINDEX_SEARCH_OPS;
pub type Enum__GET_FILEEX_INFO_LEVELS = ::libc::c_uint;
pub const GetFileExInfoStandard: ::libc::c_uint = 0;
pub const GetFileExMaxInfoLevel: ::libc::c_uint = 1;
pub type GET_FILEEX_INFO_LEVELS = Enum__GET_FILEEX_INFO_LEVELS;
pub type CRITICAL_SECTION = RTL_CRITICAL_SECTION;
pub type PCRITICAL_SECTION = PRTL_CRITICAL_SECTION;
pub type LPCRITICAL_SECTION = PRTL_CRITICAL_SECTION;
pub type CRITICAL_SECTION_DEBUG = RTL_CRITICAL_SECTION_DEBUG;
pub type PCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG;
pub type LPCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG;
pub type LPOVERLAPPED_COMPLETION_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: DWORD, arg2: DWORD, arg3: LPOVERLAPPED)>;
#[repr(C)]
pub struct Struct__PROCESS_HEAP_ENTRY {
pub lpData: PVOID,
pub cbData: DWORD,
pub cbOverhead: BYTE,
pub iRegionIndex: BYTE,
pub wFlags: WORD,
}
#[repr(C)]
pub struct Union_Unnamed133 {
pub data: [u64, ..3u],
}
impl Union_Unnamed133 {
pub fn Block(&mut self) -> *mut Struct_Unnamed134 {
unsafe { ::std::mem::transmute(self) }
}
pub fn Region(&mut self) -> *mut Struct_Unnamed135 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed134 {
pub hMem: HANDLE,
pub dwReserved: [DWORD, ..3u],
}
#[repr(C)]
pub struct Struct_Unnamed135 {
pub dwCommittedSize: DWORD,
pub dwUnCommittedSize: DWORD,
pub lpFirstBlock: LPVOID,
pub lpLastBlock: LPVOID,
}
pub type PROCESS_HEAP_ENTRY = Struct__PROCESS_HEAP_ENTRY;
pub type LPPROCESS_HEAP_ENTRY = *mut Struct__PROCESS_HEAP_ENTRY;
pub type PPROCESS_HEAP_ENTRY = *mut Struct__PROCESS_HEAP_ENTRY;
#[repr(C)]
pub struct Struct__REASON_CONTEXT {
pub Version: ULONG,
pub Flags: DWORD,
pub Reason: Union_Unnamed136,
}
#[repr(C)]
pub struct Union_Unnamed136 {
pub data: [u64, ..3u],
}
impl Union_Unnamed136 {
pub fn Detailed(&mut self) -> *mut Struct_Unnamed137 {
unsafe { ::std::mem::transmute(self) }
}
pub fn SimpleReasonString(&mut self) -> *mut LPWSTR {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed137 {
pub LocalizedReasonModule: HMODULE,
pub LocalizedReasonId: ULONG,
pub ReasonStringCount: ULONG,
pub ReasonStrings: *mut LPWSTR,
}
pub type REASON_CONTEXT = Struct__REASON_CONTEXT;
pub type PREASON_CONTEXT = *mut Struct__REASON_CONTEXT;
pub type PTHREAD_START_ROUTINE =
::std::option::Option<extern "C" fn(arg1: LPVOID) -> DWORD>;
pub type LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
#[repr(C)]
pub struct Struct__EXCEPTION_DEBUG_INFO {
pub ExceptionRecord: EXCEPTION_RECORD,
pub dwFirstChance: DWORD,
}
pub type EXCEPTION_DEBUG_INFO = Struct__EXCEPTION_DEBUG_INFO;
pub type LPEXCEPTION_DEBUG_INFO = *mut Struct__EXCEPTION_DEBUG_INFO;
#[repr(C)]
pub struct Struct__CREATE_THREAD_DEBUG_INFO {
pub hThread: HANDLE,
pub lpThreadLocalBase: LPVOID,
pub lpStartAddress: LPTHREAD_START_ROUTINE,
}
pub type CREATE_THREAD_DEBUG_INFO = Struct__CREATE_THREAD_DEBUG_INFO;
pub type LPCREATE_THREAD_DEBUG_INFO = *mut Struct__CREATE_THREAD_DEBUG_INFO;
#[repr(C)]
pub struct Struct__CREATE_PROCESS_DEBUG_INFO {
pub hFile: HANDLE,
pub hProcess: HANDLE,
pub hThread: HANDLE,
pub lpBaseOfImage: LPVOID,
pub dwDebugInfoFileOffset: DWORD,
pub nDebugInfoSize: DWORD,
pub lpThreadLocalBase: LPVOID,
pub lpStartAddress: LPTHREAD_START_ROUTINE,
pub lpImageName: LPVOID,
pub fUnicode: WORD,
}
pub type CREATE_PROCESS_DEBUG_INFO = Struct__CREATE_PROCESS_DEBUG_INFO;
pub type LPCREATE_PROCESS_DEBUG_INFO = *mut Struct__CREATE_PROCESS_DEBUG_INFO;
#[repr(C)]
pub struct Struct__EXIT_THREAD_DEBUG_INFO {
pub dwExitCode: DWORD,
}
pub type EXIT_THREAD_DEBUG_INFO = Struct__EXIT_THREAD_DEBUG_INFO;
pub type LPEXIT_THREAD_DEBUG_INFO = *mut Struct__EXIT_THREAD_DEBUG_INFO;
#[repr(C)]
pub struct Struct__EXIT_PROCESS_DEBUG_INFO {
pub dwExitCode: DWORD,
}
pub type EXIT_PROCESS_DEBUG_INFO = Struct__EXIT_PROCESS_DEBUG_INFO;
pub type LPEXIT_PROCESS_DEBUG_INFO = *mut Struct__EXIT_PROCESS_DEBUG_INFO;
#[repr(C)]
pub struct Struct__LOAD_DLL_DEBUG_INFO {
pub hFile: HANDLE,
pub lpBaseOfDll: LPVOID,
pub dwDebugInfoFileOffset: DWORD,
pub nDebugInfoSize: DWORD,
pub lpImageName: LPVOID,
pub fUnicode: WORD,
}
pub type LOAD_DLL_DEBUG_INFO = Struct__LOAD_DLL_DEBUG_INFO;
pub type LPLOAD_DLL_DEBUG_INFO = *mut Struct__LOAD_DLL_DEBUG_INFO;
#[repr(C)]
pub struct Struct__UNLOAD_DLL_DEBUG_INFO {
pub lpBaseOfDll: LPVOID,
}
pub type UNLOAD_DLL_DEBUG_INFO = Struct__UNLOAD_DLL_DEBUG_INFO;
pub type LPUNLOAD_DLL_DEBUG_INFO = *mut Struct__UNLOAD_DLL_DEBUG_INFO;
#[repr(C)]
pub struct Struct__OUTPUT_DEBUG_STRING_INFO {
pub lpDebugStringData: LPSTR,
pub fUnicode: WORD,
pub nDebugStringLength: WORD,
}
pub type OUTPUT_DEBUG_STRING_INFO = Struct__OUTPUT_DEBUG_STRING_INFO;
pub type LPOUTPUT_DEBUG_STRING_INFO = *mut Struct__OUTPUT_DEBUG_STRING_INFO;
#[repr(C)]
pub struct Struct__RIP_INFO {
pub dwError: DWORD,
pub dwType: DWORD,
}
pub type RIP_INFO = Struct__RIP_INFO;
pub type LPRIP_INFO = *mut Struct__RIP_INFO;
#[repr(C)]
pub struct Struct__DEBUG_EVENT {
pub dwDebugEventCode: DWORD,
pub dwProcessId: DWORD,
pub dwThreadId: DWORD,
pub u: Union_Unnamed138,
}
#[repr(C)]
pub struct Union_Unnamed138 {
pub data: [u64, ..20u],
}
impl Union_Unnamed138 {
pub fn Exception(&mut self) -> *mut EXCEPTION_DEBUG_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn CreateThread(&mut self) -> *mut CREATE_THREAD_DEBUG_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn CreateProcessInfo(&mut self) -> *mut CREATE_PROCESS_DEBUG_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn ExitThread(&mut self) -> *mut EXIT_THREAD_DEBUG_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn ExitProcess(&mut self) -> *mut EXIT_PROCESS_DEBUG_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn LoadDll(&mut self) -> *mut LOAD_DLL_DEBUG_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn UnloadDll(&mut self) -> *mut UNLOAD_DLL_DEBUG_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn DebugString(&mut self) -> *mut OUTPUT_DEBUG_STRING_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn RipInfo(&mut self) -> *mut RIP_INFO {
unsafe { ::std::mem::transmute(self) }
}
}
pub type DEBUG_EVENT = Struct__DEBUG_EVENT;
pub type LPDEBUG_EVENT = *mut Struct__DEBUG_EVENT;
pub type LPCONTEXT = PCONTEXT;
pub enum Struct__CONTRACT_DESCRIPTION { }
pub type CONTRACT_DESCRIPTION = Struct__CONTRACT_DESCRIPTION;
pub enum Struct__BEM_REFERENCE { }
pub type BEM_REFERENCE = Struct__BEM_REFERENCE;
pub type BEM_FREE_INTERFACE_CALLBACK =
::std::option::Option<extern "C" fn(arg1: *mut ::libc::c_void)>;
pub type PTOP_LEVEL_EXCEPTION_FILTER =
::std::option::Option<extern "C" fn(arg1: *mut Struct__EXCEPTION_POINTERS)
-> LONG>;
pub type LPTOP_LEVEL_EXCEPTION_FILTER = PTOP_LEVEL_EXCEPTION_FILTER;
#[repr(C)]
pub struct Struct__BY_HANDLE_FILE_INFORMATION {
pub dwFileAttributes: DWORD,
pub ftCreationTime: FILETIME,
pub ftLastAccessTime: FILETIME,
pub ftLastWriteTime: FILETIME,
pub dwVolumeSerialNumber: DWORD,
pub nFileSizeHigh: DWORD,
pub nFileSizeLow: DWORD,
pub nNumberOfLinks: DWORD,
pub nFileIndexHigh: DWORD,
pub nFileIndexLow: DWORD,
}
pub type BY_HANDLE_FILE_INFORMATION = Struct__BY_HANDLE_FILE_INFORMATION;
pub type PBY_HANDLE_FILE_INFORMATION =
*mut Struct__BY_HANDLE_FILE_INFORMATION;
pub type LPBY_HANDLE_FILE_INFORMATION =
*mut Struct__BY_HANDLE_FILE_INFORMATION;
#[repr(C)]
pub struct Struct__WIN32_FILE_ATTRIBUTE_DATA {
pub dwFileAttributes: DWORD,
pub ftCreationTime: FILETIME,
pub ftLastAccessTime: FILETIME,
pub ftLastWriteTime: FILETIME,
pub nFileSizeHigh: DWORD,
pub nFileSizeLow: DWORD,
}
pub type WIN32_FILE_ATTRIBUTE_DATA = Struct__WIN32_FILE_ATTRIBUTE_DATA;
pub type LPWIN32_FILE_ATTRIBUTE_DATA = *mut Struct__WIN32_FILE_ATTRIBUTE_DATA;
#[repr(C)]
pub struct Struct__HEAP_SUMMARY {
pub cb: DWORD,
pub cbAllocated: SIZE_T,
pub cbCommitted: SIZE_T,
pub cbReserved: SIZE_T,
pub cbMaxReserve: SIZE_T,
}
pub type HEAP_SUMMARY = Struct__HEAP_SUMMARY;
pub type PHEAP_SUMMARY = *mut Struct__HEAP_SUMMARY;
pub type LPHEAP_SUMMARY = PHEAP_SUMMARY;
#[repr(C)]
pub struct Struct_tagENUMUILANG {
pub NumOfEnumUILang: ULONG,
pub SizeOfEnumUIBuffer: ULONG,
pub pEnumUIBuffer: *mut LANGID,
}
pub type ENUMUILANG = Struct_tagENUMUILANG;
pub type PENUMUILANG = *mut Struct_tagENUMUILANG;
pub type ENUMRESLANGPROCA =
::std::option::Option<extern "C" fn
(arg1: HMODULE, arg2: LPCSTR, arg3: LPCSTR,
arg4: WORD, arg5: LONG_PTR) -> WINBOOL>;
pub type ENUMRESLANGPROCW =
::std::option::Option<extern "C" fn
(arg1: HMODULE, arg2: LPCWSTR, arg3: LPCWSTR,
arg4: WORD, arg5: LONG_PTR) -> WINBOOL>;
pub type ENUMRESNAMEPROCA =
::std::option::Option<extern "C" fn
(arg1: HMODULE, arg2: LPCSTR, arg3: LPSTR,
arg4: LONG_PTR) -> WINBOOL>;
pub type ENUMRESNAMEPROCW =
::std::option::Option<extern "C" fn
(arg1: HMODULE, arg2: LPCWSTR, arg3: LPWSTR,
arg4: LONG_PTR) -> WINBOOL>;
pub type ENUMRESTYPEPROCA =
::std::option::Option<extern "C" fn
(arg1: HMODULE, arg2: LPSTR, arg3: LONG_PTR)
-> WINBOOL>;
pub type ENUMRESTYPEPROCW =
::std::option::Option<extern "C" fn
(arg1: HMODULE, arg2: LPWSTR, arg3: LONG_PTR)
-> WINBOOL>;
pub type PGET_MODULE_HANDLE_EXA =
::std::option::Option<extern "C" fn
(arg1: DWORD, arg2: LPCSTR, arg3: *mut HMODULE)
-> WINBOOL>;
pub type PGET_MODULE_HANDLE_EXW =
::std::option::Option<extern "C" fn
(arg1: DWORD, arg2: LPCWSTR, arg3: *mut HMODULE)
-> WINBOOL>;
pub type DLL_DIRECTORY_COOKIE = PVOID;
pub type PDLL_DIRECTORY_COOKIE = *mut PVOID;
pub type Enum__MEMORY_RESOURCE_NOTIFICATION_TYPE = ::libc::c_uint;
pub const LowMemoryResourceNotification: ::libc::c_uint = 0;
pub const HighMemoryResourceNotification: ::libc::c_uint = 1;
pub type MEMORY_RESOURCE_NOTIFICATION_TYPE =
Enum__MEMORY_RESOURCE_NOTIFICATION_TYPE;
#[repr(C)]
pub struct Struct__PROCESS_INFORMATION {
pub hProcess: HANDLE,
pub hThread: HANDLE,
pub dwProcessId: DWORD,
pub dwThreadId: DWORD,
}
pub type PROCESS_INFORMATION = Struct__PROCESS_INFORMATION;
pub type PPROCESS_INFORMATION = *mut Struct__PROCESS_INFORMATION;
pub type LPPROCESS_INFORMATION = *mut Struct__PROCESS_INFORMATION;
#[repr(C)]
pub struct Struct__STARTUPINFOA {
pub cb: DWORD,
pub lpReserved: LPSTR,
pub lpDesktop: LPSTR,
pub lpTitle: LPSTR,
pub dwX: DWORD,
pub dwY: DWORD,
pub dwXSize: DWORD,
pub dwYSize: DWORD,
pub dwXCountChars: DWORD,
pub dwYCountChars: DWORD,
pub dwFillAttribute: DWORD,
pub dwFlags: DWORD,
pub wShowWindow: WORD,
pub cbReserved2: WORD,
pub lpReserved2: LPBYTE,
pub hStdInput: HANDLE,
pub hStdOutput: HANDLE,
pub hStdError: HANDLE,
}
pub type STARTUPINFOA = Struct__STARTUPINFOA;
pub type LPSTARTUPINFOA = *mut Struct__STARTUPINFOA;
#[repr(C)]
pub struct Struct__STARTUPINFOW {
pub cb: DWORD,
pub lpReserved: LPWSTR,
pub lpDesktop: LPWSTR,
pub lpTitle: LPWSTR,
pub dwX: DWORD,
pub dwY: DWORD,
pub dwXSize: DWORD,
pub dwYSize: DWORD,
pub dwXCountChars: DWORD,
pub dwYCountChars: DWORD,
pub dwFillAttribute: DWORD,
pub dwFlags: DWORD,
pub wShowWindow: WORD,
pub cbReserved2: WORD,
pub lpReserved2: LPBYTE,
pub hStdInput: HANDLE,
pub hStdOutput: HANDLE,
pub hStdError: HANDLE,
}
pub type STARTUPINFOW = Struct__STARTUPINFOW;
pub type LPSTARTUPINFOW = *mut Struct__STARTUPINFOW;
pub type STARTUPINFO = STARTUPINFOA;
pub type LPSTARTUPINFO = LPSTARTUPINFOA;
pub enum Struct__PROC_THREAD_ATTRIBUTE_LIST { }
pub type PPROC_THREAD_ATTRIBUTE_LIST =
*mut Struct__PROC_THREAD_ATTRIBUTE_LIST;
pub type LPPROC_THREAD_ATTRIBUTE_LIST =
*mut Struct__PROC_THREAD_ATTRIBUTE_LIST;
pub type SRWLOCK = RTL_SRWLOCK;
pub type PSRWLOCK = *mut RTL_SRWLOCK;
pub type INIT_ONCE = RTL_RUN_ONCE;
pub type PINIT_ONCE = PRTL_RUN_ONCE;
pub type LPINIT_ONCE = PRTL_RUN_ONCE;
pub type PINIT_ONCE_FN =
::std::option::Option<extern "C" fn
(arg1: PINIT_ONCE, arg2: PVOID,
arg3: *mut PVOID) -> WINBOOL>;
pub type CONDITION_VARIABLE = RTL_CONDITION_VARIABLE;
pub type PCONDITION_VARIABLE = *mut RTL_CONDITION_VARIABLE;
pub type PTIMERAPCROUTINE =
::std::option::Option<extern "C" fn
(arg1: LPVOID, arg2: DWORD, arg3: DWORD)>;
pub type SYNCHRONIZATION_BARRIER = RTL_BARRIER;
pub type PSYNCHRONIZATION_BARRIER = PRTL_BARRIER;
pub type LPSYNCHRONIZATION_BARRIER = PRTL_BARRIER;
#[repr(C)]
pub struct Struct__SYSTEM_INFO {
pub dwPageSize: DWORD,
pub lpMinimumApplicationAddress: LPVOID,
pub lpMaximumApplicationAddress: LPVOID,
pub dwActiveProcessorMask: DWORD_PTR,
pub dwNumberOfProcessors: DWORD,
pub dwProcessorType: DWORD,
pub dwAllocationGranularity: DWORD,
pub wProcessorLevel: WORD,
pub wProcessorRevision: WORD,
}
#[repr(C)]
pub struct Union_Unnamed139 {
pub data: [u32, ..1u],
}
impl Union_Unnamed139 {
pub fn dwOemId(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed140 {
pub wProcessorArchitecture: WORD,
pub wReserved: WORD,
}
pub type SYSTEM_INFO = Struct__SYSTEM_INFO;
pub type LPSYSTEM_INFO = *mut Struct__SYSTEM_INFO;
#[repr(C)]
pub struct Struct__MEMORYSTATUSEX {
pub dwLength: DWORD,
pub dwMemoryLoad: DWORD,
pub ullTotalPhys: DWORDLONG,
pub ullAvailPhys: DWORDLONG,
pub ullTotalPageFile: DWORDLONG,
pub ullAvailPageFile: DWORDLONG,
pub ullTotalVirtual: DWORDLONG,
pub ullAvailVirtual: DWORDLONG,
pub ullAvailExtendedVirtual: DWORDLONG,
}
pub type MEMORYSTATUSEX = Struct__MEMORYSTATUSEX;
pub type LPMEMORYSTATUSEX = *mut Struct__MEMORYSTATUSEX;
pub type Enum__COMPUTER_NAME_FORMAT = ::libc::c_uint;
pub const ComputerNameNetBIOS: ::libc::c_uint = 0;
pub const ComputerNameDnsHostname: ::libc::c_uint = 1;
pub const ComputerNameDnsDomain: ::libc::c_uint = 2;
pub const ComputerNameDnsFullyQualified: ::libc::c_uint = 3;
pub const ComputerNamePhysicalNetBIOS: ::libc::c_uint = 4;
pub const ComputerNamePhysicalDnsHostname: ::libc::c_uint = 5;
pub const ComputerNamePhysicalDnsDomain: ::libc::c_uint = 6;
pub const ComputerNamePhysicalDnsFullyQualified: ::libc::c_uint = 7;
pub const ComputerNameMax: ::libc::c_uint = 8;
pub type COMPUTER_NAME_FORMAT = Enum__COMPUTER_NAME_FORMAT;
pub type PTP_WIN32_IO_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: PTP_CALLBACK_INSTANCE, arg2: PVOID,
arg3: PVOID, arg4: ULONG, arg5: ULONG_PTR,
arg6: PTP_IO)>;
pub type PFIBER_START_ROUTINE =
::std::option::Option<extern "C" fn(arg1: LPVOID)>;
pub type LPFIBER_START_ROUTINE = PFIBER_START_ROUTINE;
pub type LPLDT_ENTRY = LPVOID;
#[repr(C)]
pub struct Struct__COMMPROP {
pub wPacketLength: WORD,
pub wPacketVersion: WORD,
pub dwServiceMask: DWORD,
pub dwReserved1: DWORD,
pub dwMaxTxQueue: DWORD,
pub dwMaxRxQueue: DWORD,
pub dwMaxBaud: DWORD,
pub dwProvSubType: DWORD,
pub dwProvCapabilities: DWORD,
pub dwSettableParams: DWORD,
pub dwSettableBaud: DWORD,
pub wSettableData: WORD,
pub wSettableStopParity: WORD,
pub dwCurrentTxQueue: DWORD,
pub dwCurrentRxQueue: DWORD,
pub dwProvSpec1: DWORD,
pub dwProvSpec2: DWORD,
pub wcProvChar: [WCHAR, ..1u],
}
pub type COMMPROP = Struct__COMMPROP;
pub type LPCOMMPROP = *mut Struct__COMMPROP;
#[repr(C)]
pub struct Struct__COMSTAT {
pub fCtsHold: DWORD,
pub fDsrHold: DWORD,
pub fRlsdHold: DWORD,
pub fXoffHold: DWORD,
pub fXoffSent: DWORD,
pub fEof: DWORD,
pub fTxim: DWORD,
pub fReserved: DWORD,
pub cbInQue: DWORD,
pub cbOutQue: DWORD,
}
pub type COMSTAT = Struct__COMSTAT;
pub type LPCOMSTAT = *mut Struct__COMSTAT;
#[repr(C)]
pub struct Struct__DCB {
pub DCBlength: DWORD,
pub BaudRate: DWORD,
pub fBinary: DWORD,
pub fParity: DWORD,
pub fOutxCtsFlow: DWORD,
pub fOutxDsrFlow: DWORD,
pub fDtrControl: DWORD,
pub fDsrSensitivity: DWORD,
pub fTXContinueOnXoff: DWORD,
pub fOutX: DWORD,
pub fInX: DWORD,
pub fErrorChar: DWORD,
pub fNull: DWORD,
pub fRtsControl: DWORD,
pub fAbortOnError: DWORD,
pub fDummy2: DWORD,
pub wReserved: WORD,
pub XonLim: WORD,
pub XoffLim: WORD,
pub ByteSize: BYTE,
pub Parity: BYTE,
pub StopBits: BYTE,
pub XonChar: ::libc::c_char,
pub XoffChar: ::libc::c_char,
pub ErrorChar: ::libc::c_char,
pub EofChar: ::libc::c_char,
pub EvtChar: ::libc::c_char,
pub wReserved1: WORD,
}
pub type DCB = Struct__DCB;
pub type LPDCB = *mut Struct__DCB;
#[repr(C)]
pub struct Struct__COMMTIMEOUTS {
pub ReadIntervalTimeout: DWORD,
pub ReadTotalTimeoutMultiplier: DWORD,
pub ReadTotalTimeoutConstant: DWORD,
pub WriteTotalTimeoutMultiplier: DWORD,
pub WriteTotalTimeoutConstant: DWORD,
}
pub type COMMTIMEOUTS = Struct__COMMTIMEOUTS;
pub type LPCOMMTIMEOUTS = *mut Struct__COMMTIMEOUTS;
#[repr(C)]
pub struct Struct__COMMCONFIG {
pub dwSize: DWORD,
pub wVersion: WORD,
pub wReserved: WORD,
pub dcb: DCB,
pub dwProviderSubType: DWORD,
pub dwProviderOffset: DWORD,
pub dwProviderSize: DWORD,
pub wcProviderData: [WCHAR, ..1u],
}
pub type COMMCONFIG = Struct__COMMCONFIG;
pub type LPCOMMCONFIG = *mut Struct__COMMCONFIG;
#[repr(C)]
pub struct Struct__MEMORYSTATUS {
pub dwLength: DWORD,
pub dwMemoryLoad: DWORD,
pub dwTotalPhys: SIZE_T,
pub dwAvailPhys: SIZE_T,
pub dwTotalPageFile: SIZE_T,
pub dwAvailPageFile: SIZE_T,
pub dwTotalVirtual: SIZE_T,
pub dwAvailVirtual: SIZE_T,
}
pub type MEMORYSTATUS = Struct__MEMORYSTATUS;
pub type LPMEMORYSTATUS = *mut Struct__MEMORYSTATUS;
#[repr(C)]
pub struct Struct__JIT_DEBUG_INFO {
pub dwSize: DWORD,
pub dwProcessorArchitecture: DWORD,
pub dwThreadID: DWORD,
pub dwReserved0: DWORD,
pub lpExceptionAddress: ULONG64,
pub lpExceptionRecord: ULONG64,
pub lpContextRecord: ULONG64,
}
pub type JIT_DEBUG_INFO = Struct__JIT_DEBUG_INFO;
pub type LPJIT_DEBUG_INFO = *mut Struct__JIT_DEBUG_INFO;
pub type JIT_DEBUG_INFO32 = JIT_DEBUG_INFO;
pub type LPJIT_DEBUG_INFO32 = *mut JIT_DEBUG_INFO;
pub type JIT_DEBUG_INFO64 = JIT_DEBUG_INFO;
pub type LPJIT_DEBUG_INFO64 = *mut JIT_DEBUG_INFO;
pub type LPEXCEPTION_RECORD = PEXCEPTION_RECORD;
pub type LPEXCEPTION_POINTERS = PEXCEPTION_POINTERS;
#[repr(C)]
pub struct Struct__OFSTRUCT {
pub cBytes: BYTE,
pub fFixedDisk: BYTE,
pub nErrCode: WORD,
pub Reserved1: WORD,
pub Reserved2: WORD,
pub szPathName: [CHAR, ..128u],
}
pub type OFSTRUCT = Struct__OFSTRUCT;
pub type LPOFSTRUCT = *mut Struct__OFSTRUCT;
pub type POFSTRUCT = *mut Struct__OFSTRUCT;
pub type Enum__THREAD_INFORMATION_CLASS = ::libc::c_uint;
pub const ThreadMemoryPriority: ::libc::c_uint = 0;
pub const ThreadAbsoluteCpuPriority: ::libc::c_uint = 1;
pub const ThreadInformationClassMax: ::libc::c_uint = 2;
pub type THREAD_INFORMATION_CLASS = Enum__THREAD_INFORMATION_CLASS;
pub type Enum__PROCESS_INFORMATION_CLASS = ::libc::c_uint;
pub const ProcessMemoryPriority: ::libc::c_uint = 0;
pub const ProcessInformationClassMax: ::libc::c_uint = 1;
pub type PROCESS_INFORMATION_CLASS = Enum__PROCESS_INFORMATION_CLASS;
pub type Enum__DEP_SYSTEM_POLICY_TYPE = ::libc::c_uint;
pub const DEPPolicyAlwaysOff: ::libc::c_uint = 0;
pub const DEPPolicyAlwaysOn: ::libc::c_uint = 1;
pub const DEPPolicyOptIn: ::libc::c_uint = 2;
pub const DEPPolicyOptOut: ::libc::c_uint = 3;
pub const DEPTotalPolicyCount: ::libc::c_uint = 4;
pub type DEP_SYSTEM_POLICY_TYPE = Enum__DEP_SYSTEM_POLICY_TYPE;
pub type PFE_EXPORT_FUNC =
::std::option::Option<extern "C" fn(arg1: PBYTE, arg2: PVOID, arg3: ULONG)
-> DWORD>;
pub type PFE_IMPORT_FUNC =
::std::option::Option<extern "C" fn
(arg1: PBYTE, arg2: PVOID, arg3: PULONG)
-> DWORD>;
#[repr(C)]
pub struct Struct__WIN32_STREAM_ID {
pub dwStreamId: DWORD,
pub dwStreamAttributes: DWORD,
pub Size: LARGE_INTEGER,
pub dwStreamNameSize: DWORD,
pub cStreamName: [WCHAR, ..1u],
}
pub type WIN32_STREAM_ID = Struct__WIN32_STREAM_ID;
pub type LPWIN32_STREAM_ID = *mut Struct__WIN32_STREAM_ID;
pub type PGET_SYSTEM_WOW64_DIRECTORY_A =
::std::option::Option<extern "C" fn(arg1: LPSTR, arg2: UINT) -> UINT>;
pub type PGET_SYSTEM_WOW64_DIRECTORY_W =
::std::option::Option<extern "C" fn(arg1: LPWSTR, arg2: UINT) -> UINT>;
pub type LPPROGRESS_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: LARGE_INTEGER, arg2: LARGE_INTEGER,
arg3: LARGE_INTEGER, arg4: LARGE_INTEGER,
arg5: DWORD, arg6: DWORD, arg7: HANDLE,
arg8: HANDLE, arg9: LPVOID) -> DWORD>;
pub type Enum__STREAM_INFO_LEVELS = ::libc::c_uint;
pub const FindStreamInfoStandard: ::libc::c_uint = 0;
pub const FindStreamInfoMaxInfoLevel: ::libc::c_uint = 1;
pub type STREAM_INFO_LEVELS = Enum__STREAM_INFO_LEVELS;
#[repr(C)]
pub struct Struct__WIN32_FIND_STREAM_DATA {
pub StreamSize: LARGE_INTEGER,
pub cStreamName: [WCHAR, ..296u],
}
pub type WIN32_FIND_STREAM_DATA = Struct__WIN32_FIND_STREAM_DATA;
pub type PWIN32_FIND_STREAM_DATA = *mut Struct__WIN32_FIND_STREAM_DATA;
#[repr(C)]
pub struct Struct__EVENTLOG_FULL_INFORMATION {
pub dwFull: DWORD,
}
pub type EVENTLOG_FULL_INFORMATION = Struct__EVENTLOG_FULL_INFORMATION;
pub type LPEVENTLOG_FULL_INFORMATION = *mut Struct__EVENTLOG_FULL_INFORMATION;
#[repr(C)]
pub struct Struct_tagHW_PROFILE_INFOA {
pub dwDockInfo: DWORD,
pub szHwProfileGuid: [CHAR, ..39u],
pub szHwProfileName: [CHAR, ..80u],
}
pub type HW_PROFILE_INFOA = Struct_tagHW_PROFILE_INFOA;
pub type LPHW_PROFILE_INFOA = *mut Struct_tagHW_PROFILE_INFOA;
#[repr(C)]
pub struct Struct_tagHW_PROFILE_INFOW {
pub dwDockInfo: DWORD,
pub szHwProfileGuid: [WCHAR, ..39u],
pub szHwProfileName: [WCHAR, ..80u],
}
pub type HW_PROFILE_INFOW = Struct_tagHW_PROFILE_INFOW;
pub type LPHW_PROFILE_INFOW = *mut Struct_tagHW_PROFILE_INFOW;
pub type HW_PROFILE_INFO = HW_PROFILE_INFOA;
pub type LPHW_PROFILE_INFO = LPHW_PROFILE_INFOA;
#[repr(C)]
pub struct Struct__TIME_ZONE_INFORMATION {
pub Bias: LONG,
pub StandardName: [WCHAR, ..32u],
pub StandardDate: SYSTEMTIME,
pub StandardBias: LONG,
pub DaylightName: [WCHAR, ..32u],
pub DaylightDate: SYSTEMTIME,
pub DaylightBias: LONG,
}
pub type TIME_ZONE_INFORMATION = Struct__TIME_ZONE_INFORMATION;
pub type PTIME_ZONE_INFORMATION = *mut Struct__TIME_ZONE_INFORMATION;
pub type LPTIME_ZONE_INFORMATION = *mut Struct__TIME_ZONE_INFORMATION;
#[repr(C)]
pub struct Struct__TIME_DYNAMIC_ZONE_INFORMATION {
pub Bias: LONG,
pub StandardName: [WCHAR, ..32u],
pub StandardDate: SYSTEMTIME,
pub StandardBias: LONG,
pub DaylightName: [WCHAR, ..32u],
pub DaylightDate: SYSTEMTIME,
pub DaylightBias: LONG,
pub TimeZoneKeyName: [WCHAR, ..128u],
pub DynamicDaylightTimeDisabled: BOOLEAN,
}
pub type DYNAMIC_TIME_ZONE_INFORMATION =
Struct__TIME_DYNAMIC_ZONE_INFORMATION;
pub type PDYNAMIC_TIME_ZONE_INFORMATION =
*mut Struct__TIME_DYNAMIC_ZONE_INFORMATION;
#[repr(C)]
pub struct Struct__SYSTEM_POWER_STATUS {
pub ACLineStatus: BYTE,
pub BatteryFlag: BYTE,
pub BatteryLifePercent: BYTE,
pub Reserved1: BYTE,
pub BatteryLifeTime: DWORD,
pub BatteryFullLifeTime: DWORD,
}
pub type SYSTEM_POWER_STATUS = Struct__SYSTEM_POWER_STATUS;
pub type LPSYSTEM_POWER_STATUS = *mut Struct__SYSTEM_POWER_STATUS;
#[repr(C)]
pub struct Struct_tagACTCTXA {
pub cbSize: ULONG,
pub dwFlags: DWORD,
pub lpSource: LPCSTR,
pub wProcessorArchitecture: USHORT,
pub wLangId: LANGID,
pub lpAssemblyDirectory: LPCSTR,
pub lpResourceName: LPCSTR,
pub lpApplicationName: LPCSTR,
pub hModule: HMODULE,
}
pub type ACTCTXA = Struct_tagACTCTXA;
pub type PACTCTXA = *mut Struct_tagACTCTXA;
#[repr(C)]
pub struct Struct_tagACTCTXW {
pub cbSize: ULONG,
pub dwFlags: DWORD,
pub lpSource: LPCWSTR,
pub wProcessorArchitecture: USHORT,
pub wLangId: LANGID,
pub lpAssemblyDirectory: LPCWSTR,
pub lpResourceName: LPCWSTR,
pub lpApplicationName: LPCWSTR,
pub hModule: HMODULE,
}
pub type ACTCTXW = Struct_tagACTCTXW;
pub type PACTCTXW = *mut Struct_tagACTCTXW;
pub type ACTCTX = ACTCTXA;
pub type PACTCTX = PACTCTXA;
pub type PCACTCTXA = *const ACTCTXA;
pub type PCACTCTXW = *const ACTCTXW;
pub type PCACTCTX = PCACTCTXA;
#[repr(C)]
pub struct Struct_tagACTCTX_SECTION_KEYED_DATA_2600 {
pub cbSize: ULONG,
pub ulDataFormatVersion: ULONG,
pub lpData: PVOID,
pub ulLength: ULONG,
pub lpSectionGlobalData: PVOID,
pub ulSectionGlobalDataLength: ULONG,
pub lpSectionBase: PVOID,
pub ulSectionTotalLength: ULONG,
pub hActCtx: HANDLE,
pub ulAssemblyRosterIndex: ULONG,
}
pub type ACTCTX_SECTION_KEYED_DATA_2600 =
Struct_tagACTCTX_SECTION_KEYED_DATA_2600;
pub type PACTCTX_SECTION_KEYED_DATA_2600 =
*mut Struct_tagACTCTX_SECTION_KEYED_DATA_2600;
pub type PCACTCTX_SECTION_KEYED_DATA_2600 =
*const ACTCTX_SECTION_KEYED_DATA_2600;
#[repr(C)]
pub struct Struct_tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
pub lpInformation: PVOID,
pub lpSectionBase: PVOID,
pub ulSectionLength: ULONG,
pub lpSectionGlobalDataBase: PVOID,
pub ulSectionGlobalDataLength: ULONG,
}
pub type ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA =
Struct_tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
pub type PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA =
*mut Struct_tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
pub type PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA =
*const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
#[repr(C)]
pub struct Struct_tagACTCTX_SECTION_KEYED_DATA {
pub cbSize: ULONG,
pub ulDataFormatVersion: ULONG,
pub lpData: PVOID,
pub ulLength: ULONG,
pub lpSectionGlobalData: PVOID,
pub ulSectionGlobalDataLength: ULONG,
pub lpSectionBase: PVOID,
pub ulSectionTotalLength: ULONG,
pub hActCtx: HANDLE,
pub ulAssemblyRosterIndex: ULONG,
pub ulFlags: ULONG,
pub AssemblyMetadata: ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA,
}
pub type ACTCTX_SECTION_KEYED_DATA = Struct_tagACTCTX_SECTION_KEYED_DATA;
pub type PACTCTX_SECTION_KEYED_DATA =
*mut Struct_tagACTCTX_SECTION_KEYED_DATA;
pub type PCACTCTX_SECTION_KEYED_DATA = *const ACTCTX_SECTION_KEYED_DATA;
#[repr(C)]
pub struct Struct__ACTIVATION_CONTEXT_BASIC_INFORMATION {
pub hActCtx: HANDLE,
pub dwFlags: DWORD,
}
pub type ACTIVATION_CONTEXT_BASIC_INFORMATION =
Struct__ACTIVATION_CONTEXT_BASIC_INFORMATION;
pub type PACTIVATION_CONTEXT_BASIC_INFORMATION =
*mut Struct__ACTIVATION_CONTEXT_BASIC_INFORMATION;
pub type PCACTIVATION_CONTEXT_BASIC_INFORMATION =
*const Struct__ACTIVATION_CONTEXT_BASIC_INFORMATION;
pub type PQUERYACTCTXW_FUNC =
::std::option::Option<extern "C" fn
(arg1: DWORD, arg2: HANDLE, arg3: PVOID,
arg4: ULONG, arg5: PVOID, arg6: SIZE_T,
arg7: *mut SIZE_T) -> WINBOOL>;
pub type APPLICATION_RECOVERY_CALLBACK =
::std::option::Option<extern "C" fn(arg1: PVOID) -> DWORD>;
#[repr(C)]
pub struct Struct__DRAWPATRECT {
pub ptPosition: POINT,
pub ptSize: POINT,
pub wStyle: WORD,
pub wPattern: WORD,
}
pub type DRAWPATRECT = Struct__DRAWPATRECT;
pub type PDRAWPATRECT = *mut Struct__DRAWPATRECT;
#[repr(C)]
pub struct Struct__PSINJECTDATA {
pub DataBytes: DWORD,
pub InjectionPoint: WORD,
pub PageNumber: WORD,
}
pub type PSINJECTDATA = Struct__PSINJECTDATA;
pub type PPSINJECTDATA = *mut Struct__PSINJECTDATA;
#[repr(C)]
pub struct Struct__PSFEATURE_OUTPUT {
pub bPageIndependent: WINBOOL,
pub bSetPageDevice: WINBOOL,
}
pub type PSFEATURE_OUTPUT = Struct__PSFEATURE_OUTPUT;
pub type PPSFEATURE_OUTPUT = *mut Struct__PSFEATURE_OUTPUT;
#[repr(C)]
pub struct Struct__PSFEATURE_CUSTPAPER {
pub lOrientation: LONG,
pub lWidth: LONG,
pub lHeight: LONG,
pub lWidthOffset: LONG,
pub lHeightOffset: LONG,
}
pub type PSFEATURE_CUSTPAPER = Struct__PSFEATURE_CUSTPAPER;
pub type PPSFEATURE_CUSTPAPER = *mut Struct__PSFEATURE_CUSTPAPER;
#[repr(C)]
pub struct Struct_tagXFORM {
pub eM11: FLOAT,
pub eM12: FLOAT,
pub eM21: FLOAT,
pub eM22: FLOAT,
pub eDx: FLOAT,
pub eDy: FLOAT,
}
pub type XFORM = Struct_tagXFORM;
pub type PXFORM = *mut Struct_tagXFORM;
pub type LPXFORM = *mut Struct_tagXFORM;
#[repr(C)]
pub struct Struct_tagBITMAP {
pub bmType: LONG,
pub bmWidth: LONG,
pub bmHeight: LONG,
pub bmWidthBytes: LONG,
pub bmPlanes: WORD,
pub bmBitsPixel: WORD,
pub bmBits: LPVOID,
}
pub type BITMAP = Struct_tagBITMAP;
pub type PBITMAP = *mut Struct_tagBITMAP;
pub type NPBITMAP = *mut Struct_tagBITMAP;
pub type LPBITMAP = *mut Struct_tagBITMAP;
#[repr(C)]
pub struct Struct_tagRGBTRIPLE {
pub rgbtBlue: BYTE,
pub rgbtGreen: BYTE,
pub rgbtRed: BYTE,
}
pub type RGBTRIPLE = Struct_tagRGBTRIPLE;
#[repr(C)]
pub struct Struct_tagRGBQUAD {
pub rgbBlue: BYTE,
pub rgbGreen: BYTE,
pub rgbRed: BYTE,
pub rgbReserved: BYTE,
}
pub type RGBQUAD = Struct_tagRGBQUAD;
pub type LPRGBQUAD = *mut RGBQUAD;
pub type LCSCSTYPE = LONG;
pub type LCSGAMUTMATCH = LONG;
pub type FXPT16DOT16 = ::libc::c_long;
pub type LPFXPT16DOT16 = *mut ::libc::c_long;
pub type FXPT2DOT30 = ::libc::c_long;
pub type LPFXPT2DOT30 = *mut ::libc::c_long;
#[repr(C)]
pub struct Struct_tagCIEXYZ {
pub ciexyzX: FXPT2DOT30,
pub ciexyzY: FXPT2DOT30,
pub ciexyzZ: FXPT2DOT30,
}
pub type CIEXYZ = Struct_tagCIEXYZ;
pub type LPCIEXYZ = *mut CIEXYZ;
#[repr(C)]
pub struct Struct_tagICEXYZTRIPLE {
pub ciexyzRed: CIEXYZ,
pub ciexyzGreen: CIEXYZ,
pub ciexyzBlue: CIEXYZ,
}
pub type CIEXYZTRIPLE = Struct_tagICEXYZTRIPLE;
pub type LPCIEXYZTRIPLE = *mut CIEXYZTRIPLE;
#[repr(C)]
pub struct Struct_tagLOGCOLORSPACEA {
pub lcsSignature: DWORD,
pub lcsVersion: DWORD,
pub lcsSize: DWORD,
pub lcsCSType: LCSCSTYPE,
pub lcsIntent: LCSGAMUTMATCH,
pub lcsEndpoints: CIEXYZTRIPLE,
pub lcsGammaRed: DWORD,
pub lcsGammaGreen: DWORD,
pub lcsGammaBlue: DWORD,
pub lcsFilename: [CHAR, ..260u],
}
pub type LOGCOLORSPACEA = Struct_tagLOGCOLORSPACEA;
pub type LPLOGCOLORSPACEA = *mut Struct_tagLOGCOLORSPACEA;
#[repr(C)]
pub struct Struct_tagLOGCOLORSPACEW {
pub lcsSignature: DWORD,
pub lcsVersion: DWORD,
pub lcsSize: DWORD,
pub lcsCSType: LCSCSTYPE,
pub lcsIntent: LCSGAMUTMATCH,
pub lcsEndpoints: CIEXYZTRIPLE,
pub lcsGammaRed: DWORD,
pub lcsGammaGreen: DWORD,
pub lcsGammaBlue: DWORD,
pub lcsFilename: [WCHAR, ..260u],
}
pub type LOGCOLORSPACEW = Struct_tagLOGCOLORSPACEW;
pub type LPLOGCOLORSPACEW = *mut Struct_tagLOGCOLORSPACEW;
pub type LOGCOLORSPACE = LOGCOLORSPACEA;
pub type LPLOGCOLORSPACE = LPLOGCOLORSPACEA;
#[repr(C)]
pub struct Struct_tagBITMAPCOREHEADER {
pub bcSize: DWORD,
pub bcWidth: WORD,
pub bcHeight: WORD,
pub bcPlanes: WORD,
pub bcBitCount: WORD,
}
pub type BITMAPCOREHEADER = Struct_tagBITMAPCOREHEADER;
pub type LPBITMAPCOREHEADER = *mut Struct_tagBITMAPCOREHEADER;
pub type PBITMAPCOREHEADER = *mut Struct_tagBITMAPCOREHEADER;
#[repr(C)]
pub struct Struct_tagBITMAPINFOHEADER {
pub biSize: DWORD,
pub biWidth: LONG,
pub biHeight: LONG,
pub biPlanes: WORD,
pub biBitCount: WORD,
pub biCompression: DWORD,
pub biSizeImage: DWORD,
pub biXPelsPerMeter: LONG,
pub biYPelsPerMeter: LONG,
pub biClrUsed: DWORD,
pub biClrImportant: DWORD,
}
pub type BITMAPINFOHEADER = Struct_tagBITMAPINFOHEADER;
pub type LPBITMAPINFOHEADER = *mut Struct_tagBITMAPINFOHEADER;
pub type PBITMAPINFOHEADER = *mut Struct_tagBITMAPINFOHEADER;
#[repr(C)]
pub struct Struct_Unnamed141 {
pub bV4Size: DWORD,
pub bV4Width: LONG,
pub bV4Height: LONG,
pub bV4Planes: WORD,
pub bV4BitCount: WORD,
pub bV4V4Compression: DWORD,
pub bV4SizeImage: DWORD,
pub bV4XPelsPerMeter: LONG,
pub bV4YPelsPerMeter: LONG,
pub bV4ClrUsed: DWORD,
pub bV4ClrImportant: DWORD,
pub bV4RedMask: DWORD,
pub bV4GreenMask: DWORD,
pub bV4BlueMask: DWORD,
pub bV4AlphaMask: DWORD,
pub bV4CSType: DWORD,
pub bV4Endpoints: CIEXYZTRIPLE,
pub bV4GammaRed: DWORD,
pub bV4GammaGreen: DWORD,
pub bV4GammaBlue: DWORD,
}
pub type BITMAPV4HEADER = Struct_Unnamed141;
pub type LPBITMAPV4HEADER = *mut Struct_Unnamed141;
pub type PBITMAPV4HEADER = *mut Struct_Unnamed141;
#[repr(C)]
pub struct Struct_Unnamed142 {
pub bV5Size: DWORD,
pub bV5Width: LONG,
pub bV5Height: LONG,
pub bV5Planes: WORD,
pub bV5BitCount: WORD,
pub bV5Compression: DWORD,
pub bV5SizeImage: DWORD,
pub bV5XPelsPerMeter: LONG,
pub bV5YPelsPerMeter: LONG,
pub bV5ClrUsed: DWORD,
pub bV5ClrImportant: DWORD,
pub bV5RedMask: DWORD,
pub bV5GreenMask: DWORD,
pub bV5BlueMask: DWORD,
pub bV5AlphaMask: DWORD,
pub bV5CSType: DWORD,
pub bV5Endpoints: CIEXYZTRIPLE,
pub bV5GammaRed: DWORD,
pub bV5GammaGreen: DWORD,
pub bV5GammaBlue: DWORD,
pub bV5Intent: DWORD,
pub bV5ProfileData: DWORD,
pub bV5ProfileSize: DWORD,
pub bV5Reserved: DWORD,
}
pub type BITMAPV5HEADER = Struct_Unnamed142;
pub type LPBITMAPV5HEADER = *mut Struct_Unnamed142;
pub type PBITMAPV5HEADER = *mut Struct_Unnamed142;
#[repr(C)]
pub struct Struct_tagBITMAPINFO {
pub bmiHeader: BITMAPINFOHEADER,
pub bmiColors: [RGBQUAD, ..1u],
}
pub type BITMAPINFO = Struct_tagBITMAPINFO;
pub type LPBITMAPINFO = *mut Struct_tagBITMAPINFO;
pub type PBITMAPINFO = *mut Struct_tagBITMAPINFO;
#[repr(C)]
pub struct Struct_tagBITMAPCOREINFO {
pub bmciHeader: BITMAPCOREHEADER,
pub bmciColors: [RGBTRIPLE, ..1u],
}
pub type BITMAPCOREINFO = Struct_tagBITMAPCOREINFO;
pub type LPBITMAPCOREINFO = *mut Struct_tagBITMAPCOREINFO;
pub type PBITMAPCOREINFO = *mut Struct_tagBITMAPCOREINFO;
#[repr(C)]
pub struct Struct_tagBITMAPFILEHEADER {
pub bfType: WORD,
pub bfSize: DWORD,
pub bfReserved1: WORD,
pub bfReserved2: WORD,
pub bfOffBits: DWORD,
}
pub type BITMAPFILEHEADER = Struct_tagBITMAPFILEHEADER;
pub type LPBITMAPFILEHEADER = *mut Struct_tagBITMAPFILEHEADER;
pub type PBITMAPFILEHEADER = *mut Struct_tagBITMAPFILEHEADER;
#[repr(C)]
pub struct Struct_tagFONTSIGNATURE {
pub fsUsb: [DWORD, ..4u],
pub fsCsb: [DWORD, ..2u],
}
pub type FONTSIGNATURE = Struct_tagFONTSIGNATURE;
pub type PFONTSIGNATURE = *mut Struct_tagFONTSIGNATURE;
pub type LPFONTSIGNATURE = *mut Struct_tagFONTSIGNATURE;
#[repr(C)]
pub struct Struct_tagCHARSETINFO {
pub ciCharset: UINT,
pub ciACP: UINT,
pub fs: FONTSIGNATURE,
}
pub type CHARSETINFO = Struct_tagCHARSETINFO;
pub type PCHARSETINFO = *mut Struct_tagCHARSETINFO;
pub type NPCHARSETINFO = *mut Struct_tagCHARSETINFO;
pub type LPCHARSETINFO = *mut Struct_tagCHARSETINFO;
#[repr(C)]
pub struct Struct_tagLOCALESIGNATURE {
pub lsUsb: [DWORD, ..4u],
pub lsCsbDefault: [DWORD, ..2u],
pub lsCsbSupported: [DWORD, ..2u],
}
pub type LOCALESIGNATURE = Struct_tagLOCALESIGNATURE;
pub type PLOCALESIGNATURE = *mut Struct_tagLOCALESIGNATURE;
pub type LPLOCALESIGNATURE = *mut Struct_tagLOCALESIGNATURE;
#[repr(C)]
pub struct Struct_tagHANDLETABLE {
pub objectHandle: [HGDIOBJ, ..1u],
}
pub type HANDLETABLE = Struct_tagHANDLETABLE;
pub type PHANDLETABLE = *mut Struct_tagHANDLETABLE;
pub type LPHANDLETABLE = *mut Struct_tagHANDLETABLE;
#[repr(C)]
pub struct Struct_tagMETARECORD {
pub rdSize: DWORD,
pub rdFunction: WORD,
pub rdParm: [WORD, ..1u],
}
pub type METARECORD = Struct_tagMETARECORD;
pub type PMETARECORD = *mut Struct_tagMETARECORD;
pub type LPMETARECORD = *mut Struct_tagMETARECORD;
#[repr(C)]
pub struct Struct_tagMETAFILEPICT {
pub mm: LONG,
pub xExt: LONG,
pub yExt: LONG,
pub hMF: HMETAFILE,
}
pub type METAFILEPICT = Struct_tagMETAFILEPICT;
pub type LPMETAFILEPICT = *mut Struct_tagMETAFILEPICT;
#[repr(C)]
pub struct Struct_tagMETAHEADER {
pub mtType: WORD,
pub mtHeaderSize: WORD,
pub mtVersion: WORD,
pub mtSize: DWORD,
pub mtNoObjects: WORD,
pub mtMaxRecord: DWORD,
pub mtNoParameters: WORD,
}
pub type METAHEADER = Struct_tagMETAHEADER;
pub type PMETAHEADER = *mut Struct_tagMETAHEADER;
pub type LPMETAHEADER = *mut Struct_tagMETAHEADER;
#[repr(C)]
pub struct Struct_tagENHMETARECORD {
pub iType: DWORD,
pub nSize: DWORD,
pub dParm: [DWORD, ..1u],
}
pub type ENHMETARECORD = Struct_tagENHMETARECORD;
pub type PENHMETARECORD = *mut Struct_tagENHMETARECORD;
pub type LPENHMETARECORD = *mut Struct_tagENHMETARECORD;
#[repr(C)]
pub struct Struct_tagENHMETAHEADER {
pub iType: DWORD,
pub nSize: DWORD,
pub rclBounds: RECTL,
pub rclFrame: RECTL,
pub dSignature: DWORD,
pub nVersion: DWORD,
pub nBytes: DWORD,
pub nRecords: DWORD,
pub nHandles: WORD,
pub sReserved: WORD,
pub nDescription: DWORD,
pub offDescription: DWORD,
pub nPalEntries: DWORD,
pub szlDevice: SIZEL,
pub szlMillimeters: SIZEL,
pub cbPixelFormat: DWORD,
pub offPixelFormat: DWORD,
pub bOpenGL: DWORD,
pub szlMicrometers: SIZEL,
}
pub type ENHMETAHEADER = Struct_tagENHMETAHEADER;
pub type PENHMETAHEADER = *mut Struct_tagENHMETAHEADER;
pub type LPENHMETAHEADER = *mut Struct_tagENHMETAHEADER;
pub type BCHAR = BYTE;
#[repr(C)]
pub struct Struct_tagTEXTMETRICA {
pub tmHeight: LONG,
pub tmAscent: LONG,
pub tmDescent: LONG,
pub tmInternalLeading: LONG,
pub tmExternalLeading: LONG,
pub tmAveCharWidth: LONG,
pub tmMaxCharWidth: LONG,
pub tmWeight: LONG,
pub tmOverhang: LONG,
pub tmDigitizedAspectX: LONG,
pub tmDigitizedAspectY: LONG,
pub tmFirstChar: BYTE,
pub tmLastChar: BYTE,
pub tmDefaultChar: BYTE,
pub tmBreakChar: BYTE,
pub tmItalic: BYTE,
pub tmUnderlined: BYTE,
pub tmStruckOut: BYTE,
pub tmPitchAndFamily: BYTE,
pub tmCharSet: BYTE,
}
pub type TEXTMETRICA = Struct_tagTEXTMETRICA;
pub type PTEXTMETRICA = *mut Struct_tagTEXTMETRICA;
pub type NPTEXTMETRICA = *mut Struct_tagTEXTMETRICA;
pub type LPTEXTMETRICA = *mut Struct_tagTEXTMETRICA;
#[repr(C)]
pub struct Struct_tagTEXTMETRICW {
pub tmHeight: LONG,
pub tmAscent: LONG,
pub tmDescent: LONG,
pub tmInternalLeading: LONG,
pub tmExternalLeading: LONG,
pub tmAveCharWidth: LONG,
pub tmMaxCharWidth: LONG,
pub tmWeight: LONG,
pub tmOverhang: LONG,
pub tmDigitizedAspectX: LONG,
pub tmDigitizedAspectY: LONG,
pub tmFirstChar: WCHAR,
pub tmLastChar: WCHAR,
pub tmDefaultChar: WCHAR,
pub tmBreakChar: WCHAR,
pub tmItalic: BYTE,
pub tmUnderlined: BYTE,
pub tmStruckOut: BYTE,
pub tmPitchAndFamily: BYTE,
pub tmCharSet: BYTE,
}
pub type TEXTMETRICW = Struct_tagTEXTMETRICW;
pub type PTEXTMETRICW = *mut Struct_tagTEXTMETRICW;
pub type NPTEXTMETRICW = *mut Struct_tagTEXTMETRICW;
pub type LPTEXTMETRICW = *mut Struct_tagTEXTMETRICW;
pub type TEXTMETRIC = TEXTMETRICA;
pub type PTEXTMETRIC = PTEXTMETRICA;
pub type NPTEXTMETRIC = NPTEXTMETRICA;
pub type LPTEXTMETRIC = LPTEXTMETRICA;
#[repr(C)]
pub struct Struct_tagNEWTEXTMETRICA {
pub tmHeight: LONG,
pub tmAscent: LONG,
pub tmDescent: LONG,
pub tmInternalLeading: LONG,
pub tmExternalLeading: LONG,
pub tmAveCharWidth: LONG,
pub tmMaxCharWidth: LONG,
pub tmWeight: LONG,
pub tmOverhang: LONG,
pub tmDigitizedAspectX: LONG,
pub tmDigitizedAspectY: LONG,
pub tmFirstChar: BYTE,
pub tmLastChar: BYTE,
pub tmDefaultChar: BYTE,
pub tmBreakChar: BYTE,
pub tmItalic: BYTE,
pub tmUnderlined: BYTE,
pub tmStruckOut: BYTE,
pub tmPitchAndFamily: BYTE,
pub tmCharSet: BYTE,
pub ntmFlags: DWORD,
pub ntmSizeEM: UINT,
pub ntmCellHeight: UINT,
pub ntmAvgWidth: UINT,
}
pub type NEWTEXTMETRICA = Struct_tagNEWTEXTMETRICA;
pub type PNEWTEXTMETRICA = *mut Struct_tagNEWTEXTMETRICA;
pub type NPNEWTEXTMETRICA = *mut Struct_tagNEWTEXTMETRICA;
pub type LPNEWTEXTMETRICA = *mut Struct_tagNEWTEXTMETRICA;
#[repr(C)]
pub struct Struct_tagNEWTEXTMETRICW {
pub tmHeight: LONG,
pub tmAscent: LONG,
pub tmDescent: LONG,
pub tmInternalLeading: LONG,
pub tmExternalLeading: LONG,
pub tmAveCharWidth: LONG,
pub tmMaxCharWidth: LONG,
pub tmWeight: LONG,
pub tmOverhang: LONG,
pub tmDigitizedAspectX: LONG,
pub tmDigitizedAspectY: LONG,
pub tmFirstChar: WCHAR,
pub tmLastChar: WCHAR,
pub tmDefaultChar: WCHAR,
pub tmBreakChar: WCHAR,
pub tmItalic: BYTE,
pub tmUnderlined: BYTE,
pub tmStruckOut: BYTE,
pub tmPitchAndFamily: BYTE,
pub tmCharSet: BYTE,
pub ntmFlags: DWORD,
pub ntmSizeEM: UINT,
pub ntmCellHeight: UINT,
pub ntmAvgWidth: UINT,
}
pub type NEWTEXTMETRICW = Struct_tagNEWTEXTMETRICW;
pub type PNEWTEXTMETRICW = *mut Struct_tagNEWTEXTMETRICW;
pub type NPNEWTEXTMETRICW = *mut Struct_tagNEWTEXTMETRICW;
pub type LPNEWTEXTMETRICW = *mut Struct_tagNEWTEXTMETRICW;
pub type NEWTEXTMETRIC = NEWTEXTMETRICA;
pub type PNEWTEXTMETRIC = PNEWTEXTMETRICA;
pub type NPNEWTEXTMETRIC = NPNEWTEXTMETRICA;
pub type LPNEWTEXTMETRIC = LPNEWTEXTMETRICA;
#[repr(C)]
pub struct Struct_tagNEWTEXTMETRICEXA {
pub ntmTm: NEWTEXTMETRICA,
pub ntmFontSig: FONTSIGNATURE,
}
pub type NEWTEXTMETRICEXA = Struct_tagNEWTEXTMETRICEXA;
#[repr(C)]
pub struct Struct_tagNEWTEXTMETRICEXW {
pub ntmTm: NEWTEXTMETRICW,
pub ntmFontSig: FONTSIGNATURE,
}
pub type NEWTEXTMETRICEXW = Struct_tagNEWTEXTMETRICEXW;
pub type NEWTEXTMETRICEX = NEWTEXTMETRICEXA;
#[repr(C)]
pub struct Struct_tagPELARRAY {
pub paXCount: LONG,
pub paYCount: LONG,
pub paXExt: LONG,
pub paYExt: LONG,
pub paRGBs: BYTE,
}
pub type PELARRAY = Struct_tagPELARRAY;
pub type PPELARRAY = *mut Struct_tagPELARRAY;
pub type NPPELARRAY = *mut Struct_tagPELARRAY;
pub type LPPELARRAY = *mut Struct_tagPELARRAY;
#[repr(C)]
pub struct Struct_tagLOGBRUSH {
pub lbStyle: UINT,
pub lbColor: COLORREF,
pub lbHatch: ULONG_PTR,
}
pub type LOGBRUSH = Struct_tagLOGBRUSH;
pub type PLOGBRUSH = *mut Struct_tagLOGBRUSH;
pub type NPLOGBRUSH = *mut Struct_tagLOGBRUSH;
pub type LPLOGBRUSH = *mut Struct_tagLOGBRUSH;
#[repr(C)]
pub struct Struct_tagLOGBRUSH32 {
pub lbStyle: UINT,
pub lbColor: COLORREF,
pub lbHatch: ULONG,
}
pub type LOGBRUSH32 = Struct_tagLOGBRUSH32;
pub type PLOGBRUSH32 = *mut Struct_tagLOGBRUSH32;
pub type NPLOGBRUSH32 = *mut Struct_tagLOGBRUSH32;
pub type LPLOGBRUSH32 = *mut Struct_tagLOGBRUSH32;
pub type PATTERN = LOGBRUSH;
pub type PPATTERN = *mut PATTERN;
pub type NPPATTERN = *mut PATTERN;
pub type LPPATTERN = *mut PATTERN;
#[repr(C)]
pub struct Struct_tagLOGPEN {
pub lopnStyle: UINT,
pub lopnWidth: POINT,
pub lopnColor: COLORREF,
}
pub type LOGPEN = Struct_tagLOGPEN;
pub type PLOGPEN = *mut Struct_tagLOGPEN;
pub type NPLOGPEN = *mut Struct_tagLOGPEN;
pub type LPLOGPEN = *mut Struct_tagLOGPEN;
#[repr(C)]
pub struct Struct_tagEXTLOGPEN {
pub elpPenStyle: DWORD,
pub elpWidth: DWORD,
pub elpBrushStyle: UINT,
pub elpColor: COLORREF,
pub elpHatch: ULONG_PTR,
pub elpNumEntries: DWORD,
pub elpStyleEntry: [DWORD, ..1u],
}
pub type EXTLOGPEN = Struct_tagEXTLOGPEN;
pub type PEXTLOGPEN = *mut Struct_tagEXTLOGPEN;
pub type NPEXTLOGPEN = *mut Struct_tagEXTLOGPEN;
pub type LPEXTLOGPEN = *mut Struct_tagEXTLOGPEN;
#[repr(C)]
pub struct Struct_tagEXTLOGPEN32 {
pub elpPenStyle: DWORD,
pub elpWidth: DWORD,
pub elpBrushStyle: UINT,
pub elpColor: COLORREF,
pub elpHatch: ULONG,
pub elpNumEntries: DWORD,
pub elpStyleEntry: [DWORD, ..1u],
}
pub type EXTLOGPEN32 = Struct_tagEXTLOGPEN32;
pub type PEXTLOGPEN32 = *mut Struct_tagEXTLOGPEN32;
pub type NPEXTLOGPEN32 = *mut Struct_tagEXTLOGPEN32;
pub type LPEXTLOGPEN32 = *mut Struct_tagEXTLOGPEN32;
#[repr(C)]
pub struct Struct_tagPALETTEENTRY {
pub peRed: BYTE,
pub peGreen: BYTE,
pub peBlue: BYTE,
pub peFlags: BYTE,
}
pub type PALETTEENTRY = Struct_tagPALETTEENTRY;
pub type PPALETTEENTRY = *mut Struct_tagPALETTEENTRY;
pub type LPPALETTEENTRY = *mut Struct_tagPALETTEENTRY;
#[repr(C)]
pub struct Struct_tagLOGPALETTE {
pub palVersion: WORD,
pub palNumEntries: WORD,
pub palPalEntry: [PALETTEENTRY, ..1u],
}
pub type LOGPALETTE = Struct_tagLOGPALETTE;
pub type PLOGPALETTE = *mut Struct_tagLOGPALETTE;
pub type NPLOGPALETTE = *mut Struct_tagLOGPALETTE;
pub type LPLOGPALETTE = *mut Struct_tagLOGPALETTE;
#[repr(C)]
pub struct Struct_tagLOGFONTA {
pub lfHeight: LONG,
pub lfWidth: LONG,
pub lfEscapement: LONG,
pub lfOrientation: LONG,
pub lfWeight: LONG,
pub lfItalic: BYTE,
pub lfUnderline: BYTE,
pub lfStrikeOut: BYTE,
pub lfCharSet: BYTE,
pub lfOutPrecision: BYTE,
pub lfClipPrecision: BYTE,
pub lfQuality: BYTE,
pub lfPitchAndFamily: BYTE,
pub lfFaceName: [CHAR, ..32u],
}
pub type LOGFONTA = Struct_tagLOGFONTA;
pub type PLOGFONTA = *mut Struct_tagLOGFONTA;
pub type NPLOGFONTA = *mut Struct_tagLOGFONTA;
pub type LPLOGFONTA = *mut Struct_tagLOGFONTA;
#[repr(C)]
pub struct Struct_tagLOGFONTW {
pub lfHeight: LONG,
pub lfWidth: LONG,
pub lfEscapement: LONG,
pub lfOrientation: LONG,
pub lfWeight: LONG,
pub lfItalic: BYTE,
pub lfUnderline: BYTE,
pub lfStrikeOut: BYTE,
pub lfCharSet: BYTE,
pub lfOutPrecision: BYTE,
pub lfClipPrecision: BYTE,
pub lfQuality: BYTE,
pub lfPitchAndFamily: BYTE,
pub lfFaceName: [WCHAR, ..32u],
}
pub type LOGFONTW = Struct_tagLOGFONTW;
pub type PLOGFONTW = *mut Struct_tagLOGFONTW;
pub type NPLOGFONTW = *mut Struct_tagLOGFONTW;
pub type LPLOGFONTW = *mut Struct_tagLOGFONTW;
pub type LOGFONT = LOGFONTA;
pub type PLOGFONT = PLOGFONTA;
pub type NPLOGFONT = NPLOGFONTA;
pub type LPLOGFONT = LPLOGFONTA;
#[repr(C)]
pub struct Struct_tagENUMLOGFONTA {
pub elfLogFont: LOGFONTA,
pub elfFullName: [BYTE, ..64u],
pub elfStyle: [BYTE, ..32u],
}
pub type ENUMLOGFONTA = Struct_tagENUMLOGFONTA;
pub type LPENUMLOGFONTA = *mut Struct_tagENUMLOGFONTA;
#[repr(C)]
pub struct Struct_tagENUMLOGFONTW {
pub elfLogFont: LOGFONTW,
pub elfFullName: [WCHAR, ..64u],
pub elfStyle: [WCHAR, ..32u],
}
pub type ENUMLOGFONTW = Struct_tagENUMLOGFONTW;
pub type LPENUMLOGFONTW = *mut Struct_tagENUMLOGFONTW;
pub type ENUMLOGFONT = ENUMLOGFONTA;
pub type LPENUMLOGFONT = LPENUMLOGFONTA;
#[repr(C)]
pub struct Struct_tagENUMLOGFONTEXA {
pub elfLogFont: LOGFONTA,
pub elfFullName: [BYTE, ..64u],
pub elfStyle: [BYTE, ..32u],
pub elfScript: [BYTE, ..32u],
}
pub type ENUMLOGFONTEXA = Struct_tagENUMLOGFONTEXA;
pub type LPENUMLOGFONTEXA = *mut Struct_tagENUMLOGFONTEXA;
#[repr(C)]
pub struct Struct_tagENUMLOGFONTEXW {
pub elfLogFont: LOGFONTW,
pub elfFullName: [WCHAR, ..64u],
pub elfStyle: [WCHAR, ..32u],
pub elfScript: [WCHAR, ..32u],
}
pub type ENUMLOGFONTEXW = Struct_tagENUMLOGFONTEXW;
pub type LPENUMLOGFONTEXW = *mut Struct_tagENUMLOGFONTEXW;
pub type ENUMLOGFONTEX = ENUMLOGFONTEXA;
pub type LPENUMLOGFONTEX = LPENUMLOGFONTEXA;
#[repr(C)]
pub struct Struct_tagPANOSE {
pub bFamilyType: BYTE,
pub bSerifStyle: BYTE,
pub bWeight: BYTE,
pub bProportion: BYTE,
pub bContrast: BYTE,
pub bStrokeVariation: BYTE,
pub bArmStyle: BYTE,
pub bLetterform: BYTE,
pub bMidline: BYTE,
pub bXHeight: BYTE,
}
pub type PANOSE = Struct_tagPANOSE;
pub type LPPANOSE = *mut Struct_tagPANOSE;
#[repr(C)]
pub struct Struct_tagEXTLOGFONTA {
pub elfLogFont: LOGFONTA,
pub elfFullName: [BYTE, ..64u],
pub elfStyle: [BYTE, ..32u],
pub elfVersion: DWORD,
pub elfStyleSize: DWORD,
pub elfMatch: DWORD,
pub elfReserved: DWORD,
pub elfVendorId: [BYTE, ..4u],
pub elfCulture: DWORD,
pub elfPanose: PANOSE,
}
pub type EXTLOGFONTA = Struct_tagEXTLOGFONTA;
pub type PEXTLOGFONTA = *mut Struct_tagEXTLOGFONTA;
pub type NPEXTLOGFONTA = *mut Struct_tagEXTLOGFONTA;
pub type LPEXTLOGFONTA = *mut Struct_tagEXTLOGFONTA;
#[repr(C)]
pub struct Struct_tagEXTLOGFONTW {
pub elfLogFont: LOGFONTW,
pub elfFullName: [WCHAR, ..64u],
pub elfStyle: [WCHAR, ..32u],
pub elfVersion: DWORD,
pub elfStyleSize: DWORD,
pub elfMatch: DWORD,
pub elfReserved: DWORD,
pub elfVendorId: [BYTE, ..4u],
pub elfCulture: DWORD,
pub elfPanose: PANOSE,
}
pub type EXTLOGFONTW = Struct_tagEXTLOGFONTW;
pub type PEXTLOGFONTW = *mut Struct_tagEXTLOGFONTW;
pub type NPEXTLOGFONTW = *mut Struct_tagEXTLOGFONTW;
pub type LPEXTLOGFONTW = *mut Struct_tagEXTLOGFONTW;
pub type EXTLOGFONT = EXTLOGFONTA;
pub type PEXTLOGFONT = PEXTLOGFONTA;
pub type NPEXTLOGFONT = NPEXTLOGFONTA;
pub type LPEXTLOGFONT = LPEXTLOGFONTA;
#[repr(C)]
pub struct Struct__devicemodeA {
pub dmDeviceName: [BYTE, ..32u],
pub dmSpecVersion: WORD,
pub dmDriverVersion: WORD,
pub dmSize: WORD,
pub dmDriverExtra: WORD,
pub dmFields: DWORD,
pub dmColor: ::libc::c_short,
pub dmDuplex: ::libc::c_short,
pub dmYResolution: ::libc::c_short,
pub dmTTOption: ::libc::c_short,
pub dmCollate: ::libc::c_short,
pub dmFormName: [BYTE, ..32u],
pub dmLogPixels: WORD,
pub dmBitsPerPel: DWORD,
pub dmPelsWidth: DWORD,
pub dmPelsHeight: DWORD,
pub dmDisplayFrequency: DWORD,
pub dmICMMethod: DWORD,
pub dmICMIntent: DWORD,
pub dmMediaType: DWORD,
pub dmDitherType: DWORD,
pub dmReserved1: DWORD,
pub dmReserved2: DWORD,
pub dmPanningWidth: DWORD,
pub dmPanningHeight: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed143 {
pub data: [u32, ..4u],
}
impl Union_Unnamed143 { }
#[repr(C)]
pub struct Struct_Unnamed144 {
pub dmOrientation: ::libc::c_short,
pub dmPaperSize: ::libc::c_short,
pub dmPaperLength: ::libc::c_short,
pub dmPaperWidth: ::libc::c_short,
pub dmScale: ::libc::c_short,
pub dmCopies: ::libc::c_short,
pub dmDefaultSource: ::libc::c_short,
pub dmPrintQuality: ::libc::c_short,
}
#[repr(C)]
pub struct Struct_Unnamed145 {
pub dmPosition: POINTL,
pub dmDisplayOrientation: DWORD,
pub dmDisplayFixedOutput: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed146 {
pub data: [u32, ..1u],
}
impl Union_Unnamed146 {
pub fn dmDisplayFlags(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn dmNup(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type DEVMODEA = Struct__devicemodeA;
pub type PDEVMODEA = *mut Struct__devicemodeA;
pub type NPDEVMODEA = *mut Struct__devicemodeA;
pub type LPDEVMODEA = *mut Struct__devicemodeA;
#[repr(C)]
pub struct Struct__devicemodeW {
pub dmDeviceName: [WCHAR, ..32u],
pub dmSpecVersion: WORD,
pub dmDriverVersion: WORD,
pub dmSize: WORD,
pub dmDriverExtra: WORD,
pub dmFields: DWORD,
pub dmColor: ::libc::c_short,
pub dmDuplex: ::libc::c_short,
pub dmYResolution: ::libc::c_short,
pub dmTTOption: ::libc::c_short,
pub dmCollate: ::libc::c_short,
pub dmFormName: [WCHAR, ..32u],
pub dmLogPixels: WORD,
pub dmBitsPerPel: DWORD,
pub dmPelsWidth: DWORD,
pub dmPelsHeight: DWORD,
pub dmDisplayFrequency: DWORD,
pub dmICMMethod: DWORD,
pub dmICMIntent: DWORD,
pub dmMediaType: DWORD,
pub dmDitherType: DWORD,
pub dmReserved1: DWORD,
pub dmReserved2: DWORD,
pub dmPanningWidth: DWORD,
pub dmPanningHeight: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed147 {
pub data: [u32, ..4u],
}
impl Union_Unnamed147 { }
#[repr(C)]
pub struct Struct_Unnamed148 {
pub dmOrientation: ::libc::c_short,
pub dmPaperSize: ::libc::c_short,
pub dmPaperLength: ::libc::c_short,
pub dmPaperWidth: ::libc::c_short,
pub dmScale: ::libc::c_short,
pub dmCopies: ::libc::c_short,
pub dmDefaultSource: ::libc::c_short,
pub dmPrintQuality: ::libc::c_short,
}
#[repr(C)]
pub struct Struct_Unnamed149 {
pub dmPosition: POINTL,
pub dmDisplayOrientation: DWORD,
pub dmDisplayFixedOutput: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed150 {
pub data: [u32, ..1u],
}
impl Union_Unnamed150 {
pub fn dmDisplayFlags(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn dmNup(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type DEVMODEW = Struct__devicemodeW;
pub type PDEVMODEW = *mut Struct__devicemodeW;
pub type NPDEVMODEW = *mut Struct__devicemodeW;
pub type LPDEVMODEW = *mut Struct__devicemodeW;
pub type DEVMODE = DEVMODEA;
pub type PDEVMODE = PDEVMODEA;
pub type NPDEVMODE = NPDEVMODEA;
pub type LPDEVMODE = LPDEVMODEA;
#[repr(C)]
pub struct Struct__DISPLAY_DEVICEA {
pub cb: DWORD,
pub DeviceName: [CHAR, ..32u],
pub DeviceString: [CHAR, ..128u],
pub StateFlags: DWORD,
pub DeviceID: [CHAR, ..128u],
pub DeviceKey: [CHAR, ..128u],
}
pub type DISPLAY_DEVICEA = Struct__DISPLAY_DEVICEA;
pub type PDISPLAY_DEVICEA = *mut Struct__DISPLAY_DEVICEA;
pub type LPDISPLAY_DEVICEA = *mut Struct__DISPLAY_DEVICEA;
#[repr(C)]
pub struct Struct__DISPLAY_DEVICEW {
pub cb: DWORD,
pub DeviceName: [WCHAR, ..32u],
pub DeviceString: [WCHAR, ..128u],
pub StateFlags: DWORD,
pub DeviceID: [WCHAR, ..128u],
pub DeviceKey: [WCHAR, ..128u],
}
pub type DISPLAY_DEVICEW = Struct__DISPLAY_DEVICEW;
pub type PDISPLAY_DEVICEW = *mut Struct__DISPLAY_DEVICEW;
pub type LPDISPLAY_DEVICEW = *mut Struct__DISPLAY_DEVICEW;
pub type DISPLAY_DEVICE = DISPLAY_DEVICEA;
pub type PDISPLAY_DEVICE = PDISPLAY_DEVICEA;
pub type LPDISPLAY_DEVICE = LPDISPLAY_DEVICEA;
#[repr(C)]
pub struct Struct__RGNDATAHEADER {
pub dwSize: DWORD,
pub iType: DWORD,
pub nCount: DWORD,
pub nRgnSize: DWORD,
pub rcBound: RECT,
}
pub type RGNDATAHEADER = Struct__RGNDATAHEADER;
pub type PRGNDATAHEADER = *mut Struct__RGNDATAHEADER;
#[repr(C)]
pub struct Struct__RGNDATA {
pub rdh: RGNDATAHEADER,
pub Buffer: [::libc::c_char, ..1u],
}
pub type RGNDATA = Struct__RGNDATA;
pub type PRGNDATA = *mut Struct__RGNDATA;
pub type NPRGNDATA = *mut Struct__RGNDATA;
pub type LPRGNDATA = *mut Struct__RGNDATA;
#[repr(C)]
pub struct Struct__ABC {
pub abcA: ::libc::c_int,
pub abcB: UINT,
pub abcC: ::libc::c_int,
}
pub type ABC = Struct__ABC;
pub type PABC = *mut Struct__ABC;
pub type NPABC = *mut Struct__ABC;
pub type LPABC = *mut Struct__ABC;
#[repr(C)]
pub struct Struct__ABCFLOAT {
pub abcfA: FLOAT,
pub abcfB: FLOAT,
pub abcfC: FLOAT,
}
pub type ABCFLOAT = Struct__ABCFLOAT;
pub type PABCFLOAT = *mut Struct__ABCFLOAT;
pub type NPABCFLOAT = *mut Struct__ABCFLOAT;
pub type LPABCFLOAT = *mut Struct__ABCFLOAT;
#[repr(C)]
pub struct Struct__OUTLINETEXTMETRICA {
pub otmSize: UINT,
pub otmTextMetrics: TEXTMETRICA,
pub otmFiller: BYTE,
pub otmPanoseNumber: PANOSE,
pub otmfsSelection: UINT,
pub otmfsType: UINT,
pub otmsCharSlopeRise: ::libc::c_int,
pub otmsCharSlopeRun: ::libc::c_int,
pub otmItalicAngle: ::libc::c_int,
pub otmEMSquare: UINT,
pub otmAscent: ::libc::c_int,
pub otmDescent: ::libc::c_int,
pub otmLineGap: UINT,
pub otmsCapEmHeight: UINT,
pub otmsXHeight: UINT,
pub otmrcFontBox: RECT,
pub otmMacAscent: ::libc::c_int,
pub otmMacDescent: ::libc::c_int,
pub otmMacLineGap: UINT,
pub otmusMinimumPPEM: UINT,
pub otmptSubscriptSize: POINT,
pub otmptSubscriptOffset: POINT,
pub otmptSuperscriptSize: POINT,
pub otmptSuperscriptOffset: POINT,
pub otmsStrikeoutSize: UINT,
pub otmsStrikeoutPosition: ::libc::c_int,
pub otmsUnderscoreSize: ::libc::c_int,
pub otmsUnderscorePosition: ::libc::c_int,
pub otmpFamilyName: PSTR,
pub otmpFaceName: PSTR,
pub otmpStyleName: PSTR,
pub otmpFullName: PSTR,
}
pub type OUTLINETEXTMETRICA = Struct__OUTLINETEXTMETRICA;
pub type POUTLINETEXTMETRICA = *mut Struct__OUTLINETEXTMETRICA;
pub type NPOUTLINETEXTMETRICA = *mut Struct__OUTLINETEXTMETRICA;
pub type LPOUTLINETEXTMETRICA = *mut Struct__OUTLINETEXTMETRICA;
#[repr(C)]
pub struct Struct__OUTLINETEXTMETRICW {
pub otmSize: UINT,
pub otmTextMetrics: TEXTMETRICW,
pub otmFiller: BYTE,
pub otmPanoseNumber: PANOSE,
pub otmfsSelection: UINT,
pub otmfsType: UINT,
pub otmsCharSlopeRise: ::libc::c_int,
pub otmsCharSlopeRun: ::libc::c_int,
pub otmItalicAngle: ::libc::c_int,
pub otmEMSquare: UINT,
pub otmAscent: ::libc::c_int,
pub otmDescent: ::libc::c_int,
pub otmLineGap: UINT,
pub otmsCapEmHeight: UINT,
pub otmsXHeight: UINT,
pub otmrcFontBox: RECT,
pub otmMacAscent: ::libc::c_int,
pub otmMacDescent: ::libc::c_int,
pub otmMacLineGap: UINT,
pub otmusMinimumPPEM: UINT,
pub otmptSubscriptSize: POINT,
pub otmptSubscriptOffset: POINT,
pub otmptSuperscriptSize: POINT,
pub otmptSuperscriptOffset: POINT,
pub otmsStrikeoutSize: UINT,
pub otmsStrikeoutPosition: ::libc::c_int,
pub otmsUnderscoreSize: ::libc::c_int,
pub otmsUnderscorePosition: ::libc::c_int,
pub otmpFamilyName: PSTR,
pub otmpFaceName: PSTR,
pub otmpStyleName: PSTR,
pub otmpFullName: PSTR,
}
pub type OUTLINETEXTMETRICW = Struct__OUTLINETEXTMETRICW;
pub type POUTLINETEXTMETRICW = *mut Struct__OUTLINETEXTMETRICW;
pub type NPOUTLINETEXTMETRICW = *mut Struct__OUTLINETEXTMETRICW;
pub type LPOUTLINETEXTMETRICW = *mut Struct__OUTLINETEXTMETRICW;
pub type OUTLINETEXTMETRIC = OUTLINETEXTMETRICA;
pub type POUTLINETEXTMETRIC = POUTLINETEXTMETRICA;
pub type NPOUTLINETEXTMETRIC = NPOUTLINETEXTMETRICA;
pub type LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICA;
#[repr(C)]
pub struct Struct_tagPOLYTEXTA {
pub x: ::libc::c_int,
pub y: ::libc::c_int,
pub n: UINT,
pub lpstr: LPCSTR,
pub uiFlags: UINT,
pub rcl: RECT,
pub pdx: *mut ::libc::c_int,
}
pub type POLYTEXTA = Struct_tagPOLYTEXTA;
pub type PPOLYTEXTA = *mut Struct_tagPOLYTEXTA;
pub type NPPOLYTEXTA = *mut Struct_tagPOLYTEXTA;
pub type LPPOLYTEXTA = *mut Struct_tagPOLYTEXTA;
#[repr(C)]
pub struct Struct_tagPOLYTEXTW {
pub x: ::libc::c_int,
pub y: ::libc::c_int,
pub n: UINT,
pub lpstr: LPCWSTR,
pub uiFlags: UINT,
pub rcl: RECT,
pub pdx: *mut ::libc::c_int,
}
pub type POLYTEXTW = Struct_tagPOLYTEXTW;
pub type PPOLYTEXTW = *mut Struct_tagPOLYTEXTW;
pub type NPPOLYTEXTW = *mut Struct_tagPOLYTEXTW;
pub type LPPOLYTEXTW = *mut Struct_tagPOLYTEXTW;
pub type POLYTEXT = POLYTEXTA;
pub type PPOLYTEXT = PPOLYTEXTA;
pub type NPPOLYTEXT = NPPOLYTEXTA;
pub type LPPOLYTEXT = LPPOLYTEXTA;
#[repr(C)]
pub struct Struct__FIXED {
pub fract: WORD,
pub value: ::libc::c_short,
}
pub type FIXED = Struct__FIXED;
#[repr(C)]
pub struct Struct__MAT2 {
pub eM11: FIXED,
pub eM12: FIXED,
pub eM21: FIXED,
pub eM22: FIXED,
}
pub type MAT2 = Struct__MAT2;
pub type LPMAT2 = *mut Struct__MAT2;
#[repr(C)]
pub struct Struct__GLYPHMETRICS {
pub gmBlackBoxX: UINT,
pub gmBlackBoxY: UINT,
pub gmptGlyphOrigin: POINT,
pub gmCellIncX: ::libc::c_short,
pub gmCellIncY: ::libc::c_short,
}
pub type GLYPHMETRICS = Struct__GLYPHMETRICS;
pub type LPGLYPHMETRICS = *mut Struct__GLYPHMETRICS;
#[repr(C)]
pub struct Struct_tagPOINTFX {
pub x: FIXED,
pub y: FIXED,
}
pub type POINTFX = Struct_tagPOINTFX;
pub type LPPOINTFX = *mut Struct_tagPOINTFX;
#[repr(C)]
pub struct Struct_tagTTPOLYCURVE {
pub wType: WORD,
pub cpfx: WORD,
pub apfx: [POINTFX, ..1u],
}
pub type TTPOLYCURVE = Struct_tagTTPOLYCURVE;
pub type LPTTPOLYCURVE = *mut Struct_tagTTPOLYCURVE;
#[repr(C)]
pub struct Struct_tagTTPOLYGONHEADER {
pub cb: DWORD,
pub dwType: DWORD,
pub pfxStart: POINTFX,
}
pub type TTPOLYGONHEADER = Struct_tagTTPOLYGONHEADER;
pub type LPTTPOLYGONHEADER = *mut Struct_tagTTPOLYGONHEADER;
#[repr(C)]
pub struct Struct_tagGCP_RESULTSA {
pub lStructSize: DWORD,
pub lpOutString: LPSTR,
pub lpOrder: *mut UINT,
pub lpDx: *mut ::libc::c_int,
pub lpCaretPos: *mut ::libc::c_int,
pub lpClass: LPSTR,
pub lpGlyphs: LPWSTR,
pub nGlyphs: UINT,
pub nMaxFit: ::libc::c_int,
}
pub type GCP_RESULTSA = Struct_tagGCP_RESULTSA;
pub type LPGCP_RESULTSA = *mut Struct_tagGCP_RESULTSA;
#[repr(C)]
pub struct Struct_tagGCP_RESULTSW {
pub lStructSize: DWORD,
pub lpOutString: LPWSTR,
pub lpOrder: *mut UINT,
pub lpDx: *mut ::libc::c_int,
pub lpCaretPos: *mut ::libc::c_int,
pub lpClass: LPSTR,
pub lpGlyphs: LPWSTR,
pub nGlyphs: UINT,
pub nMaxFit: ::libc::c_int,
}
pub type GCP_RESULTSW = Struct_tagGCP_RESULTSW;
pub type LPGCP_RESULTSW = *mut Struct_tagGCP_RESULTSW;
pub type GCP_RESULTS = GCP_RESULTSA;
pub type LPGCP_RESULTS = LPGCP_RESULTSA;
#[repr(C)]
pub struct Struct__RASTERIZER_STATUS {
pub nSize: ::libc::c_short,
pub wFlags: ::libc::c_short,
pub nLanguageID: ::libc::c_short,
}
pub type RASTERIZER_STATUS = Struct__RASTERIZER_STATUS;
pub type LPRASTERIZER_STATUS = *mut Struct__RASTERIZER_STATUS;
#[repr(C)]
pub struct Struct_tagPIXELFORMATDESCRIPTOR {
pub nSize: WORD,
pub nVersion: WORD,
pub dwFlags: DWORD,
pub iPixelType: BYTE,
pub cColorBits: BYTE,
pub cRedBits: BYTE,
pub cRedShift: BYTE,
pub cGreenBits: BYTE,
pub cGreenShift: BYTE,
pub cBlueBits: BYTE,
pub cBlueShift: BYTE,
pub cAlphaBits: BYTE,
pub cAlphaShift: BYTE,
pub cAccumBits: BYTE,
pub cAccumRedBits: BYTE,
pub cAccumGreenBits: BYTE,
pub cAccumBlueBits: BYTE,
pub cAccumAlphaBits: BYTE,
pub cDepthBits: BYTE,
pub cStencilBits: BYTE,
pub cAuxBuffers: BYTE,
pub iLayerType: BYTE,
pub bReserved: BYTE,
pub dwLayerMask: DWORD,
pub dwVisibleMask: DWORD,
pub dwDamageMask: DWORD,
}
pub type PIXELFORMATDESCRIPTOR = Struct_tagPIXELFORMATDESCRIPTOR;
pub type PPIXELFORMATDESCRIPTOR = *mut Struct_tagPIXELFORMATDESCRIPTOR;
pub type LPPIXELFORMATDESCRIPTOR = *mut Struct_tagPIXELFORMATDESCRIPTOR;
pub type OLDFONTENUMPROCA =
::std::option::Option<extern "C" fn
(arg1: *const LOGFONTA,
arg2: *const TEXTMETRICA, arg3: DWORD,
arg4: LPARAM) -> ::libc::c_int>;
pub type OLDFONTENUMPROCW =
::std::option::Option<extern "C" fn
(arg1: *const LOGFONTW,
arg2: *const TEXTMETRICW, arg3: DWORD,
arg4: LPARAM) -> ::libc::c_int>;
pub type FONTENUMPROCA = OLDFONTENUMPROCA;
pub type FONTENUMPROCW = OLDFONTENUMPROCW;
pub type FONTENUMPROC = FONTENUMPROCA;
pub type GOBJENUMPROC =
::std::option::Option<extern "C" fn(arg1: LPVOID, arg2: LPARAM)
-> ::libc::c_int>;
pub type LINEDDAPROC =
::std::option::Option<extern "C" fn
(arg1: ::libc::c_int, arg2: ::libc::c_int,
arg3: LPARAM)>;
pub type LPFNDEVMODE =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: HMODULE, arg3: LPDEVMODE,
arg4: LPSTR, arg5: LPSTR, arg6: LPDEVMODE,
arg7: LPSTR, arg8: UINT) -> UINT>;
pub type LPFNDEVCAPS =
::std::option::Option<extern "C" fn
(arg1: LPSTR, arg2: LPSTR, arg3: UINT,
arg4: LPSTR, arg5: LPDEVMODE) -> DWORD>;
#[repr(C)]
pub struct Struct_tagWCRANGE {
pub wcLow: WCHAR,
pub cGlyphs: USHORT,
}
pub type WCRANGE = Struct_tagWCRANGE;
pub type PWCRANGE = *mut Struct_tagWCRANGE;
pub type LPWCRANGE = *mut Struct_tagWCRANGE;
#[repr(C)]
pub struct Struct_tagGLYPHSET {
pub cbThis: DWORD,
pub flAccel: DWORD,
pub cGlyphsSupported: DWORD,
pub cRanges: DWORD,
pub ranges: [WCRANGE, ..1u],
}
pub type GLYPHSET = Struct_tagGLYPHSET;
pub type PGLYPHSET = *mut Struct_tagGLYPHSET;
pub type LPGLYPHSET = *mut Struct_tagGLYPHSET;
#[repr(C)]
pub struct Struct_tagDESIGNVECTOR {
pub dvReserved: DWORD,
pub dvNumAxes: DWORD,
pub dvValues: [LONG, ..16u],
}
pub type DESIGNVECTOR = Struct_tagDESIGNVECTOR;
pub type PDESIGNVECTOR = *mut Struct_tagDESIGNVECTOR;
pub type LPDESIGNVECTOR = *mut Struct_tagDESIGNVECTOR;
#[repr(C)]
pub struct Struct_tagAXISINFOA {
pub axMinValue: LONG,
pub axMaxValue: LONG,
pub axAxisName: [BYTE, ..16u],
}
pub type AXISINFOA = Struct_tagAXISINFOA;
pub type PAXISINFOA = *mut Struct_tagAXISINFOA;
pub type LPAXISINFOA = *mut Struct_tagAXISINFOA;
#[repr(C)]
pub struct Struct_tagAXISINFOW {
pub axMinValue: LONG,
pub axMaxValue: LONG,
pub axAxisName: [WCHAR, ..16u],
}
pub type AXISINFOW = Struct_tagAXISINFOW;
pub type PAXISINFOW = *mut Struct_tagAXISINFOW;
pub type LPAXISINFOW = *mut Struct_tagAXISINFOW;
pub type AXISINFO = AXISINFOA;
pub type PAXISINFO = PAXISINFOA;
pub type LPAXISINFO = LPAXISINFOA;
#[repr(C)]
pub struct Struct_tagAXESLISTA {
pub axlReserved: DWORD,
pub axlNumAxes: DWORD,
pub axlAxisInfo: [AXISINFOA, ..16u],
}
pub type AXESLISTA = Struct_tagAXESLISTA;
pub type PAXESLISTA = *mut Struct_tagAXESLISTA;
pub type LPAXESLISTA = *mut Struct_tagAXESLISTA;
#[repr(C)]
pub struct Struct_tagAXESLISTW {
pub axlReserved: DWORD,
pub axlNumAxes: DWORD,
pub axlAxisInfo: [AXISINFOW, ..16u],
}
pub type AXESLISTW = Struct_tagAXESLISTW;
pub type PAXESLISTW = *mut Struct_tagAXESLISTW;
pub type LPAXESLISTW = *mut Struct_tagAXESLISTW;
pub type AXESLIST = AXESLISTA;
pub type PAXESLIST = PAXESLISTA;
pub type LPAXESLIST = LPAXESLISTA;
#[repr(C)]
pub struct Struct_tagENUMLOGFONTEXDVA {
pub elfEnumLogfontEx: ENUMLOGFONTEXA,
pub elfDesignVector: DESIGNVECTOR,
}
pub type ENUMLOGFONTEXDVA = Struct_tagENUMLOGFONTEXDVA;
pub type PENUMLOGFONTEXDVA = *mut Struct_tagENUMLOGFONTEXDVA;
pub type LPENUMLOGFONTEXDVA = *mut Struct_tagENUMLOGFONTEXDVA;
#[repr(C)]
pub struct Struct_tagENUMLOGFONTEXDVW {
pub elfEnumLogfontEx: ENUMLOGFONTEXW,
pub elfDesignVector: DESIGNVECTOR,
}
pub type ENUMLOGFONTEXDVW = Struct_tagENUMLOGFONTEXDVW;
pub type PENUMLOGFONTEXDVW = *mut Struct_tagENUMLOGFONTEXDVW;
pub type LPENUMLOGFONTEXDVW = *mut Struct_tagENUMLOGFONTEXDVW;
pub type ENUMLOGFONTEXDV = ENUMLOGFONTEXDVA;
pub type PENUMLOGFONTEXDV = PENUMLOGFONTEXDVA;
pub type LPENUMLOGFONTEXDV = LPENUMLOGFONTEXDVA;
#[repr(C)]
pub struct Struct_tagENUMTEXTMETRICA {
pub etmNewTextMetricEx: NEWTEXTMETRICEXA,
pub etmAxesList: AXESLISTA,
}
pub type ENUMTEXTMETRICA = Struct_tagENUMTEXTMETRICA;
pub type PENUMTEXTMETRICA = *mut Struct_tagENUMTEXTMETRICA;
pub type LPENUMTEXTMETRICA = *mut Struct_tagENUMTEXTMETRICA;
#[repr(C)]
pub struct Struct_tagENUMTEXTMETRICW {
pub etmNewTextMetricEx: NEWTEXTMETRICEXW,
pub etmAxesList: AXESLISTW,
}
pub type ENUMTEXTMETRICW = Struct_tagENUMTEXTMETRICW;
pub type PENUMTEXTMETRICW = *mut Struct_tagENUMTEXTMETRICW;
pub type LPENUMTEXTMETRICW = *mut Struct_tagENUMTEXTMETRICW;
pub type ENUMTEXTMETRIC = ENUMTEXTMETRICA;
pub type PENUMTEXTMETRIC = PENUMTEXTMETRICA;
pub type LPENUMTEXTMETRIC = LPENUMTEXTMETRICA;
pub type COLOR16 = USHORT;
#[repr(C)]
pub struct Struct__TRIVERTEX {
pub x: LONG,
pub y: LONG,
pub Red: COLOR16,
pub Green: COLOR16,
pub Blue: COLOR16,
pub Alpha: COLOR16,
}
pub type TRIVERTEX = Struct__TRIVERTEX;
pub type PTRIVERTEX = *mut Struct__TRIVERTEX;
pub type LPTRIVERTEX = *mut Struct__TRIVERTEX;
#[repr(C)]
pub struct Struct__GRADIENT_TRIANGLE {
pub Vertex1: ULONG,
pub Vertex2: ULONG,
pub Vertex3: ULONG,
}
pub type GRADIENT_TRIANGLE = Struct__GRADIENT_TRIANGLE;
pub type PGRADIENT_TRIANGLE = *mut Struct__GRADIENT_TRIANGLE;
pub type LPGRADIENT_TRIANGLE = *mut Struct__GRADIENT_TRIANGLE;
#[repr(C)]
pub struct Struct__GRADIENT_RECT {
pub UpperLeft: ULONG,
pub LowerRight: ULONG,
}
pub type GRADIENT_RECT = Struct__GRADIENT_RECT;
pub type PGRADIENT_RECT = *mut Struct__GRADIENT_RECT;
pub type LPGRADIENT_RECT = *mut Struct__GRADIENT_RECT;
#[repr(C)]
pub struct Struct__BLENDFUNCTION {
pub BlendOp: BYTE,
pub BlendFlags: BYTE,
pub SourceConstantAlpha: BYTE,
pub AlphaFormat: BYTE,
}
pub type BLENDFUNCTION = Struct__BLENDFUNCTION;
pub type PBLENDFUNCTION = *mut Struct__BLENDFUNCTION;
pub type MFENUMPROC =
::std::option::Option<extern "C" fn
(arg1: HDC, arg2: *mut HANDLETABLE,
arg3: *mut METARECORD, arg4: ::libc::c_int,
arg5: LPARAM) -> ::libc::c_int>;
pub type ENHMFENUMPROC =
::std::option::Option<extern "C" fn
(arg1: HDC, arg2: *mut HANDLETABLE,
arg3: *const ENHMETARECORD,
arg4: ::libc::c_int, arg5: LPARAM)
-> ::libc::c_int>;
#[repr(C)]
pub struct Struct_tagDIBSECTION {
pub dsBm: BITMAP,
pub dsBmih: BITMAPINFOHEADER,
pub dsBitfields: [DWORD, ..3u],
pub dshSection: HANDLE,
pub dsOffset: DWORD,
}
pub type DIBSECTION = Struct_tagDIBSECTION;
pub type LPDIBSECTION = *mut Struct_tagDIBSECTION;
pub type PDIBSECTION = *mut Struct_tagDIBSECTION;
#[repr(C)]
pub struct Struct_tagCOLORADJUSTMENT {
pub caSize: WORD,
pub caFlags: WORD,
pub caIlluminantIndex: WORD,
pub caRedGamma: WORD,
pub caGreenGamma: WORD,
pub caBlueGamma: WORD,
pub caReferenceBlack: WORD,
pub caReferenceWhite: WORD,
pub caContrast: SHORT,
pub caBrightness: SHORT,
pub caColorfulness: SHORT,
pub caRedGreenTint: SHORT,
}
pub type COLORADJUSTMENT = Struct_tagCOLORADJUSTMENT;
pub type PCOLORADJUSTMENT = *mut Struct_tagCOLORADJUSTMENT;
pub type LPCOLORADJUSTMENT = *mut Struct_tagCOLORADJUSTMENT;
pub type ABORTPROC =
::std::option::Option<extern "C" fn(arg1: HDC, arg2: ::libc::c_int)
-> WINBOOL>;
#[repr(C)]
pub struct Struct__DOCINFOA {
pub cbSize: ::libc::c_int,
pub lpszDocName: LPCSTR,
pub lpszOutput: LPCSTR,
pub lpszDatatype: LPCSTR,
pub fwType: DWORD,
}
pub type DOCINFOA = Struct__DOCINFOA;
pub type LPDOCINFOA = *mut Struct__DOCINFOA;
#[repr(C)]
pub struct Struct__DOCINFOW {
pub cbSize: ::libc::c_int,
pub lpszDocName: LPCWSTR,
pub lpszOutput: LPCWSTR,
pub lpszDatatype: LPCWSTR,
pub fwType: DWORD,
}
pub type DOCINFOW = Struct__DOCINFOW;
pub type LPDOCINFOW = *mut Struct__DOCINFOW;
pub type DOCINFO = DOCINFOA;
pub type LPDOCINFO = LPDOCINFOA;
#[repr(C)]
pub struct Struct_tagKERNINGPAIR {
pub wFirst: WORD,
pub wSecond: WORD,
pub iKernAmount: ::libc::c_int,
}
pub type KERNINGPAIR = Struct_tagKERNINGPAIR;
pub type LPKERNINGPAIR = *mut Struct_tagKERNINGPAIR;
pub type ICMENUMPROCA =
::std::option::Option<extern "C" fn(arg1: LPSTR, arg2: LPARAM)
-> ::libc::c_int>;
pub type ICMENUMPROCW =
::std::option::Option<extern "C" fn(arg1: LPWSTR, arg2: LPARAM)
-> ::libc::c_int>;
#[repr(C)]
pub struct Struct_tagEMR {
pub iType: DWORD,
pub nSize: DWORD,
}
pub type EMR = Struct_tagEMR;
pub type PEMR = *mut Struct_tagEMR;
#[repr(C)]
pub struct Struct_tagEMRTEXT {
pub ptlReference: POINTL,
pub nChars: DWORD,
pub offString: DWORD,
pub fOptions: DWORD,
pub rcl: RECTL,
pub offDx: DWORD,
}
pub type EMRTEXT = Struct_tagEMRTEXT;
pub type PEMRTEXT = *mut Struct_tagEMRTEXT;
#[repr(C)]
pub struct Struct_tagABORTPATH {
pub emr: EMR,
}
pub type EMRABORTPATH = Struct_tagABORTPATH;
pub type PEMRABORTPATH = *mut Struct_tagABORTPATH;
pub type EMRBEGINPATH = Struct_tagABORTPATH;
pub type PEMRBEGINPATH = *mut Struct_tagABORTPATH;
pub type EMRENDPATH = Struct_tagABORTPATH;
pub type PEMRENDPATH = *mut Struct_tagABORTPATH;
pub type EMRCLOSEFIGURE = Struct_tagABORTPATH;
pub type PEMRCLOSEFIGURE = *mut Struct_tagABORTPATH;
pub type EMRFLATTENPATH = Struct_tagABORTPATH;
pub type PEMRFLATTENPATH = *mut Struct_tagABORTPATH;
pub type EMRWIDENPATH = Struct_tagABORTPATH;
pub type PEMRWIDENPATH = *mut Struct_tagABORTPATH;
pub type EMRSETMETARGN = Struct_tagABORTPATH;
pub type PEMRSETMETARGN = *mut Struct_tagABORTPATH;
pub type EMRSAVEDC = Struct_tagABORTPATH;
pub type PEMRSAVEDC = *mut Struct_tagABORTPATH;
pub type EMRREALIZEPALETTE = Struct_tagABORTPATH;
pub type PEMRREALIZEPALETTE = *mut Struct_tagABORTPATH;
#[repr(C)]
pub struct Struct_tagEMRSELECTCLIPPATH {
pub emr: EMR,
pub iMode: DWORD,
}
pub type EMRSELECTCLIPPATH = Struct_tagEMRSELECTCLIPPATH;
pub type PEMRSELECTCLIPPATH = *mut Struct_tagEMRSELECTCLIPPATH;
pub type EMRSETBKMODE = Struct_tagEMRSELECTCLIPPATH;
pub type PEMRSETBKMODE = *mut Struct_tagEMRSELECTCLIPPATH;
pub type EMRSETMAPMODE = Struct_tagEMRSELECTCLIPPATH;
pub type PEMRSETMAPMODE = *mut Struct_tagEMRSELECTCLIPPATH;
pub type EMRSETLAYOUT = Struct_tagEMRSELECTCLIPPATH;
pub type PEMRSETLAYOUT = *mut Struct_tagEMRSELECTCLIPPATH;
pub type EMRSETPOLYFILLMODE = Struct_tagEMRSELECTCLIPPATH;
pub type PEMRSETPOLYFILLMODE = *mut Struct_tagEMRSELECTCLIPPATH;
pub type EMRSETROP2 = Struct_tagEMRSELECTCLIPPATH;
pub type PEMRSETROP2 = *mut Struct_tagEMRSELECTCLIPPATH;
pub type EMRSETSTRETCHBLTMODE = Struct_tagEMRSELECTCLIPPATH;
pub type PEMRSETSTRETCHBLTMODE = *mut Struct_tagEMRSELECTCLIPPATH;
pub type EMRSETICMMODE = Struct_tagEMRSELECTCLIPPATH;
pub type PEMRSETICMMODE = *mut Struct_tagEMRSELECTCLIPPATH;
pub type EMRSETTEXTALIGN = Struct_tagEMRSELECTCLIPPATH;
pub type PEMRSETTEXTALIGN = *mut Struct_tagEMRSELECTCLIPPATH;
#[repr(C)]
pub struct Struct_tagEMRSETMITERLIMIT {
pub emr: EMR,
pub eMiterLimit: FLOAT,
}
pub type EMRSETMITERLIMIT = Struct_tagEMRSETMITERLIMIT;
pub type PEMRSETMITERLIMIT = *mut Struct_tagEMRSETMITERLIMIT;
#[repr(C)]
pub struct Struct_tagEMRRESTOREDC {
pub emr: EMR,
pub iRelative: LONG,
}
pub type EMRRESTOREDC = Struct_tagEMRRESTOREDC;
pub type PEMRRESTOREDC = *mut Struct_tagEMRRESTOREDC;
#[repr(C)]
pub struct Struct_tagEMRSETARCDIRECTION {
pub emr: EMR,
pub iArcDirection: DWORD,
}
pub type EMRSETARCDIRECTION = Struct_tagEMRSETARCDIRECTION;
pub type PEMRSETARCDIRECTION = *mut Struct_tagEMRSETARCDIRECTION;
#[repr(C)]
pub struct Struct_tagEMRSETMAPPERFLAGS {
pub emr: EMR,
pub dwFlags: DWORD,
}
pub type EMRSETMAPPERFLAGS = Struct_tagEMRSETMAPPERFLAGS;
pub type PEMRSETMAPPERFLAGS = *mut Struct_tagEMRSETMAPPERFLAGS;
#[repr(C)]
pub struct Struct_tagEMRSETTEXTCOLOR {
pub emr: EMR,
pub crColor: COLORREF,
}
pub type EMRSETBKCOLOR = Struct_tagEMRSETTEXTCOLOR;
pub type PEMRSETBKCOLOR = *mut Struct_tagEMRSETTEXTCOLOR;
pub type EMRSETTEXTCOLOR = Struct_tagEMRSETTEXTCOLOR;
pub type PEMRSETTEXTCOLOR = *mut Struct_tagEMRSETTEXTCOLOR;
#[repr(C)]
pub struct Struct_tagEMRSELECTOBJECT {
pub emr: EMR,
pub ihObject: DWORD,
}
pub type EMRSELECTOBJECT = Struct_tagEMRSELECTOBJECT;
pub type PEMRSELECTOBJECT = *mut Struct_tagEMRSELECTOBJECT;
pub type EMRDELETEOBJECT = Struct_tagEMRSELECTOBJECT;
pub type PEMRDELETEOBJECT = *mut Struct_tagEMRSELECTOBJECT;
#[repr(C)]
pub struct Struct_tagEMRSELECTPALETTE {
pub emr: EMR,
pub ihPal: DWORD,
}
pub type EMRSELECTPALETTE = Struct_tagEMRSELECTPALETTE;
pub type PEMRSELECTPALETTE = *mut Struct_tagEMRSELECTPALETTE;
#[repr(C)]
pub struct Struct_tagEMRRESIZEPALETTE {
pub emr: EMR,
pub ihPal: DWORD,
pub cEntries: DWORD,
}
pub type EMRRESIZEPALETTE = Struct_tagEMRRESIZEPALETTE;
pub type PEMRRESIZEPALETTE = *mut Struct_tagEMRRESIZEPALETTE;
#[repr(C)]
pub struct Struct_tagEMRSETPALETTEENTRIES {
pub emr: EMR,
pub ihPal: DWORD,
pub iStart: DWORD,
pub cEntries: DWORD,
pub aPalEntries: [PALETTEENTRY, ..1u],
}
pub type EMRSETPALETTEENTRIES = Struct_tagEMRSETPALETTEENTRIES;
pub type PEMRSETPALETTEENTRIES = *mut Struct_tagEMRSETPALETTEENTRIES;
#[repr(C)]
pub struct Struct_tagEMRSETCOLORADJUSTMENT {
pub emr: EMR,
pub ColorAdjustment: COLORADJUSTMENT,
}
pub type EMRSETCOLORADJUSTMENT = Struct_tagEMRSETCOLORADJUSTMENT;
pub type PEMRSETCOLORADJUSTMENT = *mut Struct_tagEMRSETCOLORADJUSTMENT;
#[repr(C)]
pub struct Struct_tagEMRGDICOMMENT {
pub emr: EMR,
pub cbData: DWORD,
pub Data: [BYTE, ..1u],
}
pub type EMRGDICOMMENT = Struct_tagEMRGDICOMMENT;
pub type PEMRGDICOMMENT = *mut Struct_tagEMRGDICOMMENT;
#[repr(C)]
pub struct Struct_tagEMREOF {
pub emr: EMR,
pub nPalEntries: DWORD,
pub offPalEntries: DWORD,
pub nSizeLast: DWORD,
}
pub type EMREOF = Struct_tagEMREOF;
pub type PEMREOF = *mut Struct_tagEMREOF;
#[repr(C)]
pub struct Struct_tagEMRLINETO {
pub emr: EMR,
pub ptl: POINTL,
}
pub type EMRLINETO = Struct_tagEMRLINETO;
pub type PEMRLINETO = *mut Struct_tagEMRLINETO;
pub type EMRMOVETOEX = Struct_tagEMRLINETO;
pub type PEMRMOVETOEX = *mut Struct_tagEMRLINETO;
#[repr(C)]
pub struct Struct_tagEMROFFSETCLIPRGN {
pub emr: EMR,
pub ptlOffset: POINTL,
}
pub type EMROFFSETCLIPRGN = Struct_tagEMROFFSETCLIPRGN;
pub type PEMROFFSETCLIPRGN = *mut Struct_tagEMROFFSETCLIPRGN;
#[repr(C)]
pub struct Struct_tagEMRFILLPATH {
pub emr: EMR,
pub rclBounds: RECTL,
}
pub type EMRFILLPATH = Struct_tagEMRFILLPATH;
pub type PEMRFILLPATH = *mut Struct_tagEMRFILLPATH;
pub type EMRSTROKEANDFILLPATH = Struct_tagEMRFILLPATH;
pub type PEMRSTROKEANDFILLPATH = *mut Struct_tagEMRFILLPATH;
pub type EMRSTROKEPATH = Struct_tagEMRFILLPATH;
pub type PEMRSTROKEPATH = *mut Struct_tagEMRFILLPATH;
#[repr(C)]
pub struct Struct_tagEMREXCLUDECLIPRECT {
pub emr: EMR,
pub rclClip: RECTL,
}
pub type EMREXCLUDECLIPRECT = Struct_tagEMREXCLUDECLIPRECT;
pub type PEMREXCLUDECLIPRECT = *mut Struct_tagEMREXCLUDECLIPRECT;
pub type EMRINTERSECTCLIPRECT = Struct_tagEMREXCLUDECLIPRECT;
pub type PEMRINTERSECTCLIPRECT = *mut Struct_tagEMREXCLUDECLIPRECT;
#[repr(C)]
pub struct Struct_tagEMRSETVIEWPORTORGEX {
pub emr: EMR,
pub ptlOrigin: POINTL,
}
pub type EMRSETVIEWPORTORGEX = Struct_tagEMRSETVIEWPORTORGEX;
pub type PEMRSETVIEWPORTORGEX = *mut Struct_tagEMRSETVIEWPORTORGEX;
pub type EMRSETWINDOWORGEX = Struct_tagEMRSETVIEWPORTORGEX;
pub type PEMRSETWINDOWORGEX = *mut Struct_tagEMRSETVIEWPORTORGEX;
pub type EMRSETBRUSHORGEX = Struct_tagEMRSETVIEWPORTORGEX;
pub type PEMRSETBRUSHORGEX = *mut Struct_tagEMRSETVIEWPORTORGEX;
#[repr(C)]
pub struct Struct_tagEMRSETVIEWPORTEXTEX {
pub emr: EMR,
pub szlExtent: SIZEL,
}
pub type EMRSETVIEWPORTEXTEX = Struct_tagEMRSETVIEWPORTEXTEX;
pub type PEMRSETVIEWPORTEXTEX = *mut Struct_tagEMRSETVIEWPORTEXTEX;
pub type EMRSETWINDOWEXTEX = Struct_tagEMRSETVIEWPORTEXTEX;
pub type PEMRSETWINDOWEXTEX = *mut Struct_tagEMRSETVIEWPORTEXTEX;
#[repr(C)]
pub struct Struct_tagEMRSCALEVIEWPORTEXTEX {
pub emr: EMR,
pub xNum: LONG,
pub xDenom: LONG,
pub yNum: LONG,
pub yDenom: LONG,
}
pub type EMRSCALEVIEWPORTEXTEX = Struct_tagEMRSCALEVIEWPORTEXTEX;
pub type PEMRSCALEVIEWPORTEXTEX = *mut Struct_tagEMRSCALEVIEWPORTEXTEX;
pub type EMRSCALEWINDOWEXTEX = Struct_tagEMRSCALEVIEWPORTEXTEX;
pub type PEMRSCALEWINDOWEXTEX = *mut Struct_tagEMRSCALEVIEWPORTEXTEX;
#[repr(C)]
pub struct Struct_tagEMRSETWORLDTRANSFORM {
pub emr: EMR,
pub xform: XFORM,
}
pub type EMRSETWORLDTRANSFORM = Struct_tagEMRSETWORLDTRANSFORM;
pub type PEMRSETWORLDTRANSFORM = *mut Struct_tagEMRSETWORLDTRANSFORM;
#[repr(C)]
pub struct Struct_tagEMRMODIFYWORLDTRANSFORM {
pub emr: EMR,
pub xform: XFORM,
pub iMode: DWORD,
}
pub type EMRMODIFYWORLDTRANSFORM = Struct_tagEMRMODIFYWORLDTRANSFORM;
pub type PEMRMODIFYWORLDTRANSFORM = *mut Struct_tagEMRMODIFYWORLDTRANSFORM;
#[repr(C)]
pub struct Struct_tagEMRSETPIXELV {
pub emr: EMR,
pub ptlPixel: POINTL,
pub crColor: COLORREF,
}
pub type EMRSETPIXELV = Struct_tagEMRSETPIXELV;
pub type PEMRSETPIXELV = *mut Struct_tagEMRSETPIXELV;
#[repr(C)]
pub struct Struct_tagEMREXTFLOODFILL {
pub emr: EMR,
pub ptlStart: POINTL,
pub crColor: COLORREF,
pub iMode: DWORD,
}
pub type EMREXTFLOODFILL = Struct_tagEMREXTFLOODFILL;
pub type PEMREXTFLOODFILL = *mut Struct_tagEMREXTFLOODFILL;
#[repr(C)]
pub struct Struct_tagEMRELLIPSE {
pub emr: EMR,
pub rclBox: RECTL,
}
pub type EMRELLIPSE = Struct_tagEMRELLIPSE;
pub type PEMRELLIPSE = *mut Struct_tagEMRELLIPSE;
pub type EMRRECTANGLE = Struct_tagEMRELLIPSE;
pub type PEMRRECTANGLE = *mut Struct_tagEMRELLIPSE;
#[repr(C)]
pub struct Struct_tagEMRROUNDRECT {
pub emr: EMR,
pub rclBox: RECTL,
pub szlCorner: SIZEL,
}
pub type EMRROUNDRECT = Struct_tagEMRROUNDRECT;
pub type PEMRROUNDRECT = *mut Struct_tagEMRROUNDRECT;
#[repr(C)]
pub struct Struct_tagEMRARC {
pub emr: EMR,
pub rclBox: RECTL,
pub ptlStart: POINTL,
pub ptlEnd: POINTL,
}
pub type EMRARC = Struct_tagEMRARC;
pub type PEMRARC = *mut Struct_tagEMRARC;
pub type EMRARCTO = Struct_tagEMRARC;
pub type PEMRARCTO = *mut Struct_tagEMRARC;
pub type EMRCHORD = Struct_tagEMRARC;
pub type PEMRCHORD = *mut Struct_tagEMRARC;
pub type EMRPIE = Struct_tagEMRARC;
pub type PEMRPIE = *mut Struct_tagEMRARC;
#[repr(C)]
pub struct Struct_tagEMRANGLEARC {
pub emr: EMR,
pub ptlCenter: POINTL,
pub nRadius: DWORD,
pub eStartAngle: FLOAT,
pub eSweepAngle: FLOAT,
}
pub type EMRANGLEARC = Struct_tagEMRANGLEARC;
pub type PEMRANGLEARC = *mut Struct_tagEMRANGLEARC;
#[repr(C)]
pub struct Struct_tagEMRPOLYLINE {
pub emr: EMR,
pub rclBounds: RECTL,
pub cptl: DWORD,
pub aptl: [POINTL, ..1u],
}
pub type EMRPOLYLINE = Struct_tagEMRPOLYLINE;
pub type PEMRPOLYLINE = *mut Struct_tagEMRPOLYLINE;
pub type EMRPOLYBEZIER = Struct_tagEMRPOLYLINE;
pub type PEMRPOLYBEZIER = *mut Struct_tagEMRPOLYLINE;
pub type EMRPOLYGON = Struct_tagEMRPOLYLINE;
pub type PEMRPOLYGON = *mut Struct_tagEMRPOLYLINE;
pub type EMRPOLYBEZIERTO = Struct_tagEMRPOLYLINE;
pub type PEMRPOLYBEZIERTO = *mut Struct_tagEMRPOLYLINE;
pub type EMRPOLYLINETO = Struct_tagEMRPOLYLINE;
pub type PEMRPOLYLINETO = *mut Struct_tagEMRPOLYLINE;
#[repr(C)]
pub struct Struct_tagEMRPOLYLINE16 {
pub emr: EMR,
pub rclBounds: RECTL,
pub cpts: DWORD,
pub apts: [POINTS, ..1u],
}
pub type EMRPOLYLINE16 = Struct_tagEMRPOLYLINE16;
pub type PEMRPOLYLINE16 = *mut Struct_tagEMRPOLYLINE16;
pub type EMRPOLYBEZIER16 = Struct_tagEMRPOLYLINE16;
pub type PEMRPOLYBEZIER16 = *mut Struct_tagEMRPOLYLINE16;
pub type EMRPOLYGON16 = Struct_tagEMRPOLYLINE16;
pub type PEMRPOLYGON16 = *mut Struct_tagEMRPOLYLINE16;
pub type EMRPOLYBEZIERTO16 = Struct_tagEMRPOLYLINE16;
pub type PEMRPOLYBEZIERTO16 = *mut Struct_tagEMRPOLYLINE16;
pub type EMRPOLYLINETO16 = Struct_tagEMRPOLYLINE16;
pub type PEMRPOLYLINETO16 = *mut Struct_tagEMRPOLYLINE16;
#[repr(C)]
pub struct Struct_tagEMRPOLYDRAW {
pub emr: EMR,
pub rclBounds: RECTL,
pub cptl: DWORD,
pub aptl: [POINTL, ..1u],
pub abTypes: [BYTE, ..1u],
}
pub type EMRPOLYDRAW = Struct_tagEMRPOLYDRAW;
pub type PEMRPOLYDRAW = *mut Struct_tagEMRPOLYDRAW;
#[repr(C)]
pub struct Struct_tagEMRPOLYDRAW16 {
pub emr: EMR,
pub rclBounds: RECTL,
pub cpts: DWORD,
pub apts: [POINTS, ..1u],
pub abTypes: [BYTE, ..1u],
}
pub type EMRPOLYDRAW16 = Struct_tagEMRPOLYDRAW16;
pub type PEMRPOLYDRAW16 = *mut Struct_tagEMRPOLYDRAW16;
#[repr(C)]
pub struct Struct_tagEMRPOLYPOLYLINE {
pub emr: EMR,
pub rclBounds: RECTL,
pub nPolys: DWORD,
pub cptl: DWORD,
pub aPolyCounts: [DWORD, ..1u],
pub aptl: [POINTL, ..1u],
}
pub type EMRPOLYPOLYLINE = Struct_tagEMRPOLYPOLYLINE;
pub type PEMRPOLYPOLYLINE = *mut Struct_tagEMRPOLYPOLYLINE;
pub type EMRPOLYPOLYGON = Struct_tagEMRPOLYPOLYLINE;
pub type PEMRPOLYPOLYGON = *mut Struct_tagEMRPOLYPOLYLINE;
#[repr(C)]
pub struct Struct_tagEMRPOLYPOLYLINE16 {
pub emr: EMR,
pub rclBounds: RECTL,
pub nPolys: DWORD,
pub cpts: DWORD,
pub aPolyCounts: [DWORD, ..1u],
pub apts: [POINTS, ..1u],
}
pub type EMRPOLYPOLYLINE16 = Struct_tagEMRPOLYPOLYLINE16;
pub type PEMRPOLYPOLYLINE16 = *mut Struct_tagEMRPOLYPOLYLINE16;
pub type EMRPOLYPOLYGON16 = Struct_tagEMRPOLYPOLYLINE16;
pub type PEMRPOLYPOLYGON16 = *mut Struct_tagEMRPOLYPOLYLINE16;
#[repr(C)]
pub struct Struct_tagEMRINVERTRGN {
pub emr: EMR,
pub rclBounds: RECTL,
pub cbRgnData: DWORD,
pub RgnData: [BYTE, ..1u],
}
pub type EMRINVERTRGN = Struct_tagEMRINVERTRGN;
pub type PEMRINVERTRGN = *mut Struct_tagEMRINVERTRGN;
pub type EMRPAINTRGN = Struct_tagEMRINVERTRGN;
pub type PEMRPAINTRGN = *mut Struct_tagEMRINVERTRGN;
#[repr(C)]
pub struct Struct_tagEMRFILLRGN {
pub emr: EMR,
pub rclBounds: RECTL,
pub cbRgnData: DWORD,
pub ihBrush: DWORD,
pub RgnData: [BYTE, ..1u],
}
pub type EMRFILLRGN = Struct_tagEMRFILLRGN;
pub type PEMRFILLRGN = *mut Struct_tagEMRFILLRGN;
#[repr(C)]
pub struct Struct_tagEMRFRAMERGN {
pub emr: EMR,
pub rclBounds: RECTL,
pub cbRgnData: DWORD,
pub ihBrush: DWORD,
pub szlStroke: SIZEL,
pub RgnData: [BYTE, ..1u],
}
pub type EMRFRAMERGN = Struct_tagEMRFRAMERGN;
pub type PEMRFRAMERGN = *mut Struct_tagEMRFRAMERGN;
#[repr(C)]
pub struct Struct_tagEMREXTSELECTCLIPRGN {
pub emr: EMR,
pub cbRgnData: DWORD,
pub iMode: DWORD,
pub RgnData: [BYTE, ..1u],
}
pub type EMREXTSELECTCLIPRGN = Struct_tagEMREXTSELECTCLIPRGN;
pub type PEMREXTSELECTCLIPRGN = *mut Struct_tagEMREXTSELECTCLIPRGN;
#[repr(C)]
pub struct Struct_tagEMREXTTEXTOUTA {
pub emr: EMR,
pub rclBounds: RECTL,
pub iGraphicsMode: DWORD,
pub exScale: FLOAT,
pub eyScale: FLOAT,
pub emrtext: EMRTEXT,
}
pub type EMREXTTEXTOUTA = Struct_tagEMREXTTEXTOUTA;
pub type PEMREXTTEXTOUTA = *mut Struct_tagEMREXTTEXTOUTA;
pub type EMREXTTEXTOUTW = Struct_tagEMREXTTEXTOUTA;
pub type PEMREXTTEXTOUTW = *mut Struct_tagEMREXTTEXTOUTA;
#[repr(C)]
pub struct Struct_tagEMRPOLYTEXTOUTA {
pub emr: EMR,
pub rclBounds: RECTL,
pub iGraphicsMode: DWORD,
pub exScale: FLOAT,
pub eyScale: FLOAT,
pub cStrings: LONG,
pub aemrtext: [EMRTEXT, ..1u],
}
pub type EMRPOLYTEXTOUTA = Struct_tagEMRPOLYTEXTOUTA;
pub type PEMRPOLYTEXTOUTA = *mut Struct_tagEMRPOLYTEXTOUTA;
pub type EMRPOLYTEXTOUTW = Struct_tagEMRPOLYTEXTOUTA;
pub type PEMRPOLYTEXTOUTW = *mut Struct_tagEMRPOLYTEXTOUTA;
#[repr(C)]
pub struct Struct_tagEMRBITBLT {
pub emr: EMR,
pub rclBounds: RECTL,
pub xDest: LONG,
pub yDest: LONG,
pub cxDest: LONG,
pub cyDest: LONG,
pub dwRop: DWORD,
pub xSrc: LONG,
pub ySrc: LONG,
pub xformSrc: XFORM,
pub crBkColorSrc: COLORREF,
pub iUsageSrc: DWORD,
pub offBmiSrc: DWORD,
pub cbBmiSrc: DWORD,
pub offBitsSrc: DWORD,
pub cbBitsSrc: DWORD,
}
pub type EMRBITBLT = Struct_tagEMRBITBLT;
pub type PEMRBITBLT = *mut Struct_tagEMRBITBLT;
#[repr(C)]
pub struct Struct_tagEMRSTRETCHBLT {
pub emr: EMR,
pub rclBounds: RECTL,
pub xDest: LONG,
pub yDest: LONG,
pub cxDest: LONG,
pub cyDest: LONG,
pub dwRop: DWORD,
pub xSrc: LONG,
pub ySrc: LONG,
pub xformSrc: XFORM,
pub crBkColorSrc: COLORREF,
pub iUsageSrc: DWORD,
pub offBmiSrc: DWORD,
pub cbBmiSrc: DWORD,
pub offBitsSrc: DWORD,
pub cbBitsSrc: DWORD,
pub cxSrc: LONG,
pub cySrc: LONG,
}
pub type EMRSTRETCHBLT = Struct_tagEMRSTRETCHBLT;
pub type PEMRSTRETCHBLT = *mut Struct_tagEMRSTRETCHBLT;
#[repr(C)]
pub struct Struct_tagEMRMASKBLT {
pub emr: EMR,
pub rclBounds: RECTL,
pub xDest: LONG,
pub yDest: LONG,
pub cxDest: LONG,
pub cyDest: LONG,
pub dwRop: DWORD,
pub xSrc: LONG,
pub ySrc: LONG,
pub xformSrc: XFORM,
pub crBkColorSrc: COLORREF,
pub iUsageSrc: DWORD,
pub offBmiSrc: DWORD,
pub cbBmiSrc: DWORD,
pub offBitsSrc: DWORD,
pub cbBitsSrc: DWORD,
pub xMask: LONG,
pub yMask: LONG,
pub iUsageMask: DWORD,
pub offBmiMask: DWORD,
pub cbBmiMask: DWORD,
pub offBitsMask: DWORD,
pub cbBitsMask: DWORD,
}
pub type EMRMASKBLT = Struct_tagEMRMASKBLT;
pub type PEMRMASKBLT = *mut Struct_tagEMRMASKBLT;
#[repr(C)]
pub struct Struct_tagEMRPLGBLT {
pub emr: EMR,
pub rclBounds: RECTL,
pub aptlDest: [POINTL, ..3u],
pub xSrc: LONG,
pub ySrc: LONG,
pub cxSrc: LONG,
pub cySrc: LONG,
pub xformSrc: XFORM,
pub crBkColorSrc: COLORREF,
pub iUsageSrc: DWORD,
pub offBmiSrc: DWORD,
pub cbBmiSrc: DWORD,
pub offBitsSrc: DWORD,
pub cbBitsSrc: DWORD,
pub xMask: LONG,
pub yMask: LONG,
pub iUsageMask: DWORD,
pub offBmiMask: DWORD,
pub cbBmiMask: DWORD,
pub offBitsMask: DWORD,
pub cbBitsMask: DWORD,
}
pub type EMRPLGBLT = Struct_tagEMRPLGBLT;
pub type PEMRPLGBLT = *mut Struct_tagEMRPLGBLT;
#[repr(C)]
pub struct Struct_tagEMRSETDIBITSTODEVICE {
pub emr: EMR,
pub rclBounds: RECTL,
pub xDest: LONG,
pub yDest: LONG,
pub xSrc: LONG,
pub ySrc: LONG,
pub cxSrc: LONG,
pub cySrc: LONG,
pub offBmiSrc: DWORD,
pub cbBmiSrc: DWORD,
pub offBitsSrc: DWORD,
pub cbBitsSrc: DWORD,
pub iUsageSrc: DWORD,
pub iStartScan: DWORD,
pub cScans: DWORD,
}
pub type EMRSETDIBITSTODEVICE = Struct_tagEMRSETDIBITSTODEVICE;
pub type PEMRSETDIBITSTODEVICE = *mut Struct_tagEMRSETDIBITSTODEVICE;
#[repr(C)]
pub struct Struct_tagEMRSTRETCHDIBITS {
pub emr: EMR,
pub rclBounds: RECTL,
pub xDest: LONG,
pub yDest: LONG,
pub xSrc: LONG,
pub ySrc: LONG,
pub cxSrc: LONG,
pub cySrc: LONG,
pub offBmiSrc: DWORD,
pub cbBmiSrc: DWORD,
pub offBitsSrc: DWORD,
pub cbBitsSrc: DWORD,
pub iUsageSrc: DWORD,
pub dwRop: DWORD,
pub cxDest: LONG,
pub cyDest: LONG,
}
pub type EMRSTRETCHDIBITS = Struct_tagEMRSTRETCHDIBITS;
pub type PEMRSTRETCHDIBITS = *mut Struct_tagEMRSTRETCHDIBITS;
#[repr(C)]
pub struct Struct_tagEMREXTCREATEFONTINDIRECTW {
pub emr: EMR,
pub ihFont: DWORD,
pub elfw: EXTLOGFONTW,
}
pub type EMREXTCREATEFONTINDIRECTW = Struct_tagEMREXTCREATEFONTINDIRECTW;
pub type PEMREXTCREATEFONTINDIRECTW =
*mut Struct_tagEMREXTCREATEFONTINDIRECTW;
#[repr(C)]
pub struct Struct_tagEMRCREATEPALETTE {
pub emr: EMR,
pub ihPal: DWORD,
pub lgpl: LOGPALETTE,
}
pub type EMRCREATEPALETTE = Struct_tagEMRCREATEPALETTE;
pub type PEMRCREATEPALETTE = *mut Struct_tagEMRCREATEPALETTE;
#[repr(C)]
pub struct Struct_tagEMRCREATEPEN {
pub emr: EMR,
pub ihPen: DWORD,
pub lopn: LOGPEN,
}
pub type EMRCREATEPEN = Struct_tagEMRCREATEPEN;
pub type PEMRCREATEPEN = *mut Struct_tagEMRCREATEPEN;
#[repr(C)]
pub struct Struct_tagEMREXTCREATEPEN {
pub emr: EMR,
pub ihPen: DWORD,
pub offBmi: DWORD,
pub cbBmi: DWORD,
pub offBits: DWORD,
pub cbBits: DWORD,
pub elp: EXTLOGPEN,
}
pub type EMREXTCREATEPEN = Struct_tagEMREXTCREATEPEN;
pub type PEMREXTCREATEPEN = *mut Struct_tagEMREXTCREATEPEN;
#[repr(C)]
pub struct Struct_tagEMRCREATEBRUSHINDIRECT {
pub emr: EMR,
pub ihBrush: DWORD,
pub lb: LOGBRUSH32,
}
pub type EMRCREATEBRUSHINDIRECT = Struct_tagEMRCREATEBRUSHINDIRECT;
pub type PEMRCREATEBRUSHINDIRECT = *mut Struct_tagEMRCREATEBRUSHINDIRECT;
#[repr(C)]
pub struct Struct_tagEMRCREATEMONOBRUSH {
pub emr: EMR,
pub ihBrush: DWORD,
pub iUsage: DWORD,
pub offBmi: DWORD,
pub cbBmi: DWORD,
pub offBits: DWORD,
pub cbBits: DWORD,
}
pub type EMRCREATEMONOBRUSH = Struct_tagEMRCREATEMONOBRUSH;
pub type PEMRCREATEMONOBRUSH = *mut Struct_tagEMRCREATEMONOBRUSH;
#[repr(C)]
pub struct Struct_tagEMRCREATEDIBPATTERNBRUSHPT {
pub emr: EMR,
pub ihBrush: DWORD,
pub iUsage: DWORD,
pub offBmi: DWORD,
pub cbBmi: DWORD,
pub offBits: DWORD,
pub cbBits: DWORD,
}
pub type EMRCREATEDIBPATTERNBRUSHPT = Struct_tagEMRCREATEDIBPATTERNBRUSHPT;
pub type PEMRCREATEDIBPATTERNBRUSHPT =
*mut Struct_tagEMRCREATEDIBPATTERNBRUSHPT;
#[repr(C)]
pub struct Struct_tagEMRFORMAT {
pub dSignature: DWORD,
pub nVersion: DWORD,
pub cbData: DWORD,
pub offData: DWORD,
}
pub type EMRFORMAT = Struct_tagEMRFORMAT;
pub type PEMRFORMAT = *mut Struct_tagEMRFORMAT;
#[repr(C)]
pub struct Struct_tagEMRGLSRECORD {
pub emr: EMR,
pub cbData: DWORD,
pub Data: [BYTE, ..1u],
}
pub type EMRGLSRECORD = Struct_tagEMRGLSRECORD;
pub type PEMRGLSRECORD = *mut Struct_tagEMRGLSRECORD;
#[repr(C)]
pub struct Struct_tagEMRGLSBOUNDEDRECORD {
pub emr: EMR,
pub rclBounds: RECTL,
pub cbData: DWORD,
pub Data: [BYTE, ..1u],
}
pub type EMRGLSBOUNDEDRECORD = Struct_tagEMRGLSBOUNDEDRECORD;
pub type PEMRGLSBOUNDEDRECORD = *mut Struct_tagEMRGLSBOUNDEDRECORD;
#[repr(C)]
pub struct Struct_tagEMRPIXELFORMAT {
pub emr: EMR,
pub pfd: PIXELFORMATDESCRIPTOR,
}
pub type EMRPIXELFORMAT = Struct_tagEMRPIXELFORMAT;
pub type PEMRPIXELFORMAT = *mut Struct_tagEMRPIXELFORMAT;
#[repr(C)]
pub struct Struct_tagEMRCREATECOLORSPACE {
pub emr: EMR,
pub ihCS: DWORD,
pub lcs: LOGCOLORSPACEA,
}
pub type EMRCREATECOLORSPACE = Struct_tagEMRCREATECOLORSPACE;
pub type PEMRCREATECOLORSPACE = *mut Struct_tagEMRCREATECOLORSPACE;
#[repr(C)]
pub struct Struct_tagEMRSETCOLORSPACE {
pub emr: EMR,
pub ihCS: DWORD,
}
pub type EMRSETCOLORSPACE = Struct_tagEMRSETCOLORSPACE;
pub type PEMRSETCOLORSPACE = *mut Struct_tagEMRSETCOLORSPACE;
pub type EMRSELECTCOLORSPACE = Struct_tagEMRSETCOLORSPACE;
pub type PEMRSELECTCOLORSPACE = *mut Struct_tagEMRSETCOLORSPACE;
pub type EMRDELETECOLORSPACE = Struct_tagEMRSETCOLORSPACE;
pub type PEMRDELETECOLORSPACE = *mut Struct_tagEMRSETCOLORSPACE;
#[repr(C)]
pub struct Struct_tagEMREXTESCAPE {
pub emr: EMR,
pub iEscape: INT,
pub cbEscData: INT,
pub EscData: [BYTE, ..1u],
}
pub type EMREXTESCAPE = Struct_tagEMREXTESCAPE;
pub type PEMREXTESCAPE = *mut Struct_tagEMREXTESCAPE;
pub type EMRDRAWESCAPE = Struct_tagEMREXTESCAPE;
pub type PEMRDRAWESCAPE = *mut Struct_tagEMREXTESCAPE;
#[repr(C)]
pub struct Struct_tagEMRNAMEDESCAPE {
pub emr: EMR,
pub iEscape: INT,
pub cbDriver: INT,
pub cbEscData: INT,
pub EscData: [BYTE, ..1u],
}
pub type EMRNAMEDESCAPE = Struct_tagEMRNAMEDESCAPE;
pub type PEMRNAMEDESCAPE = *mut Struct_tagEMRNAMEDESCAPE;
#[repr(C)]
pub struct Struct_tagEMRSETICMPROFILE {
pub emr: EMR,
pub dwFlags: DWORD,
pub cbName: DWORD,
pub cbData: DWORD,
pub Data: [BYTE, ..1u],
}
pub type EMRSETICMPROFILE = Struct_tagEMRSETICMPROFILE;
pub type PEMRSETICMPROFILE = *mut Struct_tagEMRSETICMPROFILE;
pub type EMRSETICMPROFILEA = Struct_tagEMRSETICMPROFILE;
pub type PEMRSETICMPROFILEA = *mut Struct_tagEMRSETICMPROFILE;
pub type EMRSETICMPROFILEW = Struct_tagEMRSETICMPROFILE;
pub type PEMRSETICMPROFILEW = *mut Struct_tagEMRSETICMPROFILE;
#[repr(C)]
pub struct Struct_tagEMRCREATECOLORSPACEW {
pub emr: EMR,
pub ihCS: DWORD,
pub lcs: LOGCOLORSPACEW,
pub dwFlags: DWORD,
pub cbData: DWORD,
pub Data: [BYTE, ..1u],
}
pub type EMRCREATECOLORSPACEW = Struct_tagEMRCREATECOLORSPACEW;
pub type PEMRCREATECOLORSPACEW = *mut Struct_tagEMRCREATECOLORSPACEW;
#[repr(C)]
pub struct Struct_tagCOLORMATCHTOTARGET {
pub emr: EMR,
pub dwAction: DWORD,
pub dwFlags: DWORD,
pub cbName: DWORD,
pub cbData: DWORD,
pub Data: [BYTE, ..1u],
}
pub type EMRCOLORMATCHTOTARGET = Struct_tagCOLORMATCHTOTARGET;
pub type PEMRCOLORMATCHTOTARGET = *mut Struct_tagCOLORMATCHTOTARGET;
#[repr(C)]
pub struct Struct_tagCOLORCORRECTPALETTE {
pub emr: EMR,
pub ihPalette: DWORD,
pub nFirstEntry: DWORD,
pub nPalEntries: DWORD,
pub nReserved: DWORD,
}
pub type EMRCOLORCORRECTPALETTE = Struct_tagCOLORCORRECTPALETTE;
pub type PEMRCOLORCORRECTPALETTE = *mut Struct_tagCOLORCORRECTPALETTE;
#[repr(C)]
pub struct Struct_tagEMRALPHABLEND {
pub emr: EMR,
pub rclBounds: RECTL,
pub xDest: LONG,
pub yDest: LONG,
pub cxDest: LONG,
pub cyDest: LONG,
pub dwRop: DWORD,
pub xSrc: LONG,
pub ySrc: LONG,
pub xformSrc: XFORM,
pub crBkColorSrc: COLORREF,
pub iUsageSrc: DWORD,
pub offBmiSrc: DWORD,
pub cbBmiSrc: DWORD,
pub offBitsSrc: DWORD,
pub cbBitsSrc: DWORD,
pub cxSrc: LONG,
pub cySrc: LONG,
}
pub type EMRALPHABLEND = Struct_tagEMRALPHABLEND;
pub type PEMRALPHABLEND = *mut Struct_tagEMRALPHABLEND;
#[repr(C)]
pub struct Struct_tagEMRGRADIENTFILL {
pub emr: EMR,
pub rclBounds: RECTL,
pub nVer: DWORD,
pub nTri: DWORD,
pub ulMode: ULONG,
pub Ver: [TRIVERTEX, ..1u],
}
pub type EMRGRADIENTFILL = Struct_tagEMRGRADIENTFILL;
pub type PEMRGRADIENTFILL = *mut Struct_tagEMRGRADIENTFILL;
#[repr(C)]
pub struct Struct_tagEMRTRANSPARENTBLT {
pub emr: EMR,
pub rclBounds: RECTL,
pub xDest: LONG,
pub yDest: LONG,
pub cxDest: LONG,
pub cyDest: LONG,
pub dwRop: DWORD,
pub xSrc: LONG,
pub ySrc: LONG,
pub xformSrc: XFORM,
pub crBkColorSrc: COLORREF,
pub iUsageSrc: DWORD,
pub offBmiSrc: DWORD,
pub cbBmiSrc: DWORD,
pub offBitsSrc: DWORD,
pub cbBitsSrc: DWORD,
pub cxSrc: LONG,
pub cySrc: LONG,
}
pub type EMRTRANSPARENTBLT = Struct_tagEMRTRANSPARENTBLT;
pub type PEMRTRANSPARENTBLT = *mut Struct_tagEMRTRANSPARENTBLT;
#[repr(C)]
pub struct Struct__POINTFLOAT {
pub x: FLOAT,
pub y: FLOAT,
}
pub type POINTFLOAT = Struct__POINTFLOAT;
pub type PPOINTFLOAT = *mut Struct__POINTFLOAT;
#[repr(C)]
pub struct Struct__GLYPHMETRICSFLOAT {
pub gmfBlackBoxX: FLOAT,
pub gmfBlackBoxY: FLOAT,
pub gmfptGlyphOrigin: POINTFLOAT,
pub gmfCellIncX: FLOAT,
pub gmfCellIncY: FLOAT,
}
pub type GLYPHMETRICSFLOAT = Struct__GLYPHMETRICSFLOAT;
pub type PGLYPHMETRICSFLOAT = *mut Struct__GLYPHMETRICSFLOAT;
pub type LPGLYPHMETRICSFLOAT = *mut Struct__GLYPHMETRICSFLOAT;
#[repr(C)]
pub struct Struct_tagLAYERPLANEDESCRIPTOR {
pub nSize: WORD,
pub nVersion: WORD,
pub dwFlags: DWORD,
pub iPixelType: BYTE,
pub cColorBits: BYTE,
pub cRedBits: BYTE,
pub cRedShift: BYTE,
pub cGreenBits: BYTE,
pub cGreenShift: BYTE,
pub cBlueBits: BYTE,
pub cBlueShift: BYTE,
pub cAlphaBits: BYTE,
pub cAlphaShift: BYTE,
pub cAccumBits: BYTE,
pub cAccumRedBits: BYTE,
pub cAccumGreenBits: BYTE,
pub cAccumBlueBits: BYTE,
pub cAccumAlphaBits: BYTE,
pub cDepthBits: BYTE,
pub cStencilBits: BYTE,
pub cAuxBuffers: BYTE,
pub iLayerPlane: BYTE,
pub bReserved: BYTE,
pub crTransparent: COLORREF,
}
pub type LAYERPLANEDESCRIPTOR = Struct_tagLAYERPLANEDESCRIPTOR;
pub type PLAYERPLANEDESCRIPTOR = *mut Struct_tagLAYERPLANEDESCRIPTOR;
pub type LPLAYERPLANEDESCRIPTOR = *mut Struct_tagLAYERPLANEDESCRIPTOR;
#[repr(C)]
pub struct Struct__WGLSWAP {
pub hdc: HDC,
pub uiFlags: UINT,
}
pub type WGLSWAP = Struct__WGLSWAP;
pub type PWGLSWAP = *mut Struct__WGLSWAP;
pub type LPWGLSWAP = *mut Struct__WGLSWAP;
pub type HDWP = HANDLE;
pub type MENUTEMPLATEA = ::libc::c_void;
pub type MENUTEMPLATEW = ::libc::c_void;
pub type LPMENUTEMPLATEA = PVOID;
pub type LPMENUTEMPLATEW = PVOID;
pub type MENUTEMPLATE = MENUTEMPLATEA;
pub type LPMENUTEMPLATE = LPMENUTEMPLATEA;
pub type WNDPROC =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: UINT, arg3: WPARAM,
arg4: LPARAM) -> LRESULT>;
pub type DLGPROC =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: UINT, arg3: WPARAM,
arg4: LPARAM) -> INT_PTR>;
pub type TIMERPROC =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: UINT, arg3: UINT_PTR,
arg4: DWORD)>;
pub type GRAYSTRINGPROC =
::std::option::Option<extern "C" fn
(arg1: HDC, arg2: LPARAM, arg3: ::libc::c_int)
-> WINBOOL>;
pub type WNDENUMPROC =
::std::option::Option<extern "C" fn(arg1: HWND, arg2: LPARAM) -> WINBOOL>;
pub type HOOKPROC =
::std::option::Option<extern "C" fn
(arg1: ::libc::c_int, arg2: WPARAM,
arg3: LPARAM) -> LRESULT>;
pub type SENDASYNCPROC =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: UINT, arg3: ULONG_PTR,
arg4: LRESULT)>;
pub type PROPENUMPROCA =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: LPCSTR, arg3: HANDLE)
-> WINBOOL>;
pub type PROPENUMPROCW =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: LPCWSTR, arg3: HANDLE)
-> WINBOOL>;
pub type PROPENUMPROCEXA =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: LPSTR, arg3: HANDLE,
arg4: ULONG_PTR) -> WINBOOL>;
pub type PROPENUMPROCEXW =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: LPWSTR, arg3: HANDLE,
arg4: ULONG_PTR) -> WINBOOL>;
pub type EDITWORDBREAKPROCA =
::std::option::Option<extern "C" fn
(arg1: LPSTR, arg2: ::libc::c_int,
arg3: ::libc::c_int, arg4: ::libc::c_int)
-> ::libc::c_int>;
pub type EDITWORDBREAKPROCW =
::std::option::Option<extern "C" fn
(arg1: LPWSTR, arg2: ::libc::c_int,
arg3: ::libc::c_int, arg4: ::libc::c_int)
-> ::libc::c_int>;
pub type DRAWSTATEPROC =
::std::option::Option<extern "C" fn
(arg1: HDC, arg2: LPARAM, arg3: WPARAM,
arg4: ::libc::c_int, arg5: ::libc::c_int)
-> WINBOOL>;
pub type PROPENUMPROC = PROPENUMPROCA;
pub type PROPENUMPROCEX = PROPENUMPROCEXA;
pub type EDITWORDBREAKPROC = EDITWORDBREAKPROCA;
pub type NAMEENUMPROCA =
::std::option::Option<extern "C" fn(arg1: LPSTR, arg2: LPARAM)
-> WINBOOL>;
pub type NAMEENUMPROCW =
::std::option::Option<extern "C" fn(arg1: LPWSTR, arg2: LPARAM)
-> WINBOOL>;
pub type WINSTAENUMPROCA = NAMEENUMPROCA;
pub type DESKTOPENUMPROCA = NAMEENUMPROCA;
pub type WINSTAENUMPROCW = NAMEENUMPROCW;
pub type DESKTOPENUMPROCW = NAMEENUMPROCW;
pub type WINSTAENUMPROC = WINSTAENUMPROCA;
pub type DESKTOPENUMPROC = DESKTOPENUMPROCA;
#[repr(C)]
pub struct Struct_tagCBT_CREATEWNDA {
pub lpcs: *mut Struct_tagCREATESTRUCTA,
pub hwndInsertAfter: HWND,
}
pub type CBT_CREATEWNDA = Struct_tagCBT_CREATEWNDA;
pub type LPCBT_CREATEWNDA = *mut Struct_tagCBT_CREATEWNDA;
#[repr(C)]
pub struct Struct_tagCBT_CREATEWNDW {
pub lpcs: *mut Struct_tagCREATESTRUCTW,
pub hwndInsertAfter: HWND,
}
pub type CBT_CREATEWNDW = Struct_tagCBT_CREATEWNDW;
pub type LPCBT_CREATEWNDW = *mut Struct_tagCBT_CREATEWNDW;
pub type CBT_CREATEWND = CBT_CREATEWNDA;
pub type LPCBT_CREATEWND = LPCBT_CREATEWNDA;
#[repr(C)]
pub struct Struct_tagCBTACTIVATESTRUCT {
pub fMouse: WINBOOL,
pub hWndActive: HWND,
}
pub type CBTACTIVATESTRUCT = Struct_tagCBTACTIVATESTRUCT;
pub type LPCBTACTIVATESTRUCT = *mut Struct_tagCBTACTIVATESTRUCT;
#[repr(C)]
pub struct Struct_tagWTSSESSION_NOTIFICATION {
pub cbSize: DWORD,
pub dwSessionId: DWORD,
}
pub type WTSSESSION_NOTIFICATION = Struct_tagWTSSESSION_NOTIFICATION;
pub type PWTSSESSION_NOTIFICATION = *mut Struct_tagWTSSESSION_NOTIFICATION;
#[repr(C)]
pub struct Struct_Unnamed151 {
pub hwnd: HWND,
pub rc: RECT,
}
pub type SHELLHOOKINFO = Struct_Unnamed151;
pub type LPSHELLHOOKINFO = *mut Struct_Unnamed151;
#[repr(C)]
pub struct Struct_tagEVENTMSG {
pub message: UINT,
pub paramL: UINT,
pub paramH: UINT,
pub time: DWORD,
pub hwnd: HWND,
}
pub type EVENTMSG = Struct_tagEVENTMSG;
pub type PEVENTMSGMSG = *mut Struct_tagEVENTMSG;
pub type NPEVENTMSGMSG = *mut Struct_tagEVENTMSG;
pub type LPEVENTMSGMSG = *mut Struct_tagEVENTMSG;
pub type PEVENTMSG = *mut Struct_tagEVENTMSG;
pub type NPEVENTMSG = *mut Struct_tagEVENTMSG;
pub type LPEVENTMSG = *mut Struct_tagEVENTMSG;
#[repr(C)]
pub struct Struct_tagCWPSTRUCT {
pub lParam: LPARAM,
pub wParam: WPARAM,
pub message: UINT,
pub hwnd: HWND,
}
pub type CWPSTRUCT = Struct_tagCWPSTRUCT;
pub type PCWPSTRUCT = *mut Struct_tagCWPSTRUCT;
pub type NPCWPSTRUCT = *mut Struct_tagCWPSTRUCT;
pub type LPCWPSTRUCT = *mut Struct_tagCWPSTRUCT;
#[repr(C)]
pub struct Struct_tagCWPRETSTRUCT {
pub lResult: LRESULT,
pub lParam: LPARAM,
pub wParam: WPARAM,
pub message: UINT,
pub hwnd: HWND,
}
pub type CWPRETSTRUCT = Struct_tagCWPRETSTRUCT;
pub type PCWPRETSTRUCT = *mut Struct_tagCWPRETSTRUCT;
pub type NPCWPRETSTRUCT = *mut Struct_tagCWPRETSTRUCT;
pub type LPCWPRETSTRUCT = *mut Struct_tagCWPRETSTRUCT;
#[repr(C)]
pub struct Struct_tagKBDLLHOOKSTRUCT {
pub vkCode: DWORD,
pub scanCode: DWORD,
pub flags: DWORD,
pub time: DWORD,
pub dwExtraInfo: ULONG_PTR,
}
pub type KBDLLHOOKSTRUCT = Struct_tagKBDLLHOOKSTRUCT;
pub type LPKBDLLHOOKSTRUCT = *mut Struct_tagKBDLLHOOKSTRUCT;
pub type PKBDLLHOOKSTRUCT = *mut Struct_tagKBDLLHOOKSTRUCT;
#[repr(C)]
pub struct Struct_tagMSLLHOOKSTRUCT {
pub pt: POINT,
pub mouseData: DWORD,
pub flags: DWORD,
pub time: DWORD,
pub dwExtraInfo: ULONG_PTR,
}
pub type MSLLHOOKSTRUCT = Struct_tagMSLLHOOKSTRUCT;
pub type LPMSLLHOOKSTRUCT = *mut Struct_tagMSLLHOOKSTRUCT;
pub type PMSLLHOOKSTRUCT = *mut Struct_tagMSLLHOOKSTRUCT;
#[repr(C)]
pub struct Struct_tagDEBUGHOOKINFO {
pub idThread: DWORD,
pub idThreadInstaller: DWORD,
pub lParam: LPARAM,
pub wParam: WPARAM,
pub code: ::libc::c_int,
}
pub type DEBUGHOOKINFO = Struct_tagDEBUGHOOKINFO;
pub type PDEBUGHOOKINFO = *mut Struct_tagDEBUGHOOKINFO;
pub type NPDEBUGHOOKINFO = *mut Struct_tagDEBUGHOOKINFO;
pub type LPDEBUGHOOKINFO = *mut Struct_tagDEBUGHOOKINFO;
#[repr(C)]
pub struct Struct_tagMOUSEHOOKSTRUCT {
pub pt: POINT,
pub hwnd: HWND,
pub wHitTestCode: UINT,
pub dwExtraInfo: ULONG_PTR,
}
pub type MOUSEHOOKSTRUCT = Struct_tagMOUSEHOOKSTRUCT;
pub type LPMOUSEHOOKSTRUCT = *mut Struct_tagMOUSEHOOKSTRUCT;
pub type PMOUSEHOOKSTRUCT = *mut Struct_tagMOUSEHOOKSTRUCT;
#[repr(C)]
pub struct Struct_tagMOUSEHOOKSTRUCTEX {
pub _unnamed: MOUSEHOOKSTRUCT,
pub mouseData: DWORD,
}
pub type MOUSEHOOKSTRUCTEX = Struct_tagMOUSEHOOKSTRUCTEX;
pub type LPMOUSEHOOKSTRUCTEX = *mut Struct_tagMOUSEHOOKSTRUCTEX;
pub type PMOUSEHOOKSTRUCTEX = *mut Struct_tagMOUSEHOOKSTRUCTEX;
#[repr(C)]
pub struct Struct_tagHARDWAREHOOKSTRUCT {
pub hwnd: HWND,
pub message: UINT,
pub wParam: WPARAM,
pub lParam: LPARAM,
}
pub type HARDWAREHOOKSTRUCT = Struct_tagHARDWAREHOOKSTRUCT;
pub type LPHARDWAREHOOKSTRUCT = *mut Struct_tagHARDWAREHOOKSTRUCT;
pub type PHARDWAREHOOKSTRUCT = *mut Struct_tagHARDWAREHOOKSTRUCT;
#[repr(C)]
pub struct Struct_tagMOUSEMOVEPOINT {
pub x: ::libc::c_int,
pub y: ::libc::c_int,
pub time: DWORD,
pub dwExtraInfo: ULONG_PTR,
}
pub type MOUSEMOVEPOINT = Struct_tagMOUSEMOVEPOINT;
pub type PMOUSEMOVEPOINT = *mut Struct_tagMOUSEMOVEPOINT;
pub type LPMOUSEMOVEPOINT = *mut Struct_tagMOUSEMOVEPOINT;
#[repr(C)]
pub struct Struct_tagUSEROBJECTFLAGS {
pub fInherit: WINBOOL,
pub fReserved: WINBOOL,
pub dwFlags: DWORD,
}
pub type USEROBJECTFLAGS = Struct_tagUSEROBJECTFLAGS;
pub type PUSEROBJECTFLAGS = *mut Struct_tagUSEROBJECTFLAGS;
#[repr(C)]
pub struct Struct_tagWNDCLASSEXA {
pub cbSize: UINT,
pub style: UINT,
pub lpfnWndProc: WNDPROC,
pub cbClsExtra: ::libc::c_int,
pub cbWndExtra: ::libc::c_int,
pub hInstance: HINSTANCE,
pub hIcon: HICON,
pub hCursor: HCURSOR,
pub hbrBackground: HBRUSH,
pub lpszMenuName: LPCSTR,
pub lpszClassName: LPCSTR,
pub hIconSm: HICON,
}
pub type WNDCLASSEXA = Struct_tagWNDCLASSEXA;
pub type PWNDCLASSEXA = *mut Struct_tagWNDCLASSEXA;
pub type NPWNDCLASSEXA = *mut Struct_tagWNDCLASSEXA;
pub type LPWNDCLASSEXA = *mut Struct_tagWNDCLASSEXA;
#[repr(C)]
pub struct Struct_tagWNDCLASSEXW {
pub cbSize: UINT,
pub style: UINT,
pub lpfnWndProc: WNDPROC,
pub cbClsExtra: ::libc::c_int,
pub cbWndExtra: ::libc::c_int,
pub hInstance: HINSTANCE,
pub hIcon: HICON,
pub hCursor: HCURSOR,
pub hbrBackground: HBRUSH,
pub lpszMenuName: LPCWSTR,
pub lpszClassName: LPCWSTR,
pub hIconSm: HICON,
}
pub type WNDCLASSEXW = Struct_tagWNDCLASSEXW;
pub type PWNDCLASSEXW = *mut Struct_tagWNDCLASSEXW;
pub type NPWNDCLASSEXW = *mut Struct_tagWNDCLASSEXW;
pub type LPWNDCLASSEXW = *mut Struct_tagWNDCLASSEXW;
pub type WNDCLASSEX = WNDCLASSEXA;
pub type PWNDCLASSEX = PWNDCLASSEXA;
pub type NPWNDCLASSEX = NPWNDCLASSEXA;
pub type LPWNDCLASSEX = LPWNDCLASSEXA;
#[repr(C)]
pub struct Struct_tagWNDCLASSA {
pub style: UINT,
pub lpfnWndProc: WNDPROC,
pub cbClsExtra: ::libc::c_int,
pub cbWndExtra: ::libc::c_int,
pub hInstance: HINSTANCE,
pub hIcon: HICON,
pub hCursor: HCURSOR,
pub hbrBackground: HBRUSH,
pub lpszMenuName: LPCSTR,
pub lpszClassName: LPCSTR,
}
pub type WNDCLASSA = Struct_tagWNDCLASSA;
pub type PWNDCLASSA = *mut Struct_tagWNDCLASSA;
pub type NPWNDCLASSA = *mut Struct_tagWNDCLASSA;
pub type LPWNDCLASSA = *mut Struct_tagWNDCLASSA;
#[repr(C)]
pub struct Struct_tagWNDCLASSW {
pub style: UINT,
pub lpfnWndProc: WNDPROC,
pub cbClsExtra: ::libc::c_int,
pub cbWndExtra: ::libc::c_int,
pub hInstance: HINSTANCE,
pub hIcon: HICON,
pub hCursor: HCURSOR,
pub hbrBackground: HBRUSH,
pub lpszMenuName: LPCWSTR,
pub lpszClassName: LPCWSTR,
}
pub type WNDCLASSW = Struct_tagWNDCLASSW;
pub type PWNDCLASSW = *mut Struct_tagWNDCLASSW;
pub type NPWNDCLASSW = *mut Struct_tagWNDCLASSW;
pub type LPWNDCLASSW = *mut Struct_tagWNDCLASSW;
pub type WNDCLASS = WNDCLASSA;
pub type PWNDCLASS = PWNDCLASSA;
pub type NPWNDCLASS = NPWNDCLASSA;
pub type LPWNDCLASS = LPWNDCLASSA;
#[repr(C)]
pub struct Struct_tagMSG {
pub hwnd: HWND,
pub message: UINT,
pub wParam: WPARAM,
pub lParam: LPARAM,
pub time: DWORD,
pub pt: POINT,
}
pub type MSG = Struct_tagMSG;
pub type PMSG = *mut Struct_tagMSG;
pub type NPMSG = *mut Struct_tagMSG;
pub type LPMSG = *mut Struct_tagMSG;
#[repr(C)]
pub struct Struct_tagMINMAXINFO {
pub ptReserved: POINT,
pub ptMaxSize: POINT,
pub ptMaxPosition: POINT,
pub ptMinTrackSize: POINT,
pub ptMaxTrackSize: POINT,
}
pub type MINMAXINFO = Struct_tagMINMAXINFO;
pub type PMINMAXINFO = *mut Struct_tagMINMAXINFO;
pub type LPMINMAXINFO = *mut Struct_tagMINMAXINFO;
#[repr(C)]
pub struct Struct_tagCOPYDATASTRUCT {
pub dwData: ULONG_PTR,
pub cbData: DWORD,
pub lpData: PVOID,
}
pub type COPYDATASTRUCT = Struct_tagCOPYDATASTRUCT;
pub type PCOPYDATASTRUCT = *mut Struct_tagCOPYDATASTRUCT;
#[repr(C)]
pub struct Struct_tagMDINEXTMENU {
pub hmenuIn: HMENU,
pub hmenuNext: HMENU,
pub hwndNext: HWND,
}
pub type MDINEXTMENU = Struct_tagMDINEXTMENU;
pub type PMDINEXTMENU = *mut Struct_tagMDINEXTMENU;
pub type LPMDINEXTMENU = *mut Struct_tagMDINEXTMENU;
#[repr(C)]
pub struct Struct_tagWINDOWPOS {
pub hwnd: HWND,
pub hwndInsertAfter: HWND,
pub x: ::libc::c_int,
pub y: ::libc::c_int,
pub cx: ::libc::c_int,
pub cy: ::libc::c_int,
pub flags: UINT,
}
pub type WINDOWPOS = Struct_tagWINDOWPOS;
pub type LPWINDOWPOS = *mut Struct_tagWINDOWPOS;
pub type PWINDOWPOS = *mut Struct_tagWINDOWPOS;
#[repr(C)]
pub struct Struct_tagNCCALCSIZE_PARAMS {
pub rgrc: [RECT, ..3u],
pub lppos: PWINDOWPOS,
}
pub type NCCALCSIZE_PARAMS = Struct_tagNCCALCSIZE_PARAMS;
pub type LPNCCALCSIZE_PARAMS = *mut Struct_tagNCCALCSIZE_PARAMS;
#[repr(C)]
pub struct Struct_tagTRACKMOUSEEVENT {
pub cbSize: DWORD,
pub dwFlags: DWORD,
pub hwndTrack: HWND,
pub dwHoverTime: DWORD,
}
pub type TRACKMOUSEEVENT = Struct_tagTRACKMOUSEEVENT;
pub type LPTRACKMOUSEEVENT = *mut Struct_tagTRACKMOUSEEVENT;
#[repr(C)]
pub struct Struct_tagACCEL {
pub fVirt: BYTE,
pub key: WORD,
pub cmd: WORD,
}
pub type ACCEL = Struct_tagACCEL;
pub type LPACCEL = *mut Struct_tagACCEL;
#[repr(C)]
pub struct Struct_tagPAINTSTRUCT {
pub hdc: HDC,
pub fErase: WINBOOL,
pub rcPaint: RECT,
pub fRestore: WINBOOL,
pub fIncUpdate: WINBOOL,
pub rgbReserved: [BYTE, ..32u],
}
pub type PAINTSTRUCT = Struct_tagPAINTSTRUCT;
pub type PPAINTSTRUCT = *mut Struct_tagPAINTSTRUCT;
pub type NPPAINTSTRUCT = *mut Struct_tagPAINTSTRUCT;
pub type LPPAINTSTRUCT = *mut Struct_tagPAINTSTRUCT;
#[repr(C)]
pub struct Struct_tagCREATESTRUCTA {
pub lpCreateParams: LPVOID,
pub hInstance: HINSTANCE,
pub hMenu: HMENU,
pub hwndParent: HWND,
pub cy: ::libc::c_int,
pub cx: ::libc::c_int,
pub y: ::libc::c_int,
pub x: ::libc::c_int,
pub style: LONG,
pub lpszName: LPCSTR,
pub lpszClass: LPCSTR,
pub dwExStyle: DWORD,
}
pub type CREATESTRUCTA = Struct_tagCREATESTRUCTA;
pub type LPCREATESTRUCTA = *mut Struct_tagCREATESTRUCTA;
#[repr(C)]
pub struct Struct_tagCREATESTRUCTW {
pub lpCreateParams: LPVOID,
pub hInstance: HINSTANCE,
pub hMenu: HMENU,
pub hwndParent: HWND,
pub cy: ::libc::c_int,
pub cx: ::libc::c_int,
pub y: ::libc::c_int,
pub x: ::libc::c_int,
pub style: LONG,
pub lpszName: LPCWSTR,
pub lpszClass: LPCWSTR,
pub dwExStyle: DWORD,
}
pub type CREATESTRUCTW = Struct_tagCREATESTRUCTW;
pub type LPCREATESTRUCTW = *mut Struct_tagCREATESTRUCTW;
pub type CREATESTRUCT = CREATESTRUCTA;
pub type LPCREATESTRUCT = LPCREATESTRUCTA;
#[repr(C)]
pub struct Struct_tagWINDOWPLACEMENT {
pub length: UINT,
pub flags: UINT,
pub showCmd: UINT,
pub ptMinPosition: POINT,
pub ptMaxPosition: POINT,
pub rcNormalPosition: RECT,
}
pub type WINDOWPLACEMENT = Struct_tagWINDOWPLACEMENT;
pub type PWINDOWPLACEMENT = *mut WINDOWPLACEMENT;
pub type LPWINDOWPLACEMENT = *mut WINDOWPLACEMENT;
#[repr(C)]
pub struct Struct_tagNMHDR {
pub hwndFrom: HWND,
pub idFrom: UINT_PTR,
pub code: UINT,
}
pub type NMHDR = Struct_tagNMHDR;
pub type LPNMHDR = *mut NMHDR;
#[repr(C)]
pub struct Struct_tagSTYLESTRUCT {
pub styleOld: DWORD,
pub styleNew: DWORD,
}
pub type STYLESTRUCT = Struct_tagSTYLESTRUCT;
pub type LPSTYLESTRUCT = *mut Struct_tagSTYLESTRUCT;
#[repr(C)]
pub struct Struct_tagMEASUREITEMSTRUCT {
pub CtlType: UINT,
pub CtlID: UINT,
pub itemID: UINT,
pub itemWidth: UINT,
pub itemHeight: UINT,
pub itemData: ULONG_PTR,
}
pub type MEASUREITEMSTRUCT = Struct_tagMEASUREITEMSTRUCT;
pub type PMEASUREITEMSTRUCT = *mut Struct_tagMEASUREITEMSTRUCT;
pub type LPMEASUREITEMSTRUCT = *mut Struct_tagMEASUREITEMSTRUCT;
#[repr(C)]
pub struct Struct_tagDRAWITEMSTRUCT {
pub CtlType: UINT,
pub CtlID: UINT,
pub itemID: UINT,
pub itemAction: UINT,
pub itemState: UINT,
pub hwndItem: HWND,
pub hDC: HDC,
pub rcItem: RECT,
pub itemData: ULONG_PTR,
}
pub type DRAWITEMSTRUCT = Struct_tagDRAWITEMSTRUCT;
pub type PDRAWITEMSTRUCT = *mut Struct_tagDRAWITEMSTRUCT;
pub type LPDRAWITEMSTRUCT = *mut Struct_tagDRAWITEMSTRUCT;
#[repr(C)]
pub struct Struct_tagDELETEITEMSTRUCT {
pub CtlType: UINT,
pub CtlID: UINT,
pub itemID: UINT,
pub hwndItem: HWND,
pub itemData: ULONG_PTR,
}
pub type DELETEITEMSTRUCT = Struct_tagDELETEITEMSTRUCT;
pub type PDELETEITEMSTRUCT = *mut Struct_tagDELETEITEMSTRUCT;
pub type LPDELETEITEMSTRUCT = *mut Struct_tagDELETEITEMSTRUCT;
#[repr(C)]
pub struct Struct_tagCOMPAREITEMSTRUCT {
pub CtlType: UINT,
pub CtlID: UINT,
pub hwndItem: HWND,
pub itemID1: UINT,
pub itemData1: ULONG_PTR,
pub itemID2: UINT,
pub itemData2: ULONG_PTR,
pub dwLocaleId: DWORD,
}
pub type COMPAREITEMSTRUCT = Struct_tagCOMPAREITEMSTRUCT;
pub type PCOMPAREITEMSTRUCT = *mut Struct_tagCOMPAREITEMSTRUCT;
pub type LPCOMPAREITEMSTRUCT = *mut Struct_tagCOMPAREITEMSTRUCT;
#[repr(C)]
pub struct Struct_Unnamed152 {
pub cbSize: UINT,
pub hdesk: HDESK,
pub hwnd: HWND,
pub luid: LUID,
}
pub type BSMINFO = Struct_Unnamed152;
pub type PBSMINFO = *mut Struct_Unnamed152;
pub type HDEVNOTIFY = PVOID;
pub type PHDEVNOTIFY = *mut HDEVNOTIFY;
pub type HPOWERNOTIFY = HANDLE;
pub type PHPOWERNOTIFY = *mut HPOWERNOTIFY;
#[repr(C)]
pub struct Struct_Unnamed153 {
pub PowerSetting: GUID,
pub DataLength: DWORD,
pub Data: [UCHAR, ..1u],
}
pub type POWERBROADCAST_SETTING = Struct_Unnamed153;
pub type PPOWERBROADCAST_SETTING = *mut Struct_Unnamed153;
pub type PREGISTERCLASSNAMEW =
::std::option::Option<extern "C" fn(arg1: LPCWSTR) -> BOOLEAN>;
#[repr(C)]
pub struct Struct_tagUPDATELAYEREDWINDOWINFO {
pub cbSize: DWORD,
pub hdcDst: HDC,
pub pptDst: *const POINT,
pub psize: *const SIZE,
pub hdcSrc: HDC,
pub pptSrc: *const POINT,
pub crKey: COLORREF,
pub pblend: *const BLENDFUNCTION,
pub dwFlags: DWORD,
pub prcDirty: *const RECT,
}
pub type UPDATELAYEREDWINDOWINFO = Struct_tagUPDATELAYEREDWINDOWINFO;
pub type PUPDATELAYEREDWINDOWINFO = *mut Struct_tagUPDATELAYEREDWINDOWINFO;
#[repr(C)]
pub struct Struct_Unnamed154 {
pub cbSize: UINT,
pub hwnd: HWND,
pub dwFlags: DWORD,
pub uCount: UINT,
pub dwTimeout: DWORD,
}
pub type FLASHWINFO = Struct_Unnamed154;
pub type PFLASHWINFO = *mut Struct_Unnamed154;
#[repr(C)]
pub struct Struct_Unnamed155 {
pub style: DWORD,
pub dwExtendedStyle: DWORD,
pub cdit: WORD,
pub x: ::libc::c_short,
pub y: ::libc::c_short,
pub cx: ::libc::c_short,
pub cy: ::libc::c_short,
}
pub type DLGTEMPLATE = Struct_Unnamed155;
pub type LPDLGTEMPLATEA = *mut DLGTEMPLATE;
pub type LPDLGTEMPLATEW = *mut DLGTEMPLATE;
pub type LPDLGTEMPLATE = LPDLGTEMPLATEA;
pub type LPCDLGTEMPLATEA = *const DLGTEMPLATE;
pub type LPCDLGTEMPLATEW = *const DLGTEMPLATE;
pub type LPCDLGTEMPLATE = LPCDLGTEMPLATEA;
#[repr(C)]
pub struct Struct_Unnamed156 {
pub style: DWORD,
pub dwExtendedStyle: DWORD,
pub x: ::libc::c_short,
pub y: ::libc::c_short,
pub cx: ::libc::c_short,
pub cy: ::libc::c_short,
pub id: WORD,
}
pub type DLGITEMTEMPLATE = Struct_Unnamed156;
pub type PDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE;
pub type PDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE;
pub type PDLGITEMTEMPLATE = PDLGITEMTEMPLATEA;
pub type LPDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE;
pub type LPDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE;
pub type LPDLGITEMTEMPLATE = LPDLGITEMTEMPLATEA;
#[repr(C)]
pub struct Struct_tagMOUSEINPUT {
pub dx: LONG,
pub dy: LONG,
pub mouseData: DWORD,
pub dwFlags: DWORD,
pub time: DWORD,
pub dwExtraInfo: ULONG_PTR,
}
pub type MOUSEINPUT = Struct_tagMOUSEINPUT;
pub type PMOUSEINPUT = *mut Struct_tagMOUSEINPUT;
pub type LPMOUSEINPUT = *mut Struct_tagMOUSEINPUT;
#[repr(C)]
pub struct Struct_tagKEYBDINPUT {
pub wVk: WORD,
pub wScan: WORD,
pub dwFlags: DWORD,
pub time: DWORD,
pub dwExtraInfo: ULONG_PTR,
}
pub type KEYBDINPUT = Struct_tagKEYBDINPUT;
pub type PKEYBDINPUT = *mut Struct_tagKEYBDINPUT;
pub type LPKEYBDINPUT = *mut Struct_tagKEYBDINPUT;
#[repr(C)]
pub struct Struct_tagHARDWAREINPUT {
pub uMsg: DWORD,
pub wParamL: WORD,
pub wParamH: WORD,
}
pub type HARDWAREINPUT = Struct_tagHARDWAREINPUT;
pub type PHARDWAREINPUT = *mut Struct_tagHARDWAREINPUT;
pub type LPHARDWAREINPUT = *mut Struct_tagHARDWAREINPUT;
#[repr(C)]
pub struct Struct_tagINPUT {
pub _type: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed157 {
pub data: [u64, ..4u],
}
impl Union_Unnamed157 {
pub fn mi(&mut self) -> *mut MOUSEINPUT {
unsafe { ::std::mem::transmute(self) }
}
pub fn ki(&mut self) -> *mut KEYBDINPUT {
unsafe { ::std::mem::transmute(self) }
}
pub fn hi(&mut self) -> *mut HARDWAREINPUT {
unsafe { ::std::mem::transmute(self) }
}
}
pub type INPUT = Struct_tagINPUT;
pub type PINPUT = *mut Struct_tagINPUT;
pub type LPINPUT = *mut Struct_tagINPUT;
#[repr(C)]
pub struct Struct_tagLASTINPUTINFO {
pub cbSize: UINT,
pub dwTime: DWORD,
}
pub type LASTINPUTINFO = Struct_tagLASTINPUTINFO;
pub type PLASTINPUTINFO = *mut Struct_tagLASTINPUTINFO;
#[repr(C)]
pub struct Struct_tagTPMPARAMS {
pub cbSize: UINT,
pub rcExclude: RECT,
}
pub type TPMPARAMS = Struct_tagTPMPARAMS;
pub type LPTPMPARAMS = *mut TPMPARAMS;
#[repr(C)]
pub struct Struct_tagMENUINFO {
pub cbSize: DWORD,
pub fMask: DWORD,
pub dwStyle: DWORD,
pub cyMax: UINT,
pub hbrBack: HBRUSH,
pub dwContextHelpID: DWORD,
pub dwMenuData: ULONG_PTR,
}
pub type MENUINFO = Struct_tagMENUINFO;
pub type LPMENUINFO = *mut Struct_tagMENUINFO;
pub type LPCMENUINFO = *const MENUINFO;
#[repr(C)]
pub struct Struct_tagMENUGETOBJECTINFO {
pub dwFlags: DWORD,
pub uPos: UINT,
pub hmenu: HMENU,
pub riid: PVOID,
pub pvObj: PVOID,
}
pub type MENUGETOBJECTINFO = Struct_tagMENUGETOBJECTINFO;
pub type PMENUGETOBJECTINFO = *mut Struct_tagMENUGETOBJECTINFO;
#[repr(C)]
pub struct Struct_tagMENUITEMINFOA {
pub cbSize: UINT,
pub fMask: UINT,
pub fType: UINT,
pub fState: UINT,
pub wID: UINT,
pub hSubMenu: HMENU,
pub hbmpChecked: HBITMAP,
pub hbmpUnchecked: HBITMAP,
pub dwItemData: ULONG_PTR,
pub dwTypeData: LPSTR,
pub cch: UINT,
pub hbmpItem: HBITMAP,
}
pub type MENUITEMINFOA = Struct_tagMENUITEMINFOA;
pub type LPMENUITEMINFOA = *mut Struct_tagMENUITEMINFOA;
#[repr(C)]
pub struct Struct_tagMENUITEMINFOW {
pub cbSize: UINT,
pub fMask: UINT,
pub fType: UINT,
pub fState: UINT,
pub wID: UINT,
pub hSubMenu: HMENU,
pub hbmpChecked: HBITMAP,
pub hbmpUnchecked: HBITMAP,
pub dwItemData: ULONG_PTR,
pub dwTypeData: LPWSTR,
pub cch: UINT,
pub hbmpItem: HBITMAP,
}
pub type MENUITEMINFOW = Struct_tagMENUITEMINFOW;
pub type LPMENUITEMINFOW = *mut Struct_tagMENUITEMINFOW;
pub type MENUITEMINFO = MENUITEMINFOA;
pub type LPMENUITEMINFO = LPMENUITEMINFOA;
pub type LPCMENUITEMINFOA = *const MENUITEMINFOA;
pub type LPCMENUITEMINFOW = *const MENUITEMINFOW;
pub type LPCMENUITEMINFO = LPCMENUITEMINFOA;
#[repr(C)]
pub struct Struct_tagDROPSTRUCT {
pub hwndSource: HWND,
pub hwndSink: HWND,
pub wFmt: DWORD,
pub dwData: ULONG_PTR,
pub ptDrop: POINT,
pub dwControlData: DWORD,
}
pub type DROPSTRUCT = Struct_tagDROPSTRUCT;
pub type PDROPSTRUCT = *mut Struct_tagDROPSTRUCT;
pub type LPDROPSTRUCT = *mut Struct_tagDROPSTRUCT;
#[repr(C)]
pub struct Struct_tagDRAWTEXTPARAMS {
pub cbSize: UINT,
pub iTabLength: ::libc::c_int,
pub iLeftMargin: ::libc::c_int,
pub iRightMargin: ::libc::c_int,
pub uiLengthDrawn: UINT,
}
pub type DRAWTEXTPARAMS = Struct_tagDRAWTEXTPARAMS;
pub type LPDRAWTEXTPARAMS = *mut Struct_tagDRAWTEXTPARAMS;
#[repr(C)]
pub struct Struct_tagHELPINFO {
pub cbSize: UINT,
pub iContextType: ::libc::c_int,
pub iCtrlId: ::libc::c_int,
pub hItemHandle: HANDLE,
pub dwContextId: DWORD_PTR,
pub MousePos: POINT,
}
pub type HELPINFO = Struct_tagHELPINFO;
pub type LPHELPINFO = *mut Struct_tagHELPINFO;
pub type MSGBOXCALLBACK =
::std::option::Option<extern "C" fn(arg1: LPHELPINFO)>;
#[repr(C)]
pub struct Struct_tagMSGBOXPARAMSA {
pub cbSize: UINT,
pub hwndOwner: HWND,
pub hInstance: HINSTANCE,
pub lpszText: LPCSTR,
pub lpszCaption: LPCSTR,
pub dwStyle: DWORD,
pub lpszIcon: LPCSTR,
pub dwContextHelpId: DWORD_PTR,
pub lpfnMsgBoxCallback: MSGBOXCALLBACK,
pub dwLanguageId: DWORD,
}
pub type MSGBOXPARAMSA = Struct_tagMSGBOXPARAMSA;
pub type PMSGBOXPARAMSA = *mut Struct_tagMSGBOXPARAMSA;
pub type LPMSGBOXPARAMSA = *mut Struct_tagMSGBOXPARAMSA;
#[repr(C)]
pub struct Struct_tagMSGBOXPARAMSW {
pub cbSize: UINT,
pub hwndOwner: HWND,
pub hInstance: HINSTANCE,
pub lpszText: LPCWSTR,
pub lpszCaption: LPCWSTR,
pub dwStyle: DWORD,
pub lpszIcon: LPCWSTR,
pub dwContextHelpId: DWORD_PTR,
pub lpfnMsgBoxCallback: MSGBOXCALLBACK,
pub dwLanguageId: DWORD,
}
pub type MSGBOXPARAMSW = Struct_tagMSGBOXPARAMSW;
pub type PMSGBOXPARAMSW = *mut Struct_tagMSGBOXPARAMSW;
pub type LPMSGBOXPARAMSW = *mut Struct_tagMSGBOXPARAMSW;
pub type MSGBOXPARAMS = MSGBOXPARAMSA;
pub type PMSGBOXPARAMS = PMSGBOXPARAMSA;
pub type LPMSGBOXPARAMS = LPMSGBOXPARAMSA;
#[repr(C)]
pub struct Struct_Unnamed158 {
pub versionNumber: WORD,
pub offset: WORD,
}
pub type MENUITEMTEMPLATEHEADER = Struct_Unnamed158;
pub type PMENUITEMTEMPLATEHEADER = *mut Struct_Unnamed158;
#[repr(C)]
pub struct Struct_Unnamed159 {
pub mtOption: WORD,
pub mtID: WORD,
pub mtString: [WCHAR, ..1u],
}
pub type MENUITEMTEMPLATE = Struct_Unnamed159;
pub type PMENUITEMTEMPLATE = *mut Struct_Unnamed159;
#[repr(C)]
pub struct Struct__ICONINFO {
pub fIcon: WINBOOL,
pub xHotspot: DWORD,
pub yHotspot: DWORD,
pub hbmMask: HBITMAP,
pub hbmColor: HBITMAP,
}
pub type ICONINFO = Struct__ICONINFO;
pub type PICONINFO = *mut ICONINFO;
#[repr(C)]
pub struct Struct_tagCURSORSHAPE {
pub xHotSpot: ::libc::c_int,
pub yHotSpot: ::libc::c_int,
pub cx: ::libc::c_int,
pub cy: ::libc::c_int,
pub cbWidth: ::libc::c_int,
pub Planes: BYTE,
pub BitsPixel: BYTE,
}
pub type CURSORSHAPE = Struct_tagCURSORSHAPE;
pub type LPCURSORSHAPE = *mut Struct_tagCURSORSHAPE;
#[repr(C)]
pub struct Struct_tagSCROLLINFO {
pub cbSize: UINT,
pub fMask: UINT,
pub nMin: ::libc::c_int,
pub nMax: ::libc::c_int,
pub nPage: UINT,
pub nPos: ::libc::c_int,
pub nTrackPos: ::libc::c_int,
}
pub type SCROLLINFO = Struct_tagSCROLLINFO;
pub type LPSCROLLINFO = *mut Struct_tagSCROLLINFO;
pub type LPCSCROLLINFO = *const SCROLLINFO;
#[repr(C)]
pub struct Struct_tagMDICREATESTRUCTA {
pub szClass: LPCSTR,
pub szTitle: LPCSTR,
pub hOwner: HANDLE,
pub x: ::libc::c_int,
pub y: ::libc::c_int,
pub cx: ::libc::c_int,
pub cy: ::libc::c_int,
pub style: DWORD,
pub lParam: LPARAM,
}
pub type MDICREATESTRUCTA = Struct_tagMDICREATESTRUCTA;
pub type LPMDICREATESTRUCTA = *mut Struct_tagMDICREATESTRUCTA;
#[repr(C)]
pub struct Struct_tagMDICREATESTRUCTW {
pub szClass: LPCWSTR,
pub szTitle: LPCWSTR,
pub hOwner: HANDLE,
pub x: ::libc::c_int,
pub y: ::libc::c_int,
pub cx: ::libc::c_int,
pub cy: ::libc::c_int,
pub style: DWORD,
pub lParam: LPARAM,
}
pub type MDICREATESTRUCTW = Struct_tagMDICREATESTRUCTW;
pub type LPMDICREATESTRUCTW = *mut Struct_tagMDICREATESTRUCTW;
pub type MDICREATESTRUCT = MDICREATESTRUCTA;
pub type LPMDICREATESTRUCT = LPMDICREATESTRUCTA;
#[repr(C)]
pub struct Struct_tagCLIENTCREATESTRUCT {
pub hWindowMenu: HANDLE,
pub idFirstChild: UINT,
}
pub type CLIENTCREATESTRUCT = Struct_tagCLIENTCREATESTRUCT;
pub type LPCLIENTCREATESTRUCT = *mut Struct_tagCLIENTCREATESTRUCT;
pub type HELPPOLY = DWORD;
#[repr(C)]
pub struct Struct_tagMULTIKEYHELPA {
pub mkSize: DWORD,
pub mkKeylist: CHAR,
pub szKeyphrase: [CHAR, ..1u],
}
pub type MULTIKEYHELPA = Struct_tagMULTIKEYHELPA;
pub type PMULTIKEYHELPA = *mut Struct_tagMULTIKEYHELPA;
pub type LPMULTIKEYHELPA = *mut Struct_tagMULTIKEYHELPA;
#[repr(C)]
pub struct Struct_tagMULTIKEYHELPW {
pub mkSize: DWORD,
pub mkKeylist: WCHAR,
pub szKeyphrase: [WCHAR, ..1u],
}
pub type MULTIKEYHELPW = Struct_tagMULTIKEYHELPW;
pub type PMULTIKEYHELPW = *mut Struct_tagMULTIKEYHELPW;
pub type LPMULTIKEYHELPW = *mut Struct_tagMULTIKEYHELPW;
pub type MULTIKEYHELP = MULTIKEYHELPA;
pub type PMULTIKEYHELP = PMULTIKEYHELPA;
pub type LPMULTIKEYHELP = LPMULTIKEYHELPA;
#[repr(C)]
pub struct Struct_tagHELPWININFOA {
pub wStructSize: ::libc::c_int,
pub x: ::libc::c_int,
pub y: ::libc::c_int,
pub dx: ::libc::c_int,
pub dy: ::libc::c_int,
pub wMax: ::libc::c_int,
pub rgchMember: [CHAR, ..2u],
}
pub type HELPWININFOA = Struct_tagHELPWININFOA;
pub type PHELPWININFOA = *mut Struct_tagHELPWININFOA;
pub type LPHELPWININFOA = *mut Struct_tagHELPWININFOA;
#[repr(C)]
pub struct Struct_tagHELPWININFOW {
pub wStructSize: ::libc::c_int,
pub x: ::libc::c_int,
pub y: ::libc::c_int,
pub dx: ::libc::c_int,
pub dy: ::libc::c_int,
pub wMax: ::libc::c_int,
pub rgchMember: [WCHAR, ..2u],
}
pub type HELPWININFOW = Struct_tagHELPWININFOW;
pub type PHELPWININFOW = *mut Struct_tagHELPWININFOW;
pub type LPHELPWININFOW = *mut Struct_tagHELPWININFOW;
pub type HELPWININFO = HELPWININFOA;
pub type PHELPWININFO = PHELPWININFOA;
pub type LPHELPWININFO = LPHELPWININFOA;
#[repr(C)]
pub struct Struct_tagNONCLIENTMETRICSA {
pub cbSize: UINT,
pub iBorderWidth: ::libc::c_int,
pub iScrollWidth: ::libc::c_int,
pub iScrollHeight: ::libc::c_int,
pub iCaptionWidth: ::libc::c_int,
pub iCaptionHeight: ::libc::c_int,
pub lfCaptionFont: LOGFONTA,
pub iSmCaptionWidth: ::libc::c_int,
pub iSmCaptionHeight: ::libc::c_int,
pub lfSmCaptionFont: LOGFONTA,
pub iMenuWidth: ::libc::c_int,
pub iMenuHeight: ::libc::c_int,
pub lfMenuFont: LOGFONTA,
pub lfStatusFont: LOGFONTA,
pub lfMessageFont: LOGFONTA,
}
pub type NONCLIENTMETRICSA = Struct_tagNONCLIENTMETRICSA;
pub type PNONCLIENTMETRICSA = *mut Struct_tagNONCLIENTMETRICSA;
pub type LPNONCLIENTMETRICSA = *mut Struct_tagNONCLIENTMETRICSA;
#[repr(C)]
pub struct Struct_tagNONCLIENTMETRICSW {
pub cbSize: UINT,
pub iBorderWidth: ::libc::c_int,
pub iScrollWidth: ::libc::c_int,
pub iScrollHeight: ::libc::c_int,
pub iCaptionWidth: ::libc::c_int,
pub iCaptionHeight: ::libc::c_int,
pub lfCaptionFont: LOGFONTW,
pub iSmCaptionWidth: ::libc::c_int,
pub iSmCaptionHeight: ::libc::c_int,
pub lfSmCaptionFont: LOGFONTW,
pub iMenuWidth: ::libc::c_int,
pub iMenuHeight: ::libc::c_int,
pub lfMenuFont: LOGFONTW,
pub lfStatusFont: LOGFONTW,
pub lfMessageFont: LOGFONTW,
}
pub type NONCLIENTMETRICSW = Struct_tagNONCLIENTMETRICSW;
pub type PNONCLIENTMETRICSW = *mut Struct_tagNONCLIENTMETRICSW;
pub type LPNONCLIENTMETRICSW = *mut Struct_tagNONCLIENTMETRICSW;
pub type NONCLIENTMETRICS = NONCLIENTMETRICSA;
pub type PNONCLIENTMETRICS = PNONCLIENTMETRICSA;
pub type LPNONCLIENTMETRICS = LPNONCLIENTMETRICSA;
#[repr(C)]
pub struct Struct_tagMINIMIZEDMETRICS {
pub cbSize: UINT,
pub iWidth: ::libc::c_int,
pub iHorzGap: ::libc::c_int,
pub iVertGap: ::libc::c_int,
pub iArrange: ::libc::c_int,
}
pub type MINIMIZEDMETRICS = Struct_tagMINIMIZEDMETRICS;
pub type PMINIMIZEDMETRICS = *mut Struct_tagMINIMIZEDMETRICS;
pub type LPMINIMIZEDMETRICS = *mut Struct_tagMINIMIZEDMETRICS;
#[repr(C)]
pub struct Struct_tagICONMETRICSA {
pub cbSize: UINT,
pub iHorzSpacing: ::libc::c_int,
pub iVertSpacing: ::libc::c_int,
pub iTitleWrap: ::libc::c_int,
pub lfFont: LOGFONTA,
}
pub type ICONMETRICSA = Struct_tagICONMETRICSA;
pub type PICONMETRICSA = *mut Struct_tagICONMETRICSA;
pub type LPICONMETRICSA = *mut Struct_tagICONMETRICSA;
#[repr(C)]
pub struct Struct_tagICONMETRICSW {
pub cbSize: UINT,
pub iHorzSpacing: ::libc::c_int,
pub iVertSpacing: ::libc::c_int,
pub iTitleWrap: ::libc::c_int,
pub lfFont: LOGFONTW,
}
pub type ICONMETRICSW = Struct_tagICONMETRICSW;
pub type PICONMETRICSW = *mut Struct_tagICONMETRICSW;
pub type LPICONMETRICSW = *mut Struct_tagICONMETRICSW;
pub type ICONMETRICS = ICONMETRICSA;
pub type PICONMETRICS = PICONMETRICSA;
pub type LPICONMETRICS = LPICONMETRICSA;
#[repr(C)]
pub struct Struct_tagANIMATIONINFO {
pub cbSize: UINT,
pub iMinAnimate: ::libc::c_int,
}
pub type ANIMATIONINFO = Struct_tagANIMATIONINFO;
pub type LPANIMATIONINFO = *mut Struct_tagANIMATIONINFO;
#[repr(C)]
pub struct Struct_tagSERIALKEYSA {
pub cbSize: UINT,
pub dwFlags: DWORD,
pub lpszActivePort: LPSTR,
pub lpszPort: LPSTR,
pub iBaudRate: UINT,
pub iPortState: UINT,
pub iActive: UINT,
}
pub type SERIALKEYSA = Struct_tagSERIALKEYSA;
pub type LPSERIALKEYSA = *mut Struct_tagSERIALKEYSA;
#[repr(C)]
pub struct Struct_tagSERIALKEYSW {
pub cbSize: UINT,
pub dwFlags: DWORD,
pub lpszActivePort: LPWSTR,
pub lpszPort: LPWSTR,
pub iBaudRate: UINT,
pub iPortState: UINT,
pub iActive: UINT,
}
pub type SERIALKEYSW = Struct_tagSERIALKEYSW;
pub type LPSERIALKEYSW = *mut Struct_tagSERIALKEYSW;
pub type SERIALKEYS = SERIALKEYSA;
pub type LPSERIALKEYS = LPSERIALKEYSA;
#[repr(C)]
pub struct Struct_tagHIGHCONTRASTA {
pub cbSize: UINT,
pub dwFlags: DWORD,
pub lpszDefaultScheme: LPSTR,
}
pub type HIGHCONTRASTA = Struct_tagHIGHCONTRASTA;
pub type LPHIGHCONTRASTA = *mut Struct_tagHIGHCONTRASTA;
#[repr(C)]
pub struct Struct_tagHIGHCONTRASTW {
pub cbSize: UINT,
pub dwFlags: DWORD,
pub lpszDefaultScheme: LPWSTR,
}
pub type HIGHCONTRASTW = Struct_tagHIGHCONTRASTW;
pub type LPHIGHCONTRASTW = *mut Struct_tagHIGHCONTRASTW;
pub type HIGHCONTRAST = HIGHCONTRASTA;
pub type LPHIGHCONTRAST = LPHIGHCONTRASTA;
#[repr(C)]
pub struct Struct__VIDEOPARAMETERS {
pub Guid: GUID,
pub dwOffset: ULONG,
pub dwCommand: ULONG,
pub dwFlags: ULONG,
pub dwMode: ULONG,
pub dwTVStandard: ULONG,
pub dwAvailableModes: ULONG,
pub dwAvailableTVStandard: ULONG,
pub dwFlickerFilter: ULONG,
pub dwOverScanX: ULONG,
pub dwOverScanY: ULONG,
pub dwMaxUnscaledX: ULONG,
pub dwMaxUnscaledY: ULONG,
pub dwPositionX: ULONG,
pub dwPositionY: ULONG,
pub dwBrightness: ULONG,
pub dwContrast: ULONG,
pub dwCPType: ULONG,
pub dwCPCommand: ULONG,
pub dwCPStandard: ULONG,
pub dwCPKey: ULONG,
pub bCP_APSTriggerBits: ULONG,
pub bOEMCopyProtection: [UCHAR, ..256u],
}
pub type VIDEOPARAMETERS = Struct__VIDEOPARAMETERS;
pub type PVIDEOPARAMETERS = *mut Struct__VIDEOPARAMETERS;
pub type LPVIDEOPARAMETERS = *mut Struct__VIDEOPARAMETERS;
#[repr(C)]
pub struct Struct_tagFILTERKEYS {
pub cbSize: UINT,
pub dwFlags: DWORD,
pub iWaitMSec: DWORD,
pub iDelayMSec: DWORD,
pub iRepeatMSec: DWORD,
pub iBounceMSec: DWORD,
}
pub type FILTERKEYS = Struct_tagFILTERKEYS;
pub type LPFILTERKEYS = *mut Struct_tagFILTERKEYS;
#[repr(C)]
pub struct Struct_tagSTICKYKEYS {
pub cbSize: UINT,
pub dwFlags: DWORD,
}
pub type STICKYKEYS = Struct_tagSTICKYKEYS;
pub type LPSTICKYKEYS = *mut Struct_tagSTICKYKEYS;
#[repr(C)]
pub struct Struct_tagMOUSEKEYS {
pub cbSize: UINT,
pub dwFlags: DWORD,
pub iMaxSpeed: DWORD,
pub iTimeToMaxSpeed: DWORD,
pub iCtrlSpeed: DWORD,
pub dwReserved1: DWORD,
pub dwReserved2: DWORD,
}
pub type MOUSEKEYS = Struct_tagMOUSEKEYS;
pub type LPMOUSEKEYS = *mut Struct_tagMOUSEKEYS;
#[repr(C)]
pub struct Struct_tagACCESSTIMEOUT {
pub cbSize: UINT,
pub dwFlags: DWORD,
pub iTimeOutMSec: DWORD,
}
pub type ACCESSTIMEOUT = Struct_tagACCESSTIMEOUT;
pub type LPACCESSTIMEOUT = *mut Struct_tagACCESSTIMEOUT;
#[repr(C)]
pub struct Struct_tagSOUNDSENTRYA {
pub cbSize: UINT,
pub dwFlags: DWORD,
pub iFSTextEffect: DWORD,
pub iFSTextEffectMSec: DWORD,
pub iFSTextEffectColorBits: DWORD,
pub iFSGrafEffect: DWORD,
pub iFSGrafEffectMSec: DWORD,
pub iFSGrafEffectColor: DWORD,
pub iWindowsEffect: DWORD,
pub iWindowsEffectMSec: DWORD,
pub lpszWindowsEffectDLL: LPSTR,
pub iWindowsEffectOrdinal: DWORD,
}
pub type SOUNDSENTRYA = Struct_tagSOUNDSENTRYA;
pub type LPSOUNDSENTRYA = *mut Struct_tagSOUNDSENTRYA;
#[repr(C)]
pub struct Struct_tagSOUNDSENTRYW {
pub cbSize: UINT,
pub dwFlags: DWORD,
pub iFSTextEffect: DWORD,
pub iFSTextEffectMSec: DWORD,
pub iFSTextEffectColorBits: DWORD,
pub iFSGrafEffect: DWORD,
pub iFSGrafEffectMSec: DWORD,
pub iFSGrafEffectColor: DWORD,
pub iWindowsEffect: DWORD,
pub iWindowsEffectMSec: DWORD,
pub lpszWindowsEffectDLL: LPWSTR,
pub iWindowsEffectOrdinal: DWORD,
}
pub type SOUNDSENTRYW = Struct_tagSOUNDSENTRYW;
pub type LPSOUNDSENTRYW = *mut Struct_tagSOUNDSENTRYW;
pub type SOUNDSENTRY = SOUNDSENTRYA;
pub type LPSOUNDSENTRY = LPSOUNDSENTRYA;
#[repr(C)]
pub struct Struct_tagTOGGLEKEYS {
pub cbSize: UINT,
pub dwFlags: DWORD,
}
pub type TOGGLEKEYS = Struct_tagTOGGLEKEYS;
pub type LPTOGGLEKEYS = *mut Struct_tagTOGGLEKEYS;
#[repr(C)]
pub struct Struct_tagMONITORINFO {
pub cbSize: DWORD,
pub rcMonitor: RECT,
pub rcWork: RECT,
pub dwFlags: DWORD,
}
pub type MONITORINFO = Struct_tagMONITORINFO;
pub type LPMONITORINFO = *mut Struct_tagMONITORINFO;
#[repr(C)]
pub struct Struct_tagMONITORINFOEXA {
pub szDevice: [CHAR, ..32u],
}
#[repr(C)]
pub struct Struct_Unnamed160 {
pub cbSize: DWORD,
pub rcMonitor: RECT,
pub rcWork: RECT,
pub dwFlags: DWORD,
}
pub type MONITORINFOEXA = Struct_tagMONITORINFOEXA;
pub type LPMONITORINFOEXA = *mut Struct_tagMONITORINFOEXA;
#[repr(C)]
pub struct Struct_tagMONITORINFOEXW {
pub szDevice: [WCHAR, ..32u],
}
#[repr(C)]
pub struct Struct_Unnamed161 {
pub cbSize: DWORD,
pub rcMonitor: RECT,
pub rcWork: RECT,
pub dwFlags: DWORD,
}
pub type MONITORINFOEXW = Struct_tagMONITORINFOEXW;
pub type LPMONITORINFOEXW = *mut Struct_tagMONITORINFOEXW;
pub type MONITORINFOEX = MONITORINFOEXA;
pub type LPMONITORINFOEX = LPMONITORINFOEXA;
pub type MONITORENUMPROC =
::std::option::Option<extern "C" fn
(arg1: HMONITOR, arg2: HDC, arg3: LPRECT,
arg4: LPARAM) -> WINBOOL>;
pub type WINEVENTPROC =
::std::option::Option<extern "C" fn
(arg1: HWINEVENTHOOK, arg2: DWORD, arg3: HWND,
arg4: LONG, arg5: LONG, arg6: DWORD,
arg7: DWORD)>;
#[repr(C)]
pub struct Struct_tagGUITHREADINFO {
pub cbSize: DWORD,
pub flags: DWORD,
pub hwndActive: HWND,
pub hwndFocus: HWND,
pub hwndCapture: HWND,
pub hwndMenuOwner: HWND,
pub hwndMoveSize: HWND,
pub hwndCaret: HWND,
pub rcCaret: RECT,
}
pub type GUITHREADINFO = Struct_tagGUITHREADINFO;
pub type PGUITHREADINFO = *mut Struct_tagGUITHREADINFO;
pub type LPGUITHREADINFO = *mut Struct_tagGUITHREADINFO;
#[repr(C)]
pub struct Struct_tagCURSORINFO {
pub cbSize: DWORD,
pub flags: DWORD,
pub hCursor: HCURSOR,
pub ptScreenPos: POINT,
}
pub type CURSORINFO = Struct_tagCURSORINFO;
pub type PCURSORINFO = *mut Struct_tagCURSORINFO;
pub type LPCURSORINFO = *mut Struct_tagCURSORINFO;
#[repr(C)]
pub struct Struct_tagWINDOWINFO {
pub cbSize: DWORD,
pub rcWindow: RECT,
pub rcClient: RECT,
pub dwStyle: DWORD,
pub dwExStyle: DWORD,
pub dwWindowStatus: DWORD,
pub cxWindowBorders: UINT,
pub cyWindowBorders: UINT,
pub atomWindowType: ATOM,
pub wCreatorVersion: WORD,
}
pub type WINDOWINFO = Struct_tagWINDOWINFO;
pub type PWINDOWINFO = *mut Struct_tagWINDOWINFO;
pub type LPWINDOWINFO = *mut Struct_tagWINDOWINFO;
#[repr(C)]
pub struct Struct_tagTITLEBARINFO {
pub cbSize: DWORD,
pub rcTitleBar: RECT,
pub rgstate: [DWORD, ..6u],
}
pub type TITLEBARINFO = Struct_tagTITLEBARINFO;
pub type PTITLEBARINFO = *mut Struct_tagTITLEBARINFO;
pub type LPTITLEBARINFO = *mut Struct_tagTITLEBARINFO;
#[repr(C)]
pub struct Struct_tagMENUBARINFO {
pub cbSize: DWORD,
pub rcBar: RECT,
pub hMenu: HMENU,
pub hwndMenu: HWND,
pub fBarFocused: WINBOOL,
pub fFocused: WINBOOL,
}
pub type MENUBARINFO = Struct_tagMENUBARINFO;
pub type PMENUBARINFO = *mut Struct_tagMENUBARINFO;
pub type LPMENUBARINFO = *mut Struct_tagMENUBARINFO;
#[repr(C)]
pub struct Struct_tagSCROLLBARINFO {
pub cbSize: DWORD,
pub rcScrollBar: RECT,
pub dxyLineButton: ::libc::c_int,
pub xyThumbTop: ::libc::c_int,
pub xyThumbBottom: ::libc::c_int,
pub reserved: ::libc::c_int,
pub rgstate: [DWORD, ..6u],
}
pub type SCROLLBARINFO = Struct_tagSCROLLBARINFO;
pub type PSCROLLBARINFO = *mut Struct_tagSCROLLBARINFO;
pub type LPSCROLLBARINFO = *mut Struct_tagSCROLLBARINFO;
#[repr(C)]
pub struct Struct_tagCOMBOBOXINFO {
pub cbSize: DWORD,
pub rcItem: RECT,
pub rcButton: RECT,
pub stateButton: DWORD,
pub hwndCombo: HWND,
pub hwndItem: HWND,
pub hwndList: HWND,
}
pub type COMBOBOXINFO = Struct_tagCOMBOBOXINFO;
pub type PCOMBOBOXINFO = *mut Struct_tagCOMBOBOXINFO;
pub type LPCOMBOBOXINFO = *mut Struct_tagCOMBOBOXINFO;
#[repr(C)]
pub struct Struct_tagALTTABINFO {
pub cbSize: DWORD,
pub cItems: ::libc::c_int,
pub cColumns: ::libc::c_int,
pub cRows: ::libc::c_int,
pub iColFocus: ::libc::c_int,
pub iRowFocus: ::libc::c_int,
pub cxItem: ::libc::c_int,
pub cyItem: ::libc::c_int,
pub ptStart: POINT,
}
pub type ALTTABINFO = Struct_tagALTTABINFO;
pub type PALTTABINFO = *mut Struct_tagALTTABINFO;
pub type LPALTTABINFO = *mut Struct_tagALTTABINFO;
#[repr(C)]
pub struct Struct_HRAWINPUT__ {
pub unused: ::libc::c_int,
}
pub type HRAWINPUT = *mut Struct_HRAWINPUT__;
#[repr(C)]
pub struct Struct_tagRAWINPUTHEADER {
pub dwType: DWORD,
pub dwSize: DWORD,
pub hDevice: HANDLE,
pub wParam: WPARAM,
}
pub type RAWINPUTHEADER = Struct_tagRAWINPUTHEADER;
pub type PRAWINPUTHEADER = *mut Struct_tagRAWINPUTHEADER;
pub type LPRAWINPUTHEADER = *mut Struct_tagRAWINPUTHEADER;
#[repr(C)]
pub struct Struct_tagRAWMOUSE {
pub usFlags: USHORT,
pub ulRawButtons: ULONG,
pub lLastX: LONG,
pub lLastY: LONG,
pub ulExtraInformation: ULONG,
}
#[repr(C)]
pub struct Union_Unnamed162 {
pub data: [u32, ..1u],
}
impl Union_Unnamed162 {
pub fn ulButtons(&mut self) -> *mut ULONG {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed163 {
pub usButtonFlags: USHORT,
pub usButtonData: USHORT,
}
pub type RAWMOUSE = Struct_tagRAWMOUSE;
pub type PRAWMOUSE = *mut Struct_tagRAWMOUSE;
pub type LPRAWMOUSE = *mut Struct_tagRAWMOUSE;
#[repr(C)]
pub struct Struct_tagRAWKEYBOARD {
pub MakeCode: USHORT,
pub Flags: USHORT,
pub Reserved: USHORT,
pub VKey: USHORT,
pub Message: UINT,
pub ExtraInformation: ULONG,
}
pub type RAWKEYBOARD = Struct_tagRAWKEYBOARD;
pub type PRAWKEYBOARD = *mut Struct_tagRAWKEYBOARD;
pub type LPRAWKEYBOARD = *mut Struct_tagRAWKEYBOARD;
#[repr(C)]
pub struct Struct_tagRAWHID {
pub dwSizeHid: DWORD,
pub dwCount: DWORD,
pub bRawData: [BYTE, ..1u],
}
pub type RAWHID = Struct_tagRAWHID;
pub type PRAWHID = *mut Struct_tagRAWHID;
pub type LPRAWHID = *mut Struct_tagRAWHID;
#[repr(C)]
pub struct Struct_tagRAWINPUT {
pub header: RAWINPUTHEADER,
pub data: Union_Unnamed164,
}
#[repr(C)]
pub struct Union_Unnamed164 {
pub data: [u32, ..6u],
}
impl Union_Unnamed164 {
pub fn mouse(&mut self) -> *mut RAWMOUSE {
unsafe { ::std::mem::transmute(self) }
}
pub fn keyboard(&mut self) -> *mut RAWKEYBOARD {
unsafe { ::std::mem::transmute(self) }
}
pub fn hid(&mut self) -> *mut RAWHID {
unsafe { ::std::mem::transmute(self) }
}
}
pub type RAWINPUT = Struct_tagRAWINPUT;
pub type PRAWINPUT = *mut Struct_tagRAWINPUT;
pub type LPRAWINPUT = *mut Struct_tagRAWINPUT;
#[repr(C)]
pub struct Struct_tagRID_DEVICE_INFO_MOUSE {
pub dwId: DWORD,
pub dwNumberOfButtons: DWORD,
pub dwSampleRate: DWORD,
}
pub type RID_DEVICE_INFO_MOUSE = Struct_tagRID_DEVICE_INFO_MOUSE;
pub type PRID_DEVICE_INFO_MOUSE = *mut Struct_tagRID_DEVICE_INFO_MOUSE;
#[repr(C)]
pub struct Struct_tagRID_DEVICE_INFO_KEYBOARD {
pub dwType: DWORD,
pub dwSubType: DWORD,
pub dwKeyboardMode: DWORD,
pub dwNumberOfFunctionKeys: DWORD,
pub dwNumberOfIndicators: DWORD,
pub dwNumberOfKeysTotal: DWORD,
}
pub type RID_DEVICE_INFO_KEYBOARD = Struct_tagRID_DEVICE_INFO_KEYBOARD;
pub type PRID_DEVICE_INFO_KEYBOARD = *mut Struct_tagRID_DEVICE_INFO_KEYBOARD;
#[repr(C)]
pub struct Struct_tagRID_DEVICE_INFO_HID {
pub dwVendorId: DWORD,
pub dwProductId: DWORD,
pub dwVersionNumber: DWORD,
pub usUsagePage: USHORT,
pub usUsage: USHORT,
}
pub type RID_DEVICE_INFO_HID = Struct_tagRID_DEVICE_INFO_HID;
pub type PRID_DEVICE_INFO_HID = *mut Struct_tagRID_DEVICE_INFO_HID;
#[repr(C)]
pub struct Struct_tagRID_DEVICE_INFO {
pub cbSize: DWORD,
pub dwType: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed165 {
pub data: [u32, ..6u],
}
impl Union_Unnamed165 {
pub fn mouse(&mut self) -> *mut RID_DEVICE_INFO_MOUSE {
unsafe { ::std::mem::transmute(self) }
}
pub fn keyboard(&mut self) -> *mut RID_DEVICE_INFO_KEYBOARD {
unsafe { ::std::mem::transmute(self) }
}
pub fn hid(&mut self) -> *mut RID_DEVICE_INFO_HID {
unsafe { ::std::mem::transmute(self) }
}
}
pub type RID_DEVICE_INFO = Struct_tagRID_DEVICE_INFO;
pub type PRID_DEVICE_INFO = *mut Struct_tagRID_DEVICE_INFO;
pub type LPRID_DEVICE_INFO = *mut Struct_tagRID_DEVICE_INFO;
#[repr(C)]
pub struct Struct_tagRAWINPUTDEVICE {
pub usUsagePage: USHORT,
pub usUsage: USHORT,
pub dwFlags: DWORD,
pub hwndTarget: HWND,
}
pub type RAWINPUTDEVICE = Struct_tagRAWINPUTDEVICE;
pub type PRAWINPUTDEVICE = *mut Struct_tagRAWINPUTDEVICE;
pub type LPRAWINPUTDEVICE = *mut Struct_tagRAWINPUTDEVICE;
pub type PCRAWINPUTDEVICE = *const RAWINPUTDEVICE;
#[repr(C)]
pub struct Struct_tagRAWINPUTDEVICELIST {
pub hDevice: HANDLE,
pub dwType: DWORD,
}
pub type RAWINPUTDEVICELIST = Struct_tagRAWINPUTDEVICELIST;
pub type PRAWINPUTDEVICELIST = *mut Struct_tagRAWINPUTDEVICELIST;
pub type LGRPID = DWORD;
pub type LCTYPE = DWORD;
pub type CALTYPE = DWORD;
pub type CALID = DWORD;
#[repr(C)]
pub struct Struct__cpinfo {
pub MaxCharSize: UINT,
pub DefaultChar: [BYTE, ..2u],
pub LeadByte: [BYTE, ..12u],
}
pub type CPINFO = Struct__cpinfo;
pub type LPCPINFO = *mut Struct__cpinfo;
#[repr(C)]
pub struct Struct__cpinfoexA {
pub MaxCharSize: UINT,
pub DefaultChar: [BYTE, ..2u],
pub LeadByte: [BYTE, ..12u],
pub UnicodeDefaultChar: WCHAR,
pub CodePage: UINT,
pub CodePageName: [CHAR, ..260u],
}
pub type CPINFOEXA = Struct__cpinfoexA;
pub type LPCPINFOEXA = *mut Struct__cpinfoexA;
#[repr(C)]
pub struct Struct__cpinfoexW {
pub MaxCharSize: UINT,
pub DefaultChar: [BYTE, ..2u],
pub LeadByte: [BYTE, ..12u],
pub UnicodeDefaultChar: WCHAR,
pub CodePage: UINT,
pub CodePageName: [WCHAR, ..260u],
}
pub type CPINFOEXW = Struct__cpinfoexW;
pub type LPCPINFOEXW = *mut Struct__cpinfoexW;
pub type CPINFOEX = CPINFOEXA;
pub type LPCPINFOEX = LPCPINFOEXA;
#[repr(C)]
pub struct Struct__numberfmtA {
pub NumDigits: UINT,
pub LeadingZero: UINT,
pub Grouping: UINT,
pub lpDecimalSep: LPSTR,
pub lpThousandSep: LPSTR,
pub NegativeOrder: UINT,
}
pub type NUMBERFMTA = Struct__numberfmtA;
pub type LPNUMBERFMTA = *mut Struct__numberfmtA;
#[repr(C)]
pub struct Struct__numberfmtW {
pub NumDigits: UINT,
pub LeadingZero: UINT,
pub Grouping: UINT,
pub lpDecimalSep: LPWSTR,
pub lpThousandSep: LPWSTR,
pub NegativeOrder: UINT,
}
pub type NUMBERFMTW = Struct__numberfmtW;
pub type LPNUMBERFMTW = *mut Struct__numberfmtW;
pub type NUMBERFMT = NUMBERFMTA;
pub type LPNUMBERFMT = LPNUMBERFMTA;
#[repr(C)]
pub struct Struct__currencyfmtA {
pub NumDigits: UINT,
pub LeadingZero: UINT,
pub Grouping: UINT,
pub lpDecimalSep: LPSTR,
pub lpThousandSep: LPSTR,
pub NegativeOrder: UINT,
pub PositiveOrder: UINT,
pub lpCurrencySymbol: LPSTR,
}
pub type CURRENCYFMTA = Struct__currencyfmtA;
pub type LPCURRENCYFMTA = *mut Struct__currencyfmtA;
#[repr(C)]
pub struct Struct__currencyfmtW {
pub NumDigits: UINT,
pub LeadingZero: UINT,
pub Grouping: UINT,
pub lpDecimalSep: LPWSTR,
pub lpThousandSep: LPWSTR,
pub NegativeOrder: UINT,
pub PositiveOrder: UINT,
pub lpCurrencySymbol: LPWSTR,
}
pub type CURRENCYFMTW = Struct__currencyfmtW;
pub type LPCURRENCYFMTW = *mut Struct__currencyfmtW;
pub type CURRENCYFMT = CURRENCYFMTA;
pub type LPCURRENCYFMT = LPCURRENCYFMTA;
pub type Enum_SYSNLS_FUNCTION = ::libc::c_uint;
pub const COMPARE_STRING: ::libc::c_uint = 1;
pub type NLS_FUNCTION = DWORD;
#[repr(C)]
pub struct Struct__nlsversioninfo {
pub dwNLSVersionInfoSize: DWORD,
pub dwNLSVersion: DWORD,
pub dwDefinedVersion: DWORD,
}
pub type NLSVERSIONINFO = Struct__nlsversioninfo;
pub type LPNLSVERSIONINFO = *mut Struct__nlsversioninfo;
#[repr(C)]
pub struct Struct__nlsversioninfoex {
pub dwNLSVersionInfoSize: DWORD,
pub dwNLSVersion: DWORD,
pub dwDefinedVersion: DWORD,
pub dwEffectiveId: DWORD,
pub guidCustomVersion: GUID,
}
pub type NLSVERSIONINFOEX = Struct__nlsversioninfoex;
pub type LPNLSVERSIONINFOEX = *mut Struct__nlsversioninfoex;
pub type GEOID = LONG;
pub type GEOTYPE = DWORD;
pub type GEOCLASS = DWORD;
pub type Enum_SYSGEOTYPE = ::libc::c_uint;
pub const GEO_NATION: ::libc::c_uint = 1;
pub const GEO_LATITUDE: ::libc::c_uint = 2;
pub const GEO_LONGITUDE: ::libc::c_uint = 3;
pub const GEO_ISO2: ::libc::c_uint = 4;
pub const GEO_ISO3: ::libc::c_uint = 5;
pub const GEO_RFC1766: ::libc::c_uint = 6;
pub const GEO_LCID: ::libc::c_uint = 7;
pub const GEO_FRIENDLYNAME: ::libc::c_uint = 8;
pub const GEO_OFFICIALNAME: ::libc::c_uint = 9;
pub const GEO_TIMEZONES: ::libc::c_uint = 10;
pub const GEO_OFFICIALLANGUAGES: ::libc::c_uint = 11;
pub const GEO_ISO_UN_NUMBER: ::libc::c_uint = 12;
pub const GEO_PARENT: ::libc::c_uint = 13;
pub type Enum_SYSGEOCLASS = ::libc::c_uint;
pub const GEOCLASS_NATION: ::libc::c_uint = 16;
pub const GEOCLASS_REGION: ::libc::c_uint = 14;
pub const GEOCLASS_ALL: ::libc::c_uint = 0;
pub type LANGUAGEGROUP_ENUMPROCA =
::std::option::Option<extern "C" fn
(arg1: LGRPID, arg2: LPSTR, arg3: LPSTR,
arg4: DWORD, arg5: LONG_PTR) -> WINBOOL>;
pub type LANGGROUPLOCALE_ENUMPROCA =
::std::option::Option<extern "C" fn
(arg1: LGRPID, arg2: LCID, arg3: LPSTR,
arg4: LONG_PTR) -> WINBOOL>;
pub type UILANGUAGE_ENUMPROCA =
::std::option::Option<extern "C" fn(arg1: LPSTR, arg2: LONG_PTR)
-> WINBOOL>;
pub type CODEPAGE_ENUMPROCA =
::std::option::Option<extern "C" fn(arg1: LPSTR) -> WINBOOL>;
pub type DATEFMT_ENUMPROCA =
::std::option::Option<extern "C" fn(arg1: LPSTR) -> WINBOOL>;
pub type DATEFMT_ENUMPROCEXA =
::std::option::Option<extern "C" fn(arg1: LPSTR, arg2: CALID) -> WINBOOL>;
pub type TIMEFMT_ENUMPROCA =
::std::option::Option<extern "C" fn(arg1: LPSTR) -> WINBOOL>;
pub type CALINFO_ENUMPROCA =
::std::option::Option<extern "C" fn(arg1: LPSTR) -> WINBOOL>;
pub type CALINFO_ENUMPROCEXA =
::std::option::Option<extern "C" fn(arg1: LPSTR, arg2: CALID) -> WINBOOL>;
pub type LOCALE_ENUMPROCA =
::std::option::Option<extern "C" fn(arg1: LPSTR) -> WINBOOL>;
pub type LOCALE_ENUMPROCW =
::std::option::Option<extern "C" fn(arg1: LPWSTR) -> WINBOOL>;
pub type LANGUAGEGROUP_ENUMPROCW =
::std::option::Option<extern "C" fn
(arg1: LGRPID, arg2: LPWSTR, arg3: LPWSTR,
arg4: DWORD, arg5: LONG_PTR) -> WINBOOL>;
pub type LANGGROUPLOCALE_ENUMPROCW =
::std::option::Option<extern "C" fn
(arg1: LGRPID, arg2: LCID, arg3: LPWSTR,
arg4: LONG_PTR) -> WINBOOL>;
pub type UILANGUAGE_ENUMPROCW =
::std::option::Option<extern "C" fn(arg1: LPWSTR, arg2: LONG_PTR)
-> WINBOOL>;
pub type CODEPAGE_ENUMPROCW =
::std::option::Option<extern "C" fn(arg1: LPWSTR) -> WINBOOL>;
pub type DATEFMT_ENUMPROCW =
::std::option::Option<extern "C" fn(arg1: LPWSTR) -> WINBOOL>;
pub type DATEFMT_ENUMPROCEXW =
::std::option::Option<extern "C" fn(arg1: LPWSTR, arg2: CALID)
-> WINBOOL>;
pub type TIMEFMT_ENUMPROCW =
::std::option::Option<extern "C" fn(arg1: LPWSTR) -> WINBOOL>;
pub type CALINFO_ENUMPROCW =
::std::option::Option<extern "C" fn(arg1: LPWSTR) -> WINBOOL>;
pub type CALINFO_ENUMPROCEXW =
::std::option::Option<extern "C" fn(arg1: LPWSTR, arg2: CALID)
-> WINBOOL>;
pub type GEO_ENUMPROC =
::std::option::Option<extern "C" fn(arg1: GEOID) -> WINBOOL>;
#[repr(C)]
pub struct Struct__FILEMUIINFO {
pub dwSize: DWORD,
pub dwVersion: DWORD,
pub dwFileType: DWORD,
pub pChecksum: [BYTE, ..16u],
pub pServiceChecksum: [BYTE, ..16u],
pub dwLanguageNameOffset: DWORD,
pub dwTypeIDMainSize: DWORD,
pub dwTypeIDMainOffset: DWORD,
pub dwTypeNameMainOffset: DWORD,
pub dwTypeIDMUISize: DWORD,
pub dwTypeIDMUIOffset: DWORD,
pub dwTypeNameMUIOffset: DWORD,
pub abBuffer: [BYTE, ..8u],
}
pub type FILEMUIINFO = Struct__FILEMUIINFO;
pub type PFILEMUIINFO = *mut Struct__FILEMUIINFO;
#[repr(C)]
pub struct Struct__COORD {
pub X: SHORT,
pub Y: SHORT,
}
pub type COORD = Struct__COORD;
pub type PCOORD = *mut Struct__COORD;
#[repr(C)]
pub struct Struct__SMALL_RECT {
pub Left: SHORT,
pub Top: SHORT,
pub Right: SHORT,
pub Bottom: SHORT,
}
pub type SMALL_RECT = Struct__SMALL_RECT;
pub type PSMALL_RECT = *mut Struct__SMALL_RECT;
#[repr(C)]
pub struct Struct__KEY_EVENT_RECORD {
pub bKeyDown: WINBOOL,
pub wRepeatCount: WORD,
pub wVirtualKeyCode: WORD,
pub wVirtualScanCode: WORD,
pub uChar: Union_Unnamed166,
pub dwControlKeyState: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed166 {
pub data: [u16, ..1u],
}
impl Union_Unnamed166 {
pub fn UnicodeChar(&mut self) -> *mut WCHAR {
unsafe { ::std::mem::transmute(self) }
}
pub fn AsciiChar(&mut self) -> *mut CHAR {
unsafe { ::std::mem::transmute(self) }
}
}
pub type KEY_EVENT_RECORD = Struct__KEY_EVENT_RECORD;
pub type PKEY_EVENT_RECORD = *mut Struct__KEY_EVENT_RECORD;
#[repr(C)]
pub struct Struct__MOUSE_EVENT_RECORD {
pub dwMousePosition: COORD,
pub dwButtonState: DWORD,
pub dwControlKeyState: DWORD,
pub dwEventFlags: DWORD,
}
pub type MOUSE_EVENT_RECORD = Struct__MOUSE_EVENT_RECORD;
pub type PMOUSE_EVENT_RECORD = *mut Struct__MOUSE_EVENT_RECORD;
#[repr(C)]
pub struct Struct__WINDOW_BUFFER_SIZE_RECORD {
pub dwSize: COORD,
}
pub type WINDOW_BUFFER_SIZE_RECORD = Struct__WINDOW_BUFFER_SIZE_RECORD;
pub type PWINDOW_BUFFER_SIZE_RECORD = *mut Struct__WINDOW_BUFFER_SIZE_RECORD;
#[repr(C)]
pub struct Struct__MENU_EVENT_RECORD {
pub dwCommandId: UINT,
}
pub type MENU_EVENT_RECORD = Struct__MENU_EVENT_RECORD;
pub type PMENU_EVENT_RECORD = *mut Struct__MENU_EVENT_RECORD;
#[repr(C)]
pub struct Struct__FOCUS_EVENT_RECORD {
pub bSetFocus: WINBOOL,
}
pub type FOCUS_EVENT_RECORD = Struct__FOCUS_EVENT_RECORD;
pub type PFOCUS_EVENT_RECORD = *mut Struct__FOCUS_EVENT_RECORD;
#[repr(C)]
pub struct Struct__INPUT_RECORD {
pub EventType: WORD,
pub Event: Union_Unnamed167,
}
#[repr(C)]
pub struct Union_Unnamed167 {
pub data: [u32, ..4u],
}
impl Union_Unnamed167 {
pub fn KeyEvent(&mut self) -> *mut KEY_EVENT_RECORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn MouseEvent(&mut self) -> *mut MOUSE_EVENT_RECORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn WindowBufferSizeEvent(&mut self) ->
*mut WINDOW_BUFFER_SIZE_RECORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn MenuEvent(&mut self) -> *mut MENU_EVENT_RECORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn FocusEvent(&mut self) -> *mut FOCUS_EVENT_RECORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type INPUT_RECORD = Struct__INPUT_RECORD;
pub type PINPUT_RECORD = *mut Struct__INPUT_RECORD;
#[repr(C)]
pub struct Struct__CHAR_INFO {
pub Char: Union_Unnamed168,
pub Attributes: WORD,
}
#[repr(C)]
pub struct Union_Unnamed168 {
pub data: [u16, ..1u],
}
impl Union_Unnamed168 {
pub fn UnicodeChar(&mut self) -> *mut WCHAR {
unsafe { ::std::mem::transmute(self) }
}
pub fn AsciiChar(&mut self) -> *mut CHAR {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CHAR_INFO = Struct__CHAR_INFO;
pub type PCHAR_INFO = *mut Struct__CHAR_INFO;
#[repr(C)]
pub struct Struct__CONSOLE_SCREEN_BUFFER_INFO {
pub dwSize: COORD,
pub dwCursorPosition: COORD,
pub wAttributes: WORD,
pub srWindow: SMALL_RECT,
pub dwMaximumWindowSize: COORD,
}
pub type CONSOLE_SCREEN_BUFFER_INFO = Struct__CONSOLE_SCREEN_BUFFER_INFO;
pub type PCONSOLE_SCREEN_BUFFER_INFO =
*mut Struct__CONSOLE_SCREEN_BUFFER_INFO;
#[repr(C)]
pub struct Struct__CONSOLE_CURSOR_INFO {
pub dwSize: DWORD,
pub bVisible: WINBOOL,
}
pub type CONSOLE_CURSOR_INFO = Struct__CONSOLE_CURSOR_INFO;
pub type PCONSOLE_CURSOR_INFO = *mut Struct__CONSOLE_CURSOR_INFO;
#[repr(C)]
pub struct Struct__CONSOLE_FONT_INFO {
pub nFont: DWORD,
pub dwFontSize: COORD,
}
pub type CONSOLE_FONT_INFO = Struct__CONSOLE_FONT_INFO;
pub type PCONSOLE_FONT_INFO = *mut Struct__CONSOLE_FONT_INFO;
#[repr(C)]
pub struct Struct__CONSOLE_SELECTION_INFO {
pub dwFlags: DWORD,
pub dwSelectionAnchor: COORD,
pub srSelection: SMALL_RECT,
}
pub type CONSOLE_SELECTION_INFO = Struct__CONSOLE_SELECTION_INFO;
pub type PCONSOLE_SELECTION_INFO = *mut Struct__CONSOLE_SELECTION_INFO;
pub type PHANDLER_ROUTINE =
::std::option::Option<extern "C" fn(arg1: DWORD) -> WINBOOL>;
#[repr(C)]
pub struct Struct__CONSOLE_FONT_INFOEX {
pub cbSize: ULONG,
pub nFont: DWORD,
pub dwFontSize: COORD,
pub FontFamily: UINT,
pub FontWeight: UINT,
pub FaceName: [WCHAR, ..32u],
}
pub type CONSOLE_FONT_INFOEX = Struct__CONSOLE_FONT_INFOEX;
pub type PCONSOLE_FONT_INFOEX = *mut Struct__CONSOLE_FONT_INFOEX;
#[repr(C)]
pub struct Struct__CONSOLE_HISTORY_INFO {
pub cbSize: UINT,
pub HistoryBufferSize: UINT,
pub NumberOfHistoryBuffers: UINT,
pub dwFlags: DWORD,
}
pub type CONSOLE_HISTORY_INFO = Struct__CONSOLE_HISTORY_INFO;
pub type PCONSOLE_HISTORY_INFO = *mut Struct__CONSOLE_HISTORY_INFO;
#[repr(C)]
pub struct Struct__CONSOLE_READCONSOLE_CONTROL {
pub nLength: ULONG,
pub nInitialChars: ULONG,
pub dwCtrlWakeupMask: ULONG,
pub dwControlKeyState: ULONG,
}
pub type CONSOLE_READCONSOLE_CONTROL = Struct__CONSOLE_READCONSOLE_CONTROL;
pub type PCONSOLE_READCONSOLE_CONTROL =
*mut Struct__CONSOLE_READCONSOLE_CONTROL;
#[repr(C)]
pub struct Struct__CONSOLE_SCREEN_BUFFER_INFOEX {
pub cbSize: ULONG,
pub dwSize: COORD,
pub dwCursorPosition: COORD,
pub wAttributes: WORD,
pub srWindow: SMALL_RECT,
pub dwMaximumWindowSize: COORD,
pub wPopupAttributes: WORD,
pub bFullscreenSupported: WINBOOL,
pub ColorTable: [COLORREF, ..16u],
}
pub type CONSOLE_SCREEN_BUFFER_INFOEX = Struct__CONSOLE_SCREEN_BUFFER_INFOEX;
pub type PCONSOLE_SCREEN_BUFFER_INFOEX =
*mut Struct__CONSOLE_SCREEN_BUFFER_INFOEX;
#[repr(C)]
pub struct Struct_tagVS_FIXEDFILEINFO {
pub dwSignature: DWORD,
pub dwStrucVersion: DWORD,
pub dwFileVersionMS: DWORD,
pub dwFileVersionLS: DWORD,
pub dwProductVersionMS: DWORD,
pub dwProductVersionLS: DWORD,
pub dwFileFlagsMask: DWORD,
pub dwFileFlags: DWORD,
pub dwFileOS: DWORD,
pub dwFileType: DWORD,
pub dwFileSubtype: DWORD,
pub dwFileDateMS: DWORD,
pub dwFileDateLS: DWORD,
}
pub type VS_FIXEDFILEINFO = Struct_tagVS_FIXEDFILEINFO;
pub type REGSAM = ACCESS_MASK;
pub type LSTATUS = LONG;
#[repr(C)]
pub struct Struct_val_context {
pub valuelen: ::libc::c_int,
pub value_context: LPVOID,
pub val_buff_ptr: LPVOID,
}
pub type PVALCONTEXT = *mut Struct_val_context;
#[repr(C)]
pub struct Struct_pvalueA {
pub pv_valuename: LPSTR,
pub pv_valuelen: ::libc::c_int,
pub pv_value_context: LPVOID,
pub pv_type: DWORD,
}
pub type PVALUEA = Struct_pvalueA;
pub type PPVALUEA = *mut Struct_pvalueA;
#[repr(C)]
pub struct Struct_pvalueW {
pub pv_valuename: LPWSTR,
pub pv_valuelen: ::libc::c_int,
pub pv_value_context: LPVOID,
pub pv_type: DWORD,
}
pub type PVALUEW = Struct_pvalueW;
pub type PPVALUEW = *mut Struct_pvalueW;
pub type PVALUE = PVALUEA;
pub type PPVALUE = PPVALUEA;
pub type QUERYHANDLER = ::libc::c_void;
pub type PQUERYHANDLER = *mut QUERYHANDLER;
#[repr(C)]
pub struct Struct_provider_info {
pub pi_R0_1val: PQUERYHANDLER,
pub pi_R0_allvals: PQUERYHANDLER,
pub pi_R3_1val: PQUERYHANDLER,
pub pi_R3_allvals: PQUERYHANDLER,
pub pi_flags: DWORD,
pub pi_key_context: LPVOID,
}
pub type REG_PROVIDER = Struct_provider_info;
pub type PPROVIDER = *mut Struct_provider_info;
#[repr(C)]
pub struct Struct_value_entA {
pub ve_valuename: LPSTR,
pub ve_valuelen: DWORD,
pub ve_valueptr: DWORD_PTR,
pub ve_type: DWORD,
}
pub type VALENTA = Struct_value_entA;
pub type PVALENTA = *mut Struct_value_entA;
#[repr(C)]
pub struct Struct_value_entW {
pub ve_valuename: LPWSTR,
pub ve_valuelen: DWORD,
pub ve_valueptr: DWORD_PTR,
pub ve_type: DWORD,
}
pub type VALENTW = Struct_value_entW;
pub type PVALENTW = *mut Struct_value_entW;
pub type VALENT = VALENTA;
pub type PVALENT = PVALENTA;
#[repr(C)]
pub struct Struct__NETRESOURCEA {
pub dwScope: DWORD,
pub dwType: DWORD,
pub dwDisplayType: DWORD,
pub dwUsage: DWORD,
pub lpLocalName: LPSTR,
pub lpRemoteName: LPSTR,
pub lpComment: LPSTR,
pub lpProvider: LPSTR,
}
pub type NETRESOURCEA = Struct__NETRESOURCEA;
pub type LPNETRESOURCEA = *mut Struct__NETRESOURCEA;
#[repr(C)]
pub struct Struct__NETRESOURCEW {
pub dwScope: DWORD,
pub dwType: DWORD,
pub dwDisplayType: DWORD,
pub dwUsage: DWORD,
pub lpLocalName: LPWSTR,
pub lpRemoteName: LPWSTR,
pub lpComment: LPWSTR,
pub lpProvider: LPWSTR,
}
pub type NETRESOURCEW = Struct__NETRESOURCEW;
pub type LPNETRESOURCEW = *mut Struct__NETRESOURCEW;
pub type NETRESOURCE = NETRESOURCEA;
pub type LPNETRESOURCE = LPNETRESOURCEA;
#[repr(C)]
pub struct Struct__CONNECTDLGSTRUCTA {
pub cbStructure: DWORD,
pub hwndOwner: HWND,
pub lpConnRes: LPNETRESOURCEA,
pub dwFlags: DWORD,
pub dwDevNum: DWORD,
}
pub type CONNECTDLGSTRUCTA = Struct__CONNECTDLGSTRUCTA;
pub type LPCONNECTDLGSTRUCTA = *mut Struct__CONNECTDLGSTRUCTA;
#[repr(C)]
pub struct Struct__CONNECTDLGSTRUCTW {
pub cbStructure: DWORD,
pub hwndOwner: HWND,
pub lpConnRes: LPNETRESOURCEW,
pub dwFlags: DWORD,
pub dwDevNum: DWORD,
}
pub type CONNECTDLGSTRUCTW = Struct__CONNECTDLGSTRUCTW;
pub type LPCONNECTDLGSTRUCTW = *mut Struct__CONNECTDLGSTRUCTW;
pub type CONNECTDLGSTRUCT = CONNECTDLGSTRUCTA;
pub type LPCONNECTDLGSTRUCT = LPCONNECTDLGSTRUCTA;
#[repr(C)]
pub struct Struct__DISCDLGSTRUCTA {
pub cbStructure: DWORD,
pub hwndOwner: HWND,
pub lpLocalName: LPSTR,
pub lpRemoteName: LPSTR,
pub dwFlags: DWORD,
}
pub type DISCDLGSTRUCTA = Struct__DISCDLGSTRUCTA;
pub type LPDISCDLGSTRUCTA = *mut Struct__DISCDLGSTRUCTA;
#[repr(C)]
pub struct Struct__DISCDLGSTRUCTW {
pub cbStructure: DWORD,
pub hwndOwner: HWND,
pub lpLocalName: LPWSTR,
pub lpRemoteName: LPWSTR,
pub dwFlags: DWORD,
}
pub type DISCDLGSTRUCTW = Struct__DISCDLGSTRUCTW;
pub type LPDISCDLGSTRUCTW = *mut Struct__DISCDLGSTRUCTW;
pub type DISCDLGSTRUCT = DISCDLGSTRUCTA;
pub type LPDISCDLGSTRUCT = LPDISCDLGSTRUCTA;
#[repr(C)]
pub struct Struct__UNIVERSAL_NAME_INFOA {
pub lpUniversalName: LPSTR,
}
pub type UNIVERSAL_NAME_INFOA = Struct__UNIVERSAL_NAME_INFOA;
pub type LPUNIVERSAL_NAME_INFOA = *mut Struct__UNIVERSAL_NAME_INFOA;
#[repr(C)]
pub struct Struct__UNIVERSAL_NAME_INFOW {
pub lpUniversalName: LPWSTR,
}
pub type UNIVERSAL_NAME_INFOW = Struct__UNIVERSAL_NAME_INFOW;
pub type LPUNIVERSAL_NAME_INFOW = *mut Struct__UNIVERSAL_NAME_INFOW;
pub type UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFOA;
pub type LPUNIVERSAL_NAME_INFO = LPUNIVERSAL_NAME_INFOA;
#[repr(C)]
pub struct Struct__REMOTE_NAME_INFOA {
pub lpUniversalName: LPSTR,
pub lpConnectionName: LPSTR,
pub lpRemainingPath: LPSTR,
}
pub type REMOTE_NAME_INFOA = Struct__REMOTE_NAME_INFOA;
pub type LPREMOTE_NAME_INFOA = *mut Struct__REMOTE_NAME_INFOA;
#[repr(C)]
pub struct Struct__REMOTE_NAME_INFOW {
pub lpUniversalName: LPWSTR,
pub lpConnectionName: LPWSTR,
pub lpRemainingPath: LPWSTR,
}
pub type REMOTE_NAME_INFOW = Struct__REMOTE_NAME_INFOW;
pub type LPREMOTE_NAME_INFOW = *mut Struct__REMOTE_NAME_INFOW;
pub type REMOTE_NAME_INFO = REMOTE_NAME_INFOA;
pub type LPREMOTE_NAME_INFO = LPREMOTE_NAME_INFOA;
#[repr(C)]
pub struct Struct__NETINFOSTRUCT {
pub cbStructure: DWORD,
pub dwProviderVersion: DWORD,
pub dwStatus: DWORD,
pub dwCharacteristics: DWORD,
pub dwHandle: ULONG_PTR,
pub wNetType: WORD,
pub dwPrinters: DWORD,
pub dwDrives: DWORD,
}
pub type NETINFOSTRUCT = Struct__NETINFOSTRUCT;
pub type LPNETINFOSTRUCT = *mut Struct__NETINFOSTRUCT;
pub type PFNGETPROFILEPATHA =
::std::option::Option<extern "C" fn(arg1: LPCSTR, arg2: LPSTR, arg3: UINT)
-> UINT>;
pub type PFNGETPROFILEPATHW =
::std::option::Option<extern "C" fn
(arg1: LPCWSTR, arg2: LPWSTR, arg3: UINT)
-> UINT>;
pub type PFNRECONCILEPROFILEA =
::std::option::Option<extern "C" fn
(arg1: LPCSTR, arg2: LPCSTR, arg3: DWORD)
-> UINT>;
pub type PFNRECONCILEPROFILEW =
::std::option::Option<extern "C" fn
(arg1: LPCWSTR, arg2: LPCWSTR, arg3: DWORD)
-> UINT>;
pub type PFNPROCESSPOLICIESA =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: LPCSTR, arg3: LPCSTR,
arg4: LPCSTR, arg5: DWORD) -> WINBOOL>;
pub type PFNPROCESSPOLICIESW =
::std::option::Option<extern "C" fn
(arg1: HWND, arg2: LPCWSTR, arg3: LPCWSTR,
arg4: LPCWSTR, arg5: DWORD) -> WINBOOL>;
#[repr(C)]
pub struct Struct__NETCONNECTINFOSTRUCT {
pub cbStructure: DWORD,
pub dwFlags: DWORD,
pub dwSpeed: DWORD,
pub dwDelay: DWORD,
pub dwOptDataSize: DWORD,
}
pub type NETCONNECTINFOSTRUCT = Struct__NETCONNECTINFOSTRUCT;
pub type LPNETCONNECTINFOSTRUCT = *mut Struct__NETCONNECTINFOSTRUCT;
#[repr(C)]
pub struct Struct_Unnamed169 {
pub bAppReturnCode: ::libc::c_ushort,
pub reserved: ::libc::c_ushort,
pub fBusy: ::libc::c_ushort,
pub fAck: ::libc::c_ushort,
}
pub type DDEACK = Struct_Unnamed169;
#[repr(C)]
pub struct Struct_Unnamed170 {
pub reserved: ::libc::c_ushort,
pub fDeferUpd: ::libc::c_ushort,
pub fAckReq: ::libc::c_ushort,
pub cfFormat: ::libc::c_short,
}
pub type DDEADVISE = Struct_Unnamed170;
#[repr(C)]
pub struct Struct_Unnamed171 {
pub unused: ::libc::c_ushort,
pub fResponse: ::libc::c_ushort,
pub fRelease: ::libc::c_ushort,
pub reserved: ::libc::c_ushort,
pub fAckReq: ::libc::c_ushort,
pub cfFormat: ::libc::c_short,
pub Value: [BYTE, ..1u],
}
pub type DDEDATA = Struct_Unnamed171;
#[repr(C)]
pub struct Struct_Unnamed172 {
pub unused: ::libc::c_ushort,
pub fRelease: ::libc::c_ushort,
pub fReserved: ::libc::c_ushort,
pub cfFormat: ::libc::c_short,
pub Value: [BYTE, ..1u],
}
pub type DDEPOKE = Struct_Unnamed172;
#[repr(C)]
pub struct Struct_Unnamed173 {
pub unused: ::libc::c_ushort,
pub fRelease: ::libc::c_ushort,
pub fDeferUpd: ::libc::c_ushort,
pub fAckReq: ::libc::c_ushort,
pub cfFormat: ::libc::c_short,
}
pub type DDELN = Struct_Unnamed173;
#[repr(C)]
pub struct Struct_Unnamed174 {
pub unused: ::libc::c_ushort,
pub fAck: ::libc::c_ushort,
pub fRelease: ::libc::c_ushort,
pub fReserved: ::libc::c_ushort,
pub fAckReq: ::libc::c_ushort,
pub cfFormat: ::libc::c_short,
pub rgb: [BYTE, ..1u],
}
pub type DDEUP = Struct_Unnamed174;
#[repr(C)]
pub struct Struct_HCONVLIST__ {
pub unused: ::libc::c_int,
}
pub type HCONVLIST = *mut Struct_HCONVLIST__;
#[repr(C)]
pub struct Struct_HCONV__ {
pub unused: ::libc::c_int,
}
pub type HCONV = *mut Struct_HCONV__;
#[repr(C)]
pub struct Struct_HSZ__ {
pub unused: ::libc::c_int,
}
pub type HSZ = *mut Struct_HSZ__;
#[repr(C)]
pub struct Struct_HDDEDATA__ {
pub unused: ::libc::c_int,
}
pub type HDDEDATA = *mut Struct_HDDEDATA__;
#[repr(C)]
pub struct Struct_tagHSZPAIR {
pub hszSvc: HSZ,
pub hszTopic: HSZ,
}
pub type HSZPAIR = Struct_tagHSZPAIR;
pub type PHSZPAIR = *mut Struct_tagHSZPAIR;
#[repr(C)]
pub struct Struct_tagCONVCONTEXT {
pub cb: UINT,
pub wFlags: UINT,
pub wCountryID: UINT,
pub iCodePage: ::libc::c_int,
pub dwLangID: DWORD,
pub dwSecurity: DWORD,
pub qos: SECURITY_QUALITY_OF_SERVICE,
}
pub type CONVCONTEXT = Struct_tagCONVCONTEXT;
pub type PCONVCONTEXT = *mut Struct_tagCONVCONTEXT;
#[repr(C)]
pub struct Struct_tagCONVINFO {
pub cb: DWORD,
pub hUser: DWORD_PTR,
pub hConvPartner: HCONV,
pub hszSvcPartner: HSZ,
pub hszServiceReq: HSZ,
pub hszTopic: HSZ,
pub hszItem: HSZ,
pub wFmt: UINT,
pub wType: UINT,
pub wStatus: UINT,
pub wConvst: UINT,
pub wLastError: UINT,
pub hConvList: HCONVLIST,
pub ConvCtxt: CONVCONTEXT,
pub hwnd: HWND,
pub hwndPartner: HWND,
}
pub type CONVINFO = Struct_tagCONVINFO;
pub type PCONVINFO = *mut Struct_tagCONVINFO;
pub type FNCALLBACK = ::libc::c_void;
pub type PFNCALLBACK =
::std::option::Option<extern "C" fn
(arg1: UINT, arg2: UINT, arg3: HCONV, arg4: HSZ,
arg5: HSZ, arg6: HDDEDATA, arg7: ULONG_PTR,
arg8: ULONG_PTR) -> HDDEDATA>;
#[repr(C)]
pub struct Struct_tagDDEML_MSG_HOOK_DATA {
pub uiLo: UINT_PTR,
pub uiHi: UINT_PTR,
pub cbData: DWORD,
pub Data: [DWORD, ..8u],
}
pub type DDEML_MSG_HOOK_DATA = Struct_tagDDEML_MSG_HOOK_DATA;
pub type PDDEML_MSG_HOOK_DATA = *mut Struct_tagDDEML_MSG_HOOK_DATA;
#[repr(C)]
pub struct Struct_tagMONMSGSTRUCT {
pub cb: UINT,
pub hwndTo: HWND,
pub dwTime: DWORD,
pub hTask: HANDLE,
pub wMsg: UINT,
pub wParam: WPARAM,
pub lParam: LPARAM,
pub dmhd: DDEML_MSG_HOOK_DATA,
}
pub type MONMSGSTRUCT = Struct_tagMONMSGSTRUCT;
pub type PMONMSGSTRUCT = *mut Struct_tagMONMSGSTRUCT;
#[repr(C)]
pub struct Struct_tagMONCBSTRUCT {
pub cb: UINT,
pub dwTime: DWORD,
pub hTask: HANDLE,
pub dwRet: DWORD,
pub wType: UINT,
pub wFmt: UINT,
pub hConv: HCONV,
pub hsz1: HSZ,
pub hsz2: HSZ,
pub hData: HDDEDATA,
pub dwData1: ULONG_PTR,
pub dwData2: ULONG_PTR,
pub cc: CONVCONTEXT,
pub cbData: DWORD,
pub Data: [DWORD, ..8u],
}
pub type MONCBSTRUCT = Struct_tagMONCBSTRUCT;
pub type PMONCBSTRUCT = *mut Struct_tagMONCBSTRUCT;
#[repr(C)]
pub struct Struct_tagMONHSZSTRUCTA {
pub cb: UINT,
pub fsAction: WINBOOL,
pub dwTime: DWORD,
pub hsz: HSZ,
pub hTask: HANDLE,
pub _str: [CHAR, ..1u],
}
pub type MONHSZSTRUCTA = Struct_tagMONHSZSTRUCTA;
pub type PMONHSZSTRUCTA = *mut Struct_tagMONHSZSTRUCTA;
#[repr(C)]
pub struct Struct_tagMONHSZSTRUCTW {
pub cb: UINT,
pub fsAction: WINBOOL,
pub dwTime: DWORD,
pub hsz: HSZ,
pub hTask: HANDLE,
pub _str: [WCHAR, ..1u],
}
pub type MONHSZSTRUCTW = Struct_tagMONHSZSTRUCTW;
pub type PMONHSZSTRUCTW = *mut Struct_tagMONHSZSTRUCTW;
pub type MONHSZSTRUCT = MONHSZSTRUCTA;
pub type PMONHSZSTRUCT = PMONHSZSTRUCTA;
#[repr(C)]
pub struct Struct_tagMONERRSTRUCT {
pub cb: UINT,
pub wLastError: UINT,
pub dwTime: DWORD,
pub hTask: HANDLE,
}
pub type MONERRSTRUCT = Struct_tagMONERRSTRUCT;
pub type PMONERRSTRUCT = *mut Struct_tagMONERRSTRUCT;
#[repr(C)]
pub struct Struct_tagMONLINKSTRUCT {
pub cb: UINT,
pub dwTime: DWORD,
pub hTask: HANDLE,
pub fEstablished: WINBOOL,
pub fNoData: WINBOOL,
pub hszSvc: HSZ,
pub hszTopic: HSZ,
pub hszItem: HSZ,
pub wFmt: UINT,
pub fServer: WINBOOL,
pub hConvServer: HCONV,
pub hConvClient: HCONV,
}
pub type MONLINKSTRUCT = Struct_tagMONLINKSTRUCT;
pub type PMONLINKSTRUCT = *mut Struct_tagMONLINKSTRUCT;
#[repr(C)]
pub struct Struct_tagMONCONVSTRUCT {
pub cb: UINT,
pub fConnect: WINBOOL,
pub dwTime: DWORD,
pub hTask: HANDLE,
pub hszSvc: HSZ,
pub hszTopic: HSZ,
pub hConvClient: HCONV,
pub hConvServer: HCONV,
}
pub type MONCONVSTRUCT = Struct_tagMONCONVSTRUCT;
pub type PMONCONVSTRUCT = *mut Struct_tagMONCONVSTRUCT;
#[repr(C)]
pub struct Struct_tagCRGB {
pub bRed: BYTE,
pub bGreen: BYTE,
pub bBlue: BYTE,
pub bExtra: BYTE,
}
pub type CRGB = Struct_tagCRGB;
pub type MMVERSION = UINT;
pub type MMRESULT = UINT;
pub type LPUINT = *mut UINT;
#[repr(C)]
pub struct Struct_mmtime_tag {
pub wType: UINT,
pub u: Union_Unnamed175,
}
#[repr(C)]
pub struct Union_Unnamed175 {
pub data: [u8, ..8u],
}
impl Union_Unnamed175 {
pub fn ms(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn sample(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn cb(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn ticks(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn smpte(&mut self) -> *mut Struct_Unnamed176 {
unsafe { ::std::mem::transmute(self) }
}
pub fn midi(&mut self) -> *mut Struct_Unnamed177 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed176 {
pub hour: BYTE,
pub min: BYTE,
pub sec: BYTE,
pub frame: BYTE,
pub fps: BYTE,
pub dummy: BYTE,
pub pad: [BYTE, ..2u],
}
#[repr(C)]
pub struct Struct_Unnamed177 {
pub songptrpos: DWORD,
}
pub type MMTIME = Struct_mmtime_tag;
pub type PMMTIME = *mut Struct_mmtime_tag;
pub type NPMMTIME = *mut Struct_mmtime_tag;
pub type LPMMTIME = *mut Struct_mmtime_tag;
#[repr(C)]
pub struct Struct_HDRVR__ {
pub unused: ::libc::c_int,
}
pub type HDRVR = *mut Struct_HDRVR__;
#[repr(C)]
pub struct Struct_DRVCONFIGINFOEX {
pub dwDCISize: DWORD,
pub lpszDCISectionName: LPCWSTR,
pub lpszDCIAliasName: LPCWSTR,
pub dnDevNode: DWORD,
}
pub type DRVCONFIGINFOEX = Struct_DRVCONFIGINFOEX;
pub type PDRVCONFIGINFOEX = *mut Struct_DRVCONFIGINFOEX;
pub type NPDRVCONFIGINFOEX = *mut Struct_DRVCONFIGINFOEX;
pub type LPDRVCONFIGINFOEX = *mut Struct_DRVCONFIGINFOEX;
#[repr(C)]
pub struct Struct_tagDRVCONFIGINFO {
pub dwDCISize: DWORD,
pub lpszDCISectionName: LPCWSTR,
pub lpszDCIAliasName: LPCWSTR,
}
pub type DRVCONFIGINFO = Struct_tagDRVCONFIGINFO;
pub type PDRVCONFIGINFO = *mut Struct_tagDRVCONFIGINFO;
pub type NPDRVCONFIGINFO = *mut Struct_tagDRVCONFIGINFO;
pub type LPDRVCONFIGINFO = *mut Struct_tagDRVCONFIGINFO;
pub type DRIVERPROC =
::std::option::Option<extern "C" fn
(arg1: DWORD_PTR, arg2: HDRVR, arg3: UINT,
arg4: LPARAM, arg5: LPARAM) -> LRESULT>;
pub type DRVCALLBACK = ::libc::c_void;
pub type LPDRVCALLBACK = *mut DRVCALLBACK;
pub type PDRVCALLBACK = *mut DRVCALLBACK;
#[repr(C)]
pub struct Struct_HWAVE__ {
pub unused: ::libc::c_int,
}
pub type HWAVE = *mut Struct_HWAVE__;
#[repr(C)]
pub struct Struct_HWAVEIN__ {
pub unused: ::libc::c_int,
}
pub type HWAVEIN = *mut Struct_HWAVEIN__;
#[repr(C)]
pub struct Struct_HWAVEOUT__ {
pub unused: ::libc::c_int,
}
pub type HWAVEOUT = *mut Struct_HWAVEOUT__;
pub type LPHWAVEIN = *mut HWAVEIN;
pub type LPHWAVEOUT = *mut HWAVEOUT;
pub type WAVECALLBACK = DRVCALLBACK;
pub type LPWAVECALLBACK = *mut WAVECALLBACK;
#[repr(C)]
pub struct Struct_wavehdr_tag {
pub lpData: LPSTR,
pub dwBufferLength: DWORD,
pub dwBytesRecorded: DWORD,
pub dwUser: DWORD_PTR,
pub dwFlags: DWORD,
pub dwLoops: DWORD,
pub lpNext: *mut Struct_wavehdr_tag,
pub reserved: DWORD_PTR,
}
pub type WAVEHDR = Struct_wavehdr_tag;
pub type PWAVEHDR = *mut Struct_wavehdr_tag;
pub type NPWAVEHDR = *mut Struct_wavehdr_tag;
pub type LPWAVEHDR = *mut Struct_wavehdr_tag;
#[repr(C)]
pub struct Struct_tagWAVEOUTCAPSA {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub dwFormats: DWORD,
pub wChannels: WORD,
pub wReserved1: WORD,
pub dwSupport: DWORD,
}
pub type WAVEOUTCAPSA = Struct_tagWAVEOUTCAPSA;
pub type PWAVEOUTCAPSA = *mut Struct_tagWAVEOUTCAPSA;
pub type NPWAVEOUTCAPSA = *mut Struct_tagWAVEOUTCAPSA;
pub type LPWAVEOUTCAPSA = *mut Struct_tagWAVEOUTCAPSA;
#[repr(C)]
pub struct Struct_tagWAVEOUTCAPSW {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub dwFormats: DWORD,
pub wChannels: WORD,
pub wReserved1: WORD,
pub dwSupport: DWORD,
}
pub type WAVEOUTCAPSW = Struct_tagWAVEOUTCAPSW;
pub type PWAVEOUTCAPSW = *mut Struct_tagWAVEOUTCAPSW;
pub type NPWAVEOUTCAPSW = *mut Struct_tagWAVEOUTCAPSW;
pub type LPWAVEOUTCAPSW = *mut Struct_tagWAVEOUTCAPSW;
pub type WAVEOUTCAPS = WAVEOUTCAPSA;
pub type PWAVEOUTCAPS = PWAVEOUTCAPSA;
pub type NPWAVEOUTCAPS = NPWAVEOUTCAPSA;
pub type LPWAVEOUTCAPS = LPWAVEOUTCAPSA;
#[repr(C)]
pub struct Struct_tagWAVEOUTCAPS2A {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub dwFormats: DWORD,
pub wChannels: WORD,
pub wReserved1: WORD,
pub dwSupport: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type WAVEOUTCAPS2A = Struct_tagWAVEOUTCAPS2A;
pub type PWAVEOUTCAPS2A = *mut Struct_tagWAVEOUTCAPS2A;
pub type NPWAVEOUTCAPS2A = *mut Struct_tagWAVEOUTCAPS2A;
pub type LPWAVEOUTCAPS2A = *mut Struct_tagWAVEOUTCAPS2A;
#[repr(C)]
pub struct Struct_tagWAVEOUTCAPS2W {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub dwFormats: DWORD,
pub wChannels: WORD,
pub wReserved1: WORD,
pub dwSupport: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type WAVEOUTCAPS2W = Struct_tagWAVEOUTCAPS2W;
pub type PWAVEOUTCAPS2W = *mut Struct_tagWAVEOUTCAPS2W;
pub type NPWAVEOUTCAPS2W = *mut Struct_tagWAVEOUTCAPS2W;
pub type LPWAVEOUTCAPS2W = *mut Struct_tagWAVEOUTCAPS2W;
pub type WAVEOUTCAPS2 = WAVEOUTCAPS2A;
pub type PWAVEOUTCAPS2 = PWAVEOUTCAPS2A;
pub type NPWAVEOUTCAPS2 = NPWAVEOUTCAPS2A;
pub type LPWAVEOUTCAPS2 = LPWAVEOUTCAPS2A;
#[repr(C)]
pub struct Struct_tagWAVEINCAPSA {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub dwFormats: DWORD,
pub wChannels: WORD,
pub wReserved1: WORD,
}
pub type WAVEINCAPSA = Struct_tagWAVEINCAPSA;
pub type PWAVEINCAPSA = *mut Struct_tagWAVEINCAPSA;
pub type NPWAVEINCAPSA = *mut Struct_tagWAVEINCAPSA;
pub type LPWAVEINCAPSA = *mut Struct_tagWAVEINCAPSA;
#[repr(C)]
pub struct Struct_tagWAVEINCAPSW {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub dwFormats: DWORD,
pub wChannels: WORD,
pub wReserved1: WORD,
}
pub type WAVEINCAPSW = Struct_tagWAVEINCAPSW;
pub type PWAVEINCAPSW = *mut Struct_tagWAVEINCAPSW;
pub type NPWAVEINCAPSW = *mut Struct_tagWAVEINCAPSW;
pub type LPWAVEINCAPSW = *mut Struct_tagWAVEINCAPSW;
pub type WAVEINCAPS = WAVEINCAPSA;
pub type PWAVEINCAPS = PWAVEINCAPSA;
pub type NPWAVEINCAPS = NPWAVEINCAPSA;
pub type LPWAVEINCAPS = LPWAVEINCAPSA;
#[repr(C)]
pub struct Struct_tagWAVEINCAPS2A {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub dwFormats: DWORD,
pub wChannels: WORD,
pub wReserved1: WORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type WAVEINCAPS2A = Struct_tagWAVEINCAPS2A;
pub type PWAVEINCAPS2A = *mut Struct_tagWAVEINCAPS2A;
pub type NPWAVEINCAPS2A = *mut Struct_tagWAVEINCAPS2A;
pub type LPWAVEINCAPS2A = *mut Struct_tagWAVEINCAPS2A;
#[repr(C)]
pub struct Struct_tagWAVEINCAPS2W {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub dwFormats: DWORD,
pub wChannels: WORD,
pub wReserved1: WORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type WAVEINCAPS2W = Struct_tagWAVEINCAPS2W;
pub type PWAVEINCAPS2W = *mut Struct_tagWAVEINCAPS2W;
pub type NPWAVEINCAPS2W = *mut Struct_tagWAVEINCAPS2W;
pub type LPWAVEINCAPS2W = *mut Struct_tagWAVEINCAPS2W;
pub type WAVEINCAPS2 = WAVEINCAPS2A;
pub type PWAVEINCAPS2 = PWAVEINCAPS2A;
pub type NPWAVEINCAPS2 = NPWAVEINCAPS2A;
pub type LPWAVEINCAPS2 = LPWAVEINCAPS2A;
#[repr(C)]
pub struct Struct_waveformat_tag {
pub wFormatTag: WORD,
pub nChannels: WORD,
pub nSamplesPerSec: DWORD,
pub nAvgBytesPerSec: DWORD,
pub nBlockAlign: WORD,
}
pub type WAVEFORMAT = Struct_waveformat_tag;
pub type PWAVEFORMAT = *mut Struct_waveformat_tag;
pub type NPWAVEFORMAT = *mut Struct_waveformat_tag;
pub type LPWAVEFORMAT = *mut Struct_waveformat_tag;
#[repr(C)]
pub struct Struct_pcmwaveformat_tag {
pub wf: WAVEFORMAT,
pub wBitsPerSample: WORD,
}
pub type PCMWAVEFORMAT = Struct_pcmwaveformat_tag;
pub type PPCMWAVEFORMAT = *mut Struct_pcmwaveformat_tag;
pub type NPPCMWAVEFORMAT = *mut Struct_pcmwaveformat_tag;
pub type LPPCMWAVEFORMAT = *mut Struct_pcmwaveformat_tag;
#[repr(C)]
pub struct Struct_tWAVEFORMATEX {
pub wFormatTag: WORD,
pub nChannels: WORD,
pub nSamplesPerSec: DWORD,
pub nAvgBytesPerSec: DWORD,
pub nBlockAlign: WORD,
pub wBitsPerSample: WORD,
pub cbSize: WORD,
}
pub type WAVEFORMATEX = Struct_tWAVEFORMATEX;
pub type PWAVEFORMATEX = *mut Struct_tWAVEFORMATEX;
pub type NPWAVEFORMATEX = *mut Struct_tWAVEFORMATEX;
pub type LPWAVEFORMATEX = *mut Struct_tWAVEFORMATEX;
pub type LPCWAVEFORMATEX = *const WAVEFORMATEX;
#[repr(C)]
pub struct Struct_HMIDI__ {
pub unused: ::libc::c_int,
}
pub type HMIDI = *mut Struct_HMIDI__;
#[repr(C)]
pub struct Struct_HMIDIIN__ {
pub unused: ::libc::c_int,
}
pub type HMIDIIN = *mut Struct_HMIDIIN__;
#[repr(C)]
pub struct Struct_HMIDIOUT__ {
pub unused: ::libc::c_int,
}
pub type HMIDIOUT = *mut Struct_HMIDIOUT__;
#[repr(C)]
pub struct Struct_HMIDISTRM__ {
pub unused: ::libc::c_int,
}
pub type HMIDISTRM = *mut Struct_HMIDISTRM__;
pub type LPHMIDI = *mut HMIDI;
pub type LPHMIDIIN = *mut HMIDIIN;
pub type LPHMIDIOUT = *mut HMIDIOUT;
pub type LPHMIDISTRM = *mut HMIDISTRM;
pub type MIDICALLBACK = DRVCALLBACK;
pub type LPMIDICALLBACK = *mut MIDICALLBACK;
pub type PATCHARRAY = [WORD, ..128u];
pub type LPPATCHARRAY = *mut WORD;
pub type KEYARRAY = [WORD, ..128u];
pub type LPKEYARRAY = *mut WORD;
#[repr(C)]
pub struct Struct_tagMIDIOUTCAPSA {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub wTechnology: WORD,
pub wVoices: WORD,
pub wNotes: WORD,
pub wChannelMask: WORD,
pub dwSupport: DWORD,
}
pub type MIDIOUTCAPSA = Struct_tagMIDIOUTCAPSA;
pub type PMIDIOUTCAPSA = *mut Struct_tagMIDIOUTCAPSA;
pub type NPMIDIOUTCAPSA = *mut Struct_tagMIDIOUTCAPSA;
pub type LPMIDIOUTCAPSA = *mut Struct_tagMIDIOUTCAPSA;
#[repr(C)]
pub struct Struct_tagMIDIOUTCAPSW {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub wTechnology: WORD,
pub wVoices: WORD,
pub wNotes: WORD,
pub wChannelMask: WORD,
pub dwSupport: DWORD,
}
pub type MIDIOUTCAPSW = Struct_tagMIDIOUTCAPSW;
pub type PMIDIOUTCAPSW = *mut Struct_tagMIDIOUTCAPSW;
pub type NPMIDIOUTCAPSW = *mut Struct_tagMIDIOUTCAPSW;
pub type LPMIDIOUTCAPSW = *mut Struct_tagMIDIOUTCAPSW;
pub type MIDIOUTCAPS = MIDIOUTCAPSA;
pub type PMIDIOUTCAPS = PMIDIOUTCAPSA;
pub type NPMIDIOUTCAPS = NPMIDIOUTCAPSA;
pub type LPMIDIOUTCAPS = LPMIDIOUTCAPSA;
#[repr(C)]
pub struct Struct_tagMIDIOUTCAPS2A {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub wTechnology: WORD,
pub wVoices: WORD,
pub wNotes: WORD,
pub wChannelMask: WORD,
pub dwSupport: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type MIDIOUTCAPS2A = Struct_tagMIDIOUTCAPS2A;
pub type PMIDIOUTCAPS2A = *mut Struct_tagMIDIOUTCAPS2A;
pub type NPMIDIOUTCAPS2A = *mut Struct_tagMIDIOUTCAPS2A;
pub type LPMIDIOUTCAPS2A = *mut Struct_tagMIDIOUTCAPS2A;
#[repr(C)]
pub struct Struct_tagMIDIOUTCAPS2W {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub wTechnology: WORD,
pub wVoices: WORD,
pub wNotes: WORD,
pub wChannelMask: WORD,
pub dwSupport: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type MIDIOUTCAPS2W = Struct_tagMIDIOUTCAPS2W;
pub type PMIDIOUTCAPS2W = *mut Struct_tagMIDIOUTCAPS2W;
pub type NPMIDIOUTCAPS2W = *mut Struct_tagMIDIOUTCAPS2W;
pub type LPMIDIOUTCAPS2W = *mut Struct_tagMIDIOUTCAPS2W;
pub type MIDIOUTCAPS2 = MIDIOUTCAPS2A;
pub type PMIDIOUTCAPS2 = PMIDIOUTCAPS2A;
pub type NPMIDIOUTCAPS2 = NPMIDIOUTCAPS2A;
pub type LPMIDIOUTCAPS2 = LPMIDIOUTCAPS2A;
#[repr(C)]
pub struct Struct_tagMIDIINCAPSA {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub dwSupport: DWORD,
}
pub type MIDIINCAPSA = Struct_tagMIDIINCAPSA;
pub type PMIDIINCAPSA = *mut Struct_tagMIDIINCAPSA;
pub type NPMIDIINCAPSA = *mut Struct_tagMIDIINCAPSA;
pub type LPMIDIINCAPSA = *mut Struct_tagMIDIINCAPSA;
#[repr(C)]
pub struct Struct_tagMIDIINCAPSW {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub dwSupport: DWORD,
}
pub type MIDIINCAPSW = Struct_tagMIDIINCAPSW;
pub type PMIDIINCAPSW = *mut Struct_tagMIDIINCAPSW;
pub type NPMIDIINCAPSW = *mut Struct_tagMIDIINCAPSW;
pub type LPMIDIINCAPSW = *mut Struct_tagMIDIINCAPSW;
pub type MIDIINCAPS = MIDIINCAPSA;
pub type PMIDIINCAPS = PMIDIINCAPSA;
pub type NPMIDIINCAPS = NPMIDIINCAPSA;
pub type LPMIDIINCAPS = LPMIDIINCAPSA;
#[repr(C)]
pub struct Struct_tagMIDIINCAPS2A {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub dwSupport: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type MIDIINCAPS2A = Struct_tagMIDIINCAPS2A;
pub type PMIDIINCAPS2A = *mut Struct_tagMIDIINCAPS2A;
pub type NPMIDIINCAPS2A = *mut Struct_tagMIDIINCAPS2A;
pub type LPMIDIINCAPS2A = *mut Struct_tagMIDIINCAPS2A;
#[repr(C)]
pub struct Struct_tagMIDIINCAPS2W {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub dwSupport: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type MIDIINCAPS2W = Struct_tagMIDIINCAPS2W;
pub type PMIDIINCAPS2W = *mut Struct_tagMIDIINCAPS2W;
pub type NPMIDIINCAPS2W = *mut Struct_tagMIDIINCAPS2W;
pub type LPMIDIINCAPS2W = *mut Struct_tagMIDIINCAPS2W;
pub type MIDIINCAPS2 = MIDIINCAPS2A;
pub type PMIDIINCAPS2 = PMIDIINCAPS2A;
pub type NPMIDIINCAPS2 = NPMIDIINCAPS2A;
pub type LPMIDIINCAPS2 = LPMIDIINCAPS2A;
#[repr(C)]
pub struct Struct_midihdr_tag {
pub lpData: LPSTR,
pub dwBufferLength: DWORD,
pub dwBytesRecorded: DWORD,
pub dwUser: DWORD_PTR,
pub dwFlags: DWORD,
pub lpNext: *mut Struct_midihdr_tag,
pub reserved: DWORD_PTR,
pub dwOffset: DWORD,
pub dwReserved: [DWORD_PTR, ..8u],
}
pub type MIDIHDR = Struct_midihdr_tag;
pub type PMIDIHDR = *mut Struct_midihdr_tag;
pub type NPMIDIHDR = *mut Struct_midihdr_tag;
pub type LPMIDIHDR = *mut Struct_midihdr_tag;
#[repr(C)]
pub struct Struct_midievent_tag {
pub dwDeltaTime: DWORD,
pub dwStreamID: DWORD,
pub dwEvent: DWORD,
pub dwParms: [DWORD, ..1u],
}
pub type MIDIEVENT = Struct_midievent_tag;
#[repr(C)]
pub struct Struct_midistrmbuffver_tag {
pub dwVersion: DWORD,
pub dwMid: DWORD,
pub dwOEMVersion: DWORD,
}
pub type MIDISTRMBUFFVER = Struct_midistrmbuffver_tag;
#[repr(C)]
pub struct Struct_midiproptimediv_tag {
pub cbStruct: DWORD,
pub dwTimeDiv: DWORD,
}
pub type MIDIPROPTIMEDIV = Struct_midiproptimediv_tag;
pub type LPMIDIPROPTIMEDIV = *mut Struct_midiproptimediv_tag;
#[repr(C)]
pub struct Struct_midiproptempo_tag {
pub cbStruct: DWORD,
pub dwTempo: DWORD,
}
pub type MIDIPROPTEMPO = Struct_midiproptempo_tag;
pub type LPMIDIPROPTEMPO = *mut Struct_midiproptempo_tag;
#[repr(C)]
pub struct Struct_tagAUXCAPSA {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub wTechnology: WORD,
pub wReserved1: WORD,
pub dwSupport: DWORD,
}
pub type AUXCAPSA = Struct_tagAUXCAPSA;
pub type PAUXCAPSA = *mut Struct_tagAUXCAPSA;
pub type NPAUXCAPSA = *mut Struct_tagAUXCAPSA;
pub type LPAUXCAPSA = *mut Struct_tagAUXCAPSA;
#[repr(C)]
pub struct Struct_tagAUXCAPSW {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub wTechnology: WORD,
pub wReserved1: WORD,
pub dwSupport: DWORD,
}
pub type AUXCAPSW = Struct_tagAUXCAPSW;
pub type PAUXCAPSW = *mut Struct_tagAUXCAPSW;
pub type NPAUXCAPSW = *mut Struct_tagAUXCAPSW;
pub type LPAUXCAPSW = *mut Struct_tagAUXCAPSW;
pub type AUXCAPS = AUXCAPSA;
pub type PAUXCAPS = PAUXCAPSA;
pub type NPAUXCAPS = NPAUXCAPSA;
pub type LPAUXCAPS = LPAUXCAPSA;
#[repr(C)]
pub struct Struct_tagAUXCAPS2A {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub wTechnology: WORD,
pub wReserved1: WORD,
pub dwSupport: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type AUXCAPS2A = Struct_tagAUXCAPS2A;
pub type PAUXCAPS2A = *mut Struct_tagAUXCAPS2A;
pub type NPAUXCAPS2A = *mut Struct_tagAUXCAPS2A;
pub type LPAUXCAPS2A = *mut Struct_tagAUXCAPS2A;
#[repr(C)]
pub struct Struct_tagAUXCAPS2W {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub wTechnology: WORD,
pub wReserved1: WORD,
pub dwSupport: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type AUXCAPS2W = Struct_tagAUXCAPS2W;
pub type PAUXCAPS2W = *mut Struct_tagAUXCAPS2W;
pub type NPAUXCAPS2W = *mut Struct_tagAUXCAPS2W;
pub type LPAUXCAPS2W = *mut Struct_tagAUXCAPS2W;
pub type AUXCAPS2 = AUXCAPS2A;
pub type PAUXCAPS2 = PAUXCAPS2A;
pub type NPAUXCAPS2 = NPAUXCAPS2A;
pub type LPAUXCAPS2 = LPAUXCAPS2A;
#[repr(C)]
pub struct Struct_HMIXEROBJ__ {
pub unused: ::libc::c_int,
}
pub type HMIXEROBJ = *mut Struct_HMIXEROBJ__;
pub type LPHMIXEROBJ = *mut HMIXEROBJ;
#[repr(C)]
pub struct Struct_HMIXER__ {
pub unused: ::libc::c_int,
}
pub type HMIXER = *mut Struct_HMIXER__;
pub type LPHMIXER = *mut HMIXER;
#[repr(C)]
pub struct Struct_tagMIXERCAPSA {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub fdwSupport: DWORD,
pub cDestinations: DWORD,
}
pub type MIXERCAPSA = Struct_tagMIXERCAPSA;
pub type PMIXERCAPSA = *mut Struct_tagMIXERCAPSA;
pub type LPMIXERCAPSA = *mut Struct_tagMIXERCAPSA;
#[repr(C)]
pub struct Struct_tagMIXERCAPSW {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub fdwSupport: DWORD,
pub cDestinations: DWORD,
}
pub type MIXERCAPSW = Struct_tagMIXERCAPSW;
pub type PMIXERCAPSW = *mut Struct_tagMIXERCAPSW;
pub type LPMIXERCAPSW = *mut Struct_tagMIXERCAPSW;
pub type MIXERCAPS = MIXERCAPSA;
pub type PMIXERCAPS = PMIXERCAPSA;
pub type LPMIXERCAPS = LPMIXERCAPSA;
#[repr(C)]
pub struct Struct_tagMIXERCAPS2A {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
pub fdwSupport: DWORD,
pub cDestinations: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type MIXERCAPS2A = Struct_tagMIXERCAPS2A;
pub type PMIXERCAPS2A = *mut Struct_tagMIXERCAPS2A;
pub type LPMIXERCAPS2A = *mut Struct_tagMIXERCAPS2A;
#[repr(C)]
pub struct Struct_tagMIXERCAPS2W {
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
pub fdwSupport: DWORD,
pub cDestinations: DWORD,
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type MIXERCAPS2W = Struct_tagMIXERCAPS2W;
pub type PMIXERCAPS2W = *mut Struct_tagMIXERCAPS2W;
pub type LPMIXERCAPS2W = *mut Struct_tagMIXERCAPS2W;
pub type MIXERCAPS2 = MIXERCAPS2A;
pub type PMIXERCAPS2 = PMIXERCAPS2A;
pub type LPMIXERCAPS2 = LPMIXERCAPS2A;
#[repr(C)]
pub struct Struct_tagMIXERLINEA {
pub cbStruct: DWORD,
pub dwDestination: DWORD,
pub dwSource: DWORD,
pub dwLineID: DWORD,
pub fdwLine: DWORD,
pub dwUser: DWORD_PTR,
pub dwComponentType: DWORD,
pub cChannels: DWORD,
pub cConnections: DWORD,
pub cControls: DWORD,
pub szShortName: [CHAR, ..16u],
pub szName: [CHAR, ..64u],
pub Target: Struct_Unnamed178,
}
#[repr(C)]
pub struct Struct_Unnamed178 {
pub dwType: DWORD,
pub dwDeviceID: DWORD,
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [CHAR, ..32u],
}
pub type MIXERLINEA = Struct_tagMIXERLINEA;
pub type PMIXERLINEA = *mut Struct_tagMIXERLINEA;
pub type LPMIXERLINEA = *mut Struct_tagMIXERLINEA;
#[repr(C)]
pub struct Struct_tagMIXERLINEW {
pub cbStruct: DWORD,
pub dwDestination: DWORD,
pub dwSource: DWORD,
pub dwLineID: DWORD,
pub fdwLine: DWORD,
pub dwUser: DWORD_PTR,
pub dwComponentType: DWORD,
pub cChannels: DWORD,
pub cConnections: DWORD,
pub cControls: DWORD,
pub szShortName: [WCHAR, ..16u],
pub szName: [WCHAR, ..64u],
pub Target: Struct_Unnamed179,
}
#[repr(C)]
pub struct Struct_Unnamed179 {
pub dwType: DWORD,
pub dwDeviceID: DWORD,
pub wMid: WORD,
pub wPid: WORD,
pub vDriverVersion: MMVERSION,
pub szPname: [WCHAR, ..32u],
}
pub type MIXERLINEW = Struct_tagMIXERLINEW;
pub type PMIXERLINEW = *mut Struct_tagMIXERLINEW;
pub type LPMIXERLINEW = *mut Struct_tagMIXERLINEW;
pub type MIXERLINE = MIXERLINEA;
pub type PMIXERLINE = PMIXERLINEA;
pub type LPMIXERLINE = LPMIXERLINEA;
#[repr(C)]
pub struct Struct_tagMIXERCONTROLA {
pub cbStruct: DWORD,
pub dwControlID: DWORD,
pub dwControlType: DWORD,
pub fdwControl: DWORD,
pub cMultipleItems: DWORD,
pub szShortName: [CHAR, ..16u],
pub szName: [CHAR, ..64u],
pub Bounds: Union_Unnamed180,
pub Metrics: Union_Unnamed181,
}
#[repr(C)]
pub struct Union_Unnamed180 {
pub data: [u8, ..24u],
}
impl Union_Unnamed180 {
pub fn dwReserved(&mut self) -> *mut [DWORD, ..6u] {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed182 {
pub lMinimum: LONG,
pub lMaximum: LONG,
}
#[repr(C)]
pub struct Struct_Unnamed183 {
pub dwMinimum: DWORD,
pub dwMaximum: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed181 {
pub data: [u8, ..24u],
}
impl Union_Unnamed181 {
pub fn cSteps(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn cbCustomData(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn dwReserved(&mut self) -> *mut [DWORD, ..6u] {
unsafe { ::std::mem::transmute(self) }
}
}
pub type MIXERCONTROLA = Struct_tagMIXERCONTROLA;
pub type PMIXERCONTROLA = *mut Struct_tagMIXERCONTROLA;
pub type LPMIXERCONTROLA = *mut Struct_tagMIXERCONTROLA;
#[repr(C)]
pub struct Struct_tagMIXERCONTROLW {
pub cbStruct: DWORD,
pub dwControlID: DWORD,
pub dwControlType: DWORD,
pub fdwControl: DWORD,
pub cMultipleItems: DWORD,
pub szShortName: [WCHAR, ..16u],
pub szName: [WCHAR, ..64u],
pub Bounds: Union_Unnamed184,
pub Metrics: Union_Unnamed185,
}
#[repr(C)]
pub struct Union_Unnamed184 {
pub data: [u8, ..24u],
}
impl Union_Unnamed184 {
pub fn dwReserved(&mut self) -> *mut [DWORD, ..6u] {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed186 {
pub lMinimum: LONG,
pub lMaximum: LONG,
}
#[repr(C)]
pub struct Struct_Unnamed187 {
pub dwMinimum: DWORD,
pub dwMaximum: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed185 {
pub data: [u8, ..24u],
}
impl Union_Unnamed185 {
pub fn cSteps(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn cbCustomData(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn dwReserved(&mut self) -> *mut [DWORD, ..6u] {
unsafe { ::std::mem::transmute(self) }
}
}
pub type MIXERCONTROLW = Struct_tagMIXERCONTROLW;
pub type PMIXERCONTROLW = *mut Struct_tagMIXERCONTROLW;
pub type LPMIXERCONTROLW = *mut Struct_tagMIXERCONTROLW;
pub type MIXERCONTROL = MIXERCONTROLA;
pub type PMIXERCONTROL = PMIXERCONTROLA;
pub type LPMIXERCONTROL = LPMIXERCONTROLA;
#[repr(C)]
pub struct Struct_tagMIXERLINECONTROLSA {
pub cbStruct: DWORD,
pub dwLineID: DWORD,
pub cControls: DWORD,
pub cbmxctrl: DWORD,
pub pamxctrl: LPMIXERCONTROLA,
}
#[repr(C)]
pub struct Union_Unnamed188 {
pub data: [u8, ..4u],
}
impl Union_Unnamed188 {
pub fn dwControlID(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn dwControlType(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type MIXERLINECONTROLSA = Struct_tagMIXERLINECONTROLSA;
pub type PMIXERLINECONTROLSA = *mut Struct_tagMIXERLINECONTROLSA;
pub type LPMIXERLINECONTROLSA = *mut Struct_tagMIXERLINECONTROLSA;
#[repr(C)]
pub struct Struct_tagMIXERLINECONTROLSW {
pub cbStruct: DWORD,
pub dwLineID: DWORD,
pub cControls: DWORD,
pub cbmxctrl: DWORD,
pub pamxctrl: LPMIXERCONTROLW,
}
#[repr(C)]
pub struct Union_Unnamed189 {
pub data: [u8, ..4u],
}
impl Union_Unnamed189 {
pub fn dwControlID(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn dwControlType(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type MIXERLINECONTROLSW = Struct_tagMIXERLINECONTROLSW;
pub type PMIXERLINECONTROLSW = *mut Struct_tagMIXERLINECONTROLSW;
pub type LPMIXERLINECONTROLSW = *mut Struct_tagMIXERLINECONTROLSW;
pub type MIXERLINECONTROLS = MIXERLINECONTROLSA;
pub type PMIXERLINECONTROLS = PMIXERLINECONTROLSA;
pub type LPMIXERLINECONTROLS = LPMIXERLINECONTROLSA;
#[repr(C)]
pub struct Struct_tMIXERCONTROLDETAILS {
pub cbStruct: DWORD,
pub dwControlID: DWORD,
pub cChannels: DWORD,
pub cbDetails: DWORD,
pub paDetails: LPVOID,
}
#[repr(C)]
pub struct Union_Unnamed190 {
pub data: [u8, ..8u],
}
impl Union_Unnamed190 {
pub fn hwndOwner(&mut self) -> *mut HWND {
unsafe { ::std::mem::transmute(self) }
}
pub fn cMultipleItems(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type MIXERCONTROLDETAILS = Struct_tMIXERCONTROLDETAILS;
pub type PMIXERCONTROLDETAILS = *mut Struct_tMIXERCONTROLDETAILS;
pub type LPMIXERCONTROLDETAILS = *mut Struct_tMIXERCONTROLDETAILS;
#[repr(C)]
pub struct Struct_tagMIXERCONTROLDETAILS_LISTTEXTA {
pub dwParam1: DWORD,
pub dwParam2: DWORD,
pub szName: [CHAR, ..64u],
}
pub type MIXERCONTROLDETAILS_LISTTEXTA =
Struct_tagMIXERCONTROLDETAILS_LISTTEXTA;
pub type PMIXERCONTROLDETAILS_LISTTEXTA =
*mut Struct_tagMIXERCONTROLDETAILS_LISTTEXTA;
pub type LPMIXERCONTROLDETAILS_LISTTEXTA =
*mut Struct_tagMIXERCONTROLDETAILS_LISTTEXTA;
#[repr(C)]
pub struct Struct_tagMIXERCONTROLDETAILS_LISTTEXTW {
pub dwParam1: DWORD,
pub dwParam2: DWORD,
pub szName: [WCHAR, ..64u],
}
pub type MIXERCONTROLDETAILS_LISTTEXTW =
Struct_tagMIXERCONTROLDETAILS_LISTTEXTW;
pub type PMIXERCONTROLDETAILS_LISTTEXTW =
*mut Struct_tagMIXERCONTROLDETAILS_LISTTEXTW;
pub type LPMIXERCONTROLDETAILS_LISTTEXTW =
*mut Struct_tagMIXERCONTROLDETAILS_LISTTEXTW;
pub type MIXERCONTROLDETAILS_LISTTEXT = MIXERCONTROLDETAILS_LISTTEXTA;
pub type PMIXERCONTROLDETAILS_LISTTEXT = PMIXERCONTROLDETAILS_LISTTEXTA;
pub type LPMIXERCONTROLDETAILS_LISTTEXT = LPMIXERCONTROLDETAILS_LISTTEXTA;
#[repr(C)]
pub struct Struct_tMIXERCONTROLDETAILS_BOOLEAN {
pub fValue: LONG,
}
pub type MIXERCONTROLDETAILS_BOOLEAN = Struct_tMIXERCONTROLDETAILS_BOOLEAN;
pub type PMIXERCONTROLDETAILS_BOOLEAN =
*mut Struct_tMIXERCONTROLDETAILS_BOOLEAN;
pub type LPMIXERCONTROLDETAILS_BOOLEAN =
*mut Struct_tMIXERCONTROLDETAILS_BOOLEAN;
#[repr(C)]
pub struct Struct_tMIXERCONTROLDETAILS_SIGNED {
pub lValue: LONG,
}
pub type MIXERCONTROLDETAILS_SIGNED = Struct_tMIXERCONTROLDETAILS_SIGNED;
pub type PMIXERCONTROLDETAILS_SIGNED =
*mut Struct_tMIXERCONTROLDETAILS_SIGNED;
pub type LPMIXERCONTROLDETAILS_SIGNED =
*mut Struct_tMIXERCONTROLDETAILS_SIGNED;
#[repr(C)]
pub struct Struct_tMIXERCONTROLDETAILS_UNSIGNED {
pub dwValue: DWORD,
}
pub type MIXERCONTROLDETAILS_UNSIGNED = Struct_tMIXERCONTROLDETAILS_UNSIGNED;
pub type PMIXERCONTROLDETAILS_UNSIGNED =
*mut Struct_tMIXERCONTROLDETAILS_UNSIGNED;
pub type LPMIXERCONTROLDETAILS_UNSIGNED =
*mut Struct_tMIXERCONTROLDETAILS_UNSIGNED;
pub type TIMECALLBACK = ::libc::c_void;
pub type LPTIMECALLBACK = *mut TIMECALLBACK;
#[repr(C)]
pub struct Struct_timecaps_tag {
pub wPeriodMin: UINT,
pub wPeriodMax: UINT,
}
pub type TIMECAPS = Struct_timecaps_tag;
pub type PTIMECAPS = *mut Struct_timecaps_tag;
pub type NPTIMECAPS = *mut Struct_timecaps_tag;
pub type LPTIMECAPS = *mut Struct_timecaps_tag;
#[repr(C)]
pub struct Struct_tagJOYCAPSA {
pub wMid: WORD,
pub wPid: WORD,
pub szPname: [CHAR, ..32u],
pub wXmin: UINT,
pub wXmax: UINT,
pub wYmin: UINT,
pub wYmax: UINT,
pub wZmin: UINT,
pub wZmax: UINT,
pub wNumButtons: UINT,
pub wPeriodMin: UINT,
pub wPeriodMax: UINT,
pub wRmin: UINT,
pub wRmax: UINT,
pub wUmin: UINT,
pub wUmax: UINT,
pub wVmin: UINT,
pub wVmax: UINT,
pub wCaps: UINT,
pub wMaxAxes: UINT,
pub wNumAxes: UINT,
pub wMaxButtons: UINT,
pub szRegKey: [CHAR, ..32u],
pub szOEMVxD: [CHAR, ..260u],
}
pub type JOYCAPSA = Struct_tagJOYCAPSA;
pub type PJOYCAPSA = *mut Struct_tagJOYCAPSA;
pub type NPJOYCAPSA = *mut Struct_tagJOYCAPSA;
pub type LPJOYCAPSA = *mut Struct_tagJOYCAPSA;
#[repr(C)]
pub struct Struct_tagJOYCAPSW {
pub wMid: WORD,
pub wPid: WORD,
pub szPname: [WCHAR, ..32u],
pub wXmin: UINT,
pub wXmax: UINT,
pub wYmin: UINT,
pub wYmax: UINT,
pub wZmin: UINT,
pub wZmax: UINT,
pub wNumButtons: UINT,
pub wPeriodMin: UINT,
pub wPeriodMax: UINT,
pub wRmin: UINT,
pub wRmax: UINT,
pub wUmin: UINT,
pub wUmax: UINT,
pub wVmin: UINT,
pub wVmax: UINT,
pub wCaps: UINT,
pub wMaxAxes: UINT,
pub wNumAxes: UINT,
pub wMaxButtons: UINT,
pub szRegKey: [WCHAR, ..32u],
pub szOEMVxD: [WCHAR, ..260u],
}
pub type JOYCAPSW = Struct_tagJOYCAPSW;
pub type PJOYCAPSW = *mut Struct_tagJOYCAPSW;
pub type NPJOYCAPSW = *mut Struct_tagJOYCAPSW;
pub type LPJOYCAPSW = *mut Struct_tagJOYCAPSW;
pub type JOYCAPS = JOYCAPSA;
pub type PJOYCAPS = PJOYCAPSA;
pub type NPJOYCAPS = NPJOYCAPSA;
pub type LPJOYCAPS = LPJOYCAPSA;
#[repr(C)]
pub struct Struct_tagJOYCAPS2A {
pub wMid: WORD,
pub wPid: WORD,
pub szPname: [CHAR, ..32u],
pub wXmin: UINT,
pub wXmax: UINT,
pub wYmin: UINT,
pub wYmax: UINT,
pub wZmin: UINT,
pub wZmax: UINT,
pub wNumButtons: UINT,
pub wPeriodMin: UINT,
pub wPeriodMax: UINT,
pub wRmin: UINT,
pub wRmax: UINT,
pub wUmin: UINT,
pub wUmax: UINT,
pub wVmin: UINT,
pub wVmax: UINT,
pub wCaps: UINT,
pub wMaxAxes: UINT,
pub wNumAxes: UINT,
pub wMaxButtons: UINT,
pub szRegKey: [CHAR, ..32u],
pub szOEMVxD: [CHAR, ..260u],
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type JOYCAPS2A = Struct_tagJOYCAPS2A;
pub type PJOYCAPS2A = *mut Struct_tagJOYCAPS2A;
pub type NPJOYCAPS2A = *mut Struct_tagJOYCAPS2A;
pub type LPJOYCAPS2A = *mut Struct_tagJOYCAPS2A;
#[repr(C)]
pub struct Struct_tagJOYCAPS2W {
pub wMid: WORD,
pub wPid: WORD,
pub szPname: [WCHAR, ..32u],
pub wXmin: UINT,
pub wXmax: UINT,
pub wYmin: UINT,
pub wYmax: UINT,
pub wZmin: UINT,
pub wZmax: UINT,
pub wNumButtons: UINT,
pub wPeriodMin: UINT,
pub wPeriodMax: UINT,
pub wRmin: UINT,
pub wRmax: UINT,
pub wUmin: UINT,
pub wUmax: UINT,
pub wVmin: UINT,
pub wVmax: UINT,
pub wCaps: UINT,
pub wMaxAxes: UINT,
pub wNumAxes: UINT,
pub wMaxButtons: UINT,
pub szRegKey: [WCHAR, ..32u],
pub szOEMVxD: [WCHAR, ..260u],
pub ManufacturerGuid: GUID,
pub ProductGuid: GUID,
pub NameGuid: GUID,
}
pub type JOYCAPS2W = Struct_tagJOYCAPS2W;
pub type PJOYCAPS2W = *mut Struct_tagJOYCAPS2W;
pub type NPJOYCAPS2W = *mut Struct_tagJOYCAPS2W;
pub type LPJOYCAPS2W = *mut Struct_tagJOYCAPS2W;
pub type JOYCAPS2 = JOYCAPS2A;
pub type PJOYCAPS2 = PJOYCAPS2A;
pub type NPJOYCAPS2 = NPJOYCAPS2A;
pub type LPJOYCAPS2 = LPJOYCAPS2A;
#[repr(C)]
pub struct Struct_joyinfo_tag {
pub wXpos: UINT,
pub wYpos: UINT,
pub wZpos: UINT,
pub wButtons: UINT,
}
pub type JOYINFO = Struct_joyinfo_tag;
pub type PJOYINFO = *mut Struct_joyinfo_tag;
pub type NPJOYINFO = *mut Struct_joyinfo_tag;
pub type LPJOYINFO = *mut Struct_joyinfo_tag;
#[repr(C)]
pub struct Struct_joyinfoex_tag {
pub dwSize: DWORD,
pub dwFlags: DWORD,
pub dwXpos: DWORD,
pub dwYpos: DWORD,
pub dwZpos: DWORD,
pub dwRpos: DWORD,
pub dwUpos: DWORD,
pub dwVpos: DWORD,
pub dwButtons: DWORD,
pub dwButtonNumber: DWORD,
pub dwPOV: DWORD,
pub dwReserved1: DWORD,
pub dwReserved2: DWORD,
}
pub type JOYINFOEX = Struct_joyinfoex_tag;
pub type PJOYINFOEX = *mut Struct_joyinfoex_tag;
pub type NPJOYINFOEX = *mut Struct_joyinfoex_tag;
pub type LPJOYINFOEX = *mut Struct_joyinfoex_tag;
pub type FOURCC = DWORD;
pub type HPSTR = *mut ::libc::c_char;
#[repr(C)]
pub struct Struct_HMMIO__ {
pub unused: ::libc::c_int,
}
pub type HMMIO = *mut Struct_HMMIO__;
pub type MMIOPROC = ::libc::c_void;
pub type LPMMIOPROC = *mut MMIOPROC;
#[repr(C)]
pub struct Struct__MMIOINFO {
pub dwFlags: DWORD,
pub fccIOProc: FOURCC,
pub pIOProc: LPMMIOPROC,
pub wErrorRet: UINT,
pub htask: HTASK,
pub cchBuffer: LONG,
pub pchBuffer: HPSTR,
pub pchNext: HPSTR,
pub pchEndRead: HPSTR,
pub pchEndWrite: HPSTR,
pub lBufOffset: LONG,
pub lDiskOffset: LONG,
pub adwInfo: [DWORD, ..3u],
pub dwReserved1: DWORD,
pub dwReserved2: DWORD,
pub hmmio: HMMIO,
}
pub type MMIOINFO = Struct__MMIOINFO;
pub type PMMIOINFO = *mut Struct__MMIOINFO;
pub type NPMMIOINFO = *mut Struct__MMIOINFO;
pub type LPMMIOINFO = *mut Struct__MMIOINFO;
pub type LPCMMIOINFO = *const MMIOINFO;
#[repr(C)]
pub struct Struct__MMCKINFO {
pub ckid: FOURCC,
pub cksize: DWORD,
pub fccType: FOURCC,
pub dwDataOffset: DWORD,
pub dwFlags: DWORD,
}
pub type MMCKINFO = Struct__MMCKINFO;
pub type PMMCKINFO = *mut Struct__MMCKINFO;
pub type NPMMCKINFO = *mut Struct__MMCKINFO;
pub type LPMMCKINFO = *mut Struct__MMCKINFO;
pub type LPCMMCKINFO = *const MMCKINFO;
pub type MCIERROR = DWORD;
pub type MCIDEVICEID = UINT;
pub type YIELDPROC =
::std::option::Option<extern "C" fn(arg1: MCIDEVICEID, arg2: DWORD)
-> UINT>;
#[repr(C)]
pub struct Struct_tagMCI_GENERIC_PARMS {
pub dwCallback: DWORD_PTR,
}
pub type MCI_GENERIC_PARMS = Struct_tagMCI_GENERIC_PARMS;
pub type PMCI_GENERIC_PARMS = *mut Struct_tagMCI_GENERIC_PARMS;
pub type LPMCI_GENERIC_PARMS = *mut Struct_tagMCI_GENERIC_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_OPEN_PARMSA {
pub dwCallback: DWORD_PTR,
pub wDeviceID: MCIDEVICEID,
pub lpstrDeviceType: LPCSTR,
pub lpstrElementName: LPCSTR,
pub lpstrAlias: LPCSTR,
}
pub type MCI_OPEN_PARMSA = Struct_tagMCI_OPEN_PARMSA;
pub type PMCI_OPEN_PARMSA = *mut Struct_tagMCI_OPEN_PARMSA;
pub type LPMCI_OPEN_PARMSA = *mut Struct_tagMCI_OPEN_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_OPEN_PARMSW {
pub dwCallback: DWORD_PTR,
pub wDeviceID: MCIDEVICEID,
pub lpstrDeviceType: LPCWSTR,
pub lpstrElementName: LPCWSTR,
pub lpstrAlias: LPCWSTR,
}
pub type MCI_OPEN_PARMSW = Struct_tagMCI_OPEN_PARMSW;
pub type PMCI_OPEN_PARMSW = *mut Struct_tagMCI_OPEN_PARMSW;
pub type LPMCI_OPEN_PARMSW = *mut Struct_tagMCI_OPEN_PARMSW;
pub type MCI_OPEN_PARMS = MCI_OPEN_PARMSA;
pub type PMCI_OPEN_PARMS = PMCI_OPEN_PARMSA;
pub type LPMCI_OPEN_PARMS = LPMCI_OPEN_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_PLAY_PARMS {
pub dwCallback: DWORD_PTR,
pub dwFrom: DWORD,
pub dwTo: DWORD,
}
pub type MCI_PLAY_PARMS = Struct_tagMCI_PLAY_PARMS;
pub type PMCI_PLAY_PARMS = *mut Struct_tagMCI_PLAY_PARMS;
pub type LPMCI_PLAY_PARMS = *mut Struct_tagMCI_PLAY_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_SEEK_PARMS {
pub dwCallback: DWORD_PTR,
pub dwTo: DWORD,
}
pub type MCI_SEEK_PARMS = Struct_tagMCI_SEEK_PARMS;
pub type PMCI_SEEK_PARMS = *mut Struct_tagMCI_SEEK_PARMS;
pub type LPMCI_SEEK_PARMS = *mut Struct_tagMCI_SEEK_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_STATUS_PARMS {
pub dwCallback: DWORD_PTR,
pub dwReturn: DWORD_PTR,
pub dwItem: DWORD,
pub dwTrack: DWORD,
}
pub type MCI_STATUS_PARMS = Struct_tagMCI_STATUS_PARMS;
pub type PMCI_STATUS_PARMS = *mut Struct_tagMCI_STATUS_PARMS;
pub type LPMCI_STATUS_PARMS = *mut Struct_tagMCI_STATUS_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_INFO_PARMSA {
pub dwCallback: DWORD_PTR,
pub lpstrReturn: LPSTR,
pub dwRetSize: DWORD,
}
pub type MCI_INFO_PARMSA = Struct_tagMCI_INFO_PARMSA;
pub type LPMCI_INFO_PARMSA = *mut Struct_tagMCI_INFO_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_INFO_PARMSW {
pub dwCallback: DWORD_PTR,
pub lpstrReturn: LPWSTR,
pub dwRetSize: DWORD,
}
pub type MCI_INFO_PARMSW = Struct_tagMCI_INFO_PARMSW;
pub type LPMCI_INFO_PARMSW = *mut Struct_tagMCI_INFO_PARMSW;
pub type MCI_INFO_PARMS = MCI_INFO_PARMSA;
pub type LPMCI_INFO_PARMS = LPMCI_INFO_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_GETDEVCAPS_PARMS {
pub dwCallback: DWORD_PTR,
pub dwReturn: DWORD,
pub dwItem: DWORD,
}
pub type MCI_GETDEVCAPS_PARMS = Struct_tagMCI_GETDEVCAPS_PARMS;
pub type PMCI_GETDEVCAPS_PARMS = *mut Struct_tagMCI_GETDEVCAPS_PARMS;
pub type LPMCI_GETDEVCAPS_PARMS = *mut Struct_tagMCI_GETDEVCAPS_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_SYSINFO_PARMSA {
pub dwCallback: DWORD_PTR,
pub lpstrReturn: LPSTR,
pub dwRetSize: DWORD,
pub dwNumber: DWORD,
pub wDeviceType: UINT,
}
pub type MCI_SYSINFO_PARMSA = Struct_tagMCI_SYSINFO_PARMSA;
pub type PMCI_SYSINFO_PARMSA = *mut Struct_tagMCI_SYSINFO_PARMSA;
pub type LPMCI_SYSINFO_PARMSA = *mut Struct_tagMCI_SYSINFO_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_SYSINFO_PARMSW {
pub dwCallback: DWORD_PTR,
pub lpstrReturn: LPWSTR,
pub dwRetSize: DWORD,
pub dwNumber: DWORD,
pub wDeviceType: UINT,
}
pub type MCI_SYSINFO_PARMSW = Struct_tagMCI_SYSINFO_PARMSW;
pub type PMCI_SYSINFO_PARMSW = *mut Struct_tagMCI_SYSINFO_PARMSW;
pub type LPMCI_SYSINFO_PARMSW = *mut Struct_tagMCI_SYSINFO_PARMSW;
pub type MCI_SYSINFO_PARMS = MCI_SYSINFO_PARMSA;
pub type PMCI_SYSINFO_PARMS = PMCI_SYSINFO_PARMSA;
pub type LPMCI_SYSINFO_PARMS = LPMCI_SYSINFO_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_SET_PARMS {
pub dwCallback: DWORD_PTR,
pub dwTimeFormat: DWORD,
pub dwAudio: DWORD,
}
pub type MCI_SET_PARMS = Struct_tagMCI_SET_PARMS;
pub type PMCI_SET_PARMS = *mut Struct_tagMCI_SET_PARMS;
pub type LPMCI_SET_PARMS = *mut Struct_tagMCI_SET_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_BREAK_PARMS {
pub dwCallback: DWORD_PTR,
pub nVirtKey: ::libc::c_int,
pub hwndBreak: HWND,
}
pub type MCI_BREAK_PARMS = Struct_tagMCI_BREAK_PARMS;
pub type PMCI_BREAK_PARMS = *mut Struct_tagMCI_BREAK_PARMS;
pub type LPMCI_BREAK_PARMS = *mut Struct_tagMCI_BREAK_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_SAVE_PARMSA {
pub dwCallback: DWORD_PTR,
pub lpfilename: LPCSTR,
}
pub type MCI_SAVE_PARMSA = Struct_tagMCI_SAVE_PARMSA;
pub type PMCI_SAVE_PARMSA = *mut Struct_tagMCI_SAVE_PARMSA;
pub type LPMCI_SAVE_PARMSA = *mut Struct_tagMCI_SAVE_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_SAVE_PARMSW {
pub dwCallback: DWORD_PTR,
pub lpfilename: LPCWSTR,
}
pub type MCI_SAVE_PARMSW = Struct_tagMCI_SAVE_PARMSW;
pub type PMCI_SAVE_PARMSW = *mut Struct_tagMCI_SAVE_PARMSW;
pub type LPMCI_SAVE_PARMSW = *mut Struct_tagMCI_SAVE_PARMSW;
pub type MCI_SAVE_PARMS = MCI_SAVE_PARMSA;
pub type PMCI_SAVE_PARMS = PMCI_SAVE_PARMSA;
pub type LPMCI_SAVE_PARMS = LPMCI_SAVE_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_LOAD_PARMSA {
pub dwCallback: DWORD_PTR,
pub lpfilename: LPCSTR,
}
pub type MCI_LOAD_PARMSA = Struct_tagMCI_LOAD_PARMSA;
pub type PMCI_LOAD_PARMSA = *mut Struct_tagMCI_LOAD_PARMSA;
pub type LPMCI_LOAD_PARMSA = *mut Struct_tagMCI_LOAD_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_LOAD_PARMSW {
pub dwCallback: DWORD_PTR,
pub lpfilename: LPCWSTR,
}
pub type MCI_LOAD_PARMSW = Struct_tagMCI_LOAD_PARMSW;
pub type PMCI_LOAD_PARMSW = *mut Struct_tagMCI_LOAD_PARMSW;
pub type LPMCI_LOAD_PARMSW = *mut Struct_tagMCI_LOAD_PARMSW;
pub type MCI_LOAD_PARMS = MCI_LOAD_PARMSA;
pub type PMCI_LOAD_PARMS = PMCI_LOAD_PARMSA;
pub type LPMCI_LOAD_PARMS = LPMCI_LOAD_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_RECORD_PARMS {
pub dwCallback: DWORD_PTR,
pub dwFrom: DWORD,
pub dwTo: DWORD,
}
pub type MCI_RECORD_PARMS = Struct_tagMCI_RECORD_PARMS;
pub type LPMCI_RECORD_PARMS = *mut Struct_tagMCI_RECORD_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_VD_PLAY_PARMS {
pub dwCallback: DWORD_PTR,
pub dwFrom: DWORD,
pub dwTo: DWORD,
pub dwSpeed: DWORD,
}
pub type MCI_VD_PLAY_PARMS = Struct_tagMCI_VD_PLAY_PARMS;
pub type PMCI_VD_PLAY_PARMS = *mut Struct_tagMCI_VD_PLAY_PARMS;
pub type LPMCI_VD_PLAY_PARMS = *mut Struct_tagMCI_VD_PLAY_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_VD_STEP_PARMS {
pub dwCallback: DWORD_PTR,
pub dwFrames: DWORD,
}
pub type MCI_VD_STEP_PARMS = Struct_tagMCI_VD_STEP_PARMS;
pub type PMCI_VD_STEP_PARMS = *mut Struct_tagMCI_VD_STEP_PARMS;
pub type LPMCI_VD_STEP_PARMS = *mut Struct_tagMCI_VD_STEP_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_VD_ESCAPE_PARMSA {
pub dwCallback: DWORD_PTR,
pub lpstrCommand: LPCSTR,
}
pub type MCI_VD_ESCAPE_PARMSA = Struct_tagMCI_VD_ESCAPE_PARMSA;
pub type PMCI_VD_ESCAPE_PARMSA = *mut Struct_tagMCI_VD_ESCAPE_PARMSA;
pub type LPMCI_VD_ESCAPE_PARMSA = *mut Struct_tagMCI_VD_ESCAPE_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_VD_ESCAPE_PARMSW {
pub dwCallback: DWORD_PTR,
pub lpstrCommand: LPCWSTR,
}
pub type MCI_VD_ESCAPE_PARMSW = Struct_tagMCI_VD_ESCAPE_PARMSW;
pub type PMCI_VD_ESCAPE_PARMSW = *mut Struct_tagMCI_VD_ESCAPE_PARMSW;
pub type LPMCI_VD_ESCAPE_PARMSW = *mut Struct_tagMCI_VD_ESCAPE_PARMSW;
pub type MCI_VD_ESCAPE_PARMS = MCI_VD_ESCAPE_PARMSA;
pub type PMCI_VD_ESCAPE_PARMS = PMCI_VD_ESCAPE_PARMSA;
pub type LPMCI_VD_ESCAPE_PARMS = LPMCI_VD_ESCAPE_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_WAVE_OPEN_PARMSA {
pub dwCallback: DWORD_PTR,
pub wDeviceID: MCIDEVICEID,
pub lpstrDeviceType: LPCSTR,
pub lpstrElementName: LPCSTR,
pub lpstrAlias: LPCSTR,
pub dwBufferSeconds: DWORD,
}
pub type MCI_WAVE_OPEN_PARMSA = Struct_tagMCI_WAVE_OPEN_PARMSA;
pub type PMCI_WAVE_OPEN_PARMSA = *mut Struct_tagMCI_WAVE_OPEN_PARMSA;
pub type LPMCI_WAVE_OPEN_PARMSA = *mut Struct_tagMCI_WAVE_OPEN_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_WAVE_OPEN_PARMSW {
pub dwCallback: DWORD_PTR,
pub wDeviceID: MCIDEVICEID,
pub lpstrDeviceType: LPCWSTR,
pub lpstrElementName: LPCWSTR,
pub lpstrAlias: LPCWSTR,
pub dwBufferSeconds: DWORD,
}
pub type MCI_WAVE_OPEN_PARMSW = Struct_tagMCI_WAVE_OPEN_PARMSW;
pub type PMCI_WAVE_OPEN_PARMSW = *mut Struct_tagMCI_WAVE_OPEN_PARMSW;
pub type LPMCI_WAVE_OPEN_PARMSW = *mut Struct_tagMCI_WAVE_OPEN_PARMSW;
pub type MCI_WAVE_OPEN_PARMS = MCI_WAVE_OPEN_PARMSA;
pub type PMCI_WAVE_OPEN_PARMS = PMCI_WAVE_OPEN_PARMSA;
pub type LPMCI_WAVE_OPEN_PARMS = LPMCI_WAVE_OPEN_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_WAVE_DELETE_PARMS {
pub dwCallback: DWORD_PTR,
pub dwFrom: DWORD,
pub dwTo: DWORD,
}
pub type MCI_WAVE_DELETE_PARMS = Struct_tagMCI_WAVE_DELETE_PARMS;
pub type PMCI_WAVE_DELETE_PARMS = *mut Struct_tagMCI_WAVE_DELETE_PARMS;
pub type LPMCI_WAVE_DELETE_PARMS = *mut Struct_tagMCI_WAVE_DELETE_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_WAVE_SET_PARMS {
pub dwCallback: DWORD_PTR,
pub dwTimeFormat: DWORD,
pub dwAudio: DWORD,
pub wInput: UINT,
pub wOutput: UINT,
pub wFormatTag: WORD,
pub wReserved2: WORD,
pub nChannels: WORD,
pub wReserved3: WORD,
pub nSamplesPerSec: DWORD,
pub nAvgBytesPerSec: DWORD,
pub nBlockAlign: WORD,
pub wReserved4: WORD,
pub wBitsPerSample: WORD,
pub wReserved5: WORD,
}
pub type MCI_WAVE_SET_PARMS = Struct_tagMCI_WAVE_SET_PARMS;
pub type PMCI_WAVE_SET_PARMS = *mut Struct_tagMCI_WAVE_SET_PARMS;
pub type LPMCI_WAVE_SET_PARMS = *mut Struct_tagMCI_WAVE_SET_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_SEQ_SET_PARMS {
pub dwCallback: DWORD_PTR,
pub dwTimeFormat: DWORD,
pub dwAudio: DWORD,
pub dwTempo: DWORD,
pub dwPort: DWORD,
pub dwSlave: DWORD,
pub dwMaster: DWORD,
pub dwOffset: DWORD,
}
pub type MCI_SEQ_SET_PARMS = Struct_tagMCI_SEQ_SET_PARMS;
pub type PMCI_SEQ_SET_PARMS = *mut Struct_tagMCI_SEQ_SET_PARMS;
pub type LPMCI_SEQ_SET_PARMS = *mut Struct_tagMCI_SEQ_SET_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_ANIM_OPEN_PARMSA {
pub dwCallback: DWORD_PTR,
pub wDeviceID: MCIDEVICEID,
pub lpstrDeviceType: LPCSTR,
pub lpstrElementName: LPCSTR,
pub lpstrAlias: LPCSTR,
pub dwStyle: DWORD,
pub hWndParent: HWND,
}
pub type MCI_ANIM_OPEN_PARMSA = Struct_tagMCI_ANIM_OPEN_PARMSA;
pub type PMCI_ANIM_OPEN_PARMSA = *mut Struct_tagMCI_ANIM_OPEN_PARMSA;
pub type LPMCI_ANIM_OPEN_PARMSA = *mut Struct_tagMCI_ANIM_OPEN_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_ANIM_OPEN_PARMSW {
pub dwCallback: DWORD_PTR,
pub wDeviceID: MCIDEVICEID,
pub lpstrDeviceType: LPCWSTR,
pub lpstrElementName: LPCWSTR,
pub lpstrAlias: LPCWSTR,
pub dwStyle: DWORD,
pub hWndParent: HWND,
}
pub type MCI_ANIM_OPEN_PARMSW = Struct_tagMCI_ANIM_OPEN_PARMSW;
pub type PMCI_ANIM_OPEN_PARMSW = *mut Struct_tagMCI_ANIM_OPEN_PARMSW;
pub type LPMCI_ANIM_OPEN_PARMSW = *mut Struct_tagMCI_ANIM_OPEN_PARMSW;
pub type MCI_ANIM_OPEN_PARMS = MCI_ANIM_OPEN_PARMSA;
pub type PMCI_ANIM_OPEN_PARMS = PMCI_ANIM_OPEN_PARMSA;
pub type LPMCI_ANIM_OPEN_PARMS = LPMCI_ANIM_OPEN_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_ANIM_PLAY_PARMS {
pub dwCallback: DWORD_PTR,
pub dwFrom: DWORD,
pub dwTo: DWORD,
pub dwSpeed: DWORD,
}
pub type MCI_ANIM_PLAY_PARMS = Struct_tagMCI_ANIM_PLAY_PARMS;
pub type PMCI_ANIM_PLAY_PARMS = *mut Struct_tagMCI_ANIM_PLAY_PARMS;
pub type LPMCI_ANIM_PLAY_PARMS = *mut Struct_tagMCI_ANIM_PLAY_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_ANIM_STEP_PARMS {
pub dwCallback: DWORD_PTR,
pub dwFrames: DWORD,
}
pub type MCI_ANIM_STEP_PARMS = Struct_tagMCI_ANIM_STEP_PARMS;
pub type PMCI_ANIM_STEP_PARMS = *mut Struct_tagMCI_ANIM_STEP_PARMS;
pub type LPMCI_ANIM_STEP_PARMS = *mut Struct_tagMCI_ANIM_STEP_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_ANIM_WINDOW_PARMSA {
pub dwCallback: DWORD_PTR,
pub hWnd: HWND,
pub nCmdShow: UINT,
pub lpstrText: LPCSTR,
}
pub type MCI_ANIM_WINDOW_PARMSA = Struct_tagMCI_ANIM_WINDOW_PARMSA;
pub type PMCI_ANIM_WINDOW_PARMSA = *mut Struct_tagMCI_ANIM_WINDOW_PARMSA;
pub type LPMCI_ANIM_WINDOW_PARMSA = *mut Struct_tagMCI_ANIM_WINDOW_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_ANIM_WINDOW_PARMSW {
pub dwCallback: DWORD_PTR,
pub hWnd: HWND,
pub nCmdShow: UINT,
pub lpstrText: LPCWSTR,
}
pub type MCI_ANIM_WINDOW_PARMSW = Struct_tagMCI_ANIM_WINDOW_PARMSW;
pub type PMCI_ANIM_WINDOW_PARMSW = *mut Struct_tagMCI_ANIM_WINDOW_PARMSW;
pub type LPMCI_ANIM_WINDOW_PARMSW = *mut Struct_tagMCI_ANIM_WINDOW_PARMSW;
pub type MCI_ANIM_WINDOW_PARMS = MCI_ANIM_WINDOW_PARMSA;
pub type PMCI_ANIM_WINDOW_PARMS = PMCI_ANIM_WINDOW_PARMSA;
pub type LPMCI_ANIM_WINDOW_PARMS = LPMCI_ANIM_WINDOW_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_ANIM_RECT_PARMS {
pub dwCallback: DWORD_PTR,
pub rc: RECT,
}
pub type MCI_ANIM_RECT_PARMS = Struct_tagMCI_ANIM_RECT_PARMS;
pub type PMCI_ANIM_RECT_PARMS = *mut MCI_ANIM_RECT_PARMS;
pub type LPMCI_ANIM_RECT_PARMS = *mut MCI_ANIM_RECT_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_ANIM_UPDATE_PARMS {
pub dwCallback: DWORD_PTR,
pub rc: RECT,
pub hDC: HDC,
}
pub type MCI_ANIM_UPDATE_PARMS = Struct_tagMCI_ANIM_UPDATE_PARMS;
pub type PMCI_ANIM_UPDATE_PARMS = *mut Struct_tagMCI_ANIM_UPDATE_PARMS;
pub type LPMCI_ANIM_UPDATE_PARMS = *mut Struct_tagMCI_ANIM_UPDATE_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_OVLY_OPEN_PARMSA {
pub dwCallback: DWORD_PTR,
pub wDeviceID: MCIDEVICEID,
pub lpstrDeviceType: LPCSTR,
pub lpstrElementName: LPCSTR,
pub lpstrAlias: LPCSTR,
pub dwStyle: DWORD,
pub hWndParent: HWND,
}
pub type MCI_OVLY_OPEN_PARMSA = Struct_tagMCI_OVLY_OPEN_PARMSA;
pub type PMCI_OVLY_OPEN_PARMSA = *mut Struct_tagMCI_OVLY_OPEN_PARMSA;
pub type LPMCI_OVLY_OPEN_PARMSA = *mut Struct_tagMCI_OVLY_OPEN_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_OVLY_OPEN_PARMSW {
pub dwCallback: DWORD_PTR,
pub wDeviceID: MCIDEVICEID,
pub lpstrDeviceType: LPCWSTR,
pub lpstrElementName: LPCWSTR,
pub lpstrAlias: LPCWSTR,
pub dwStyle: DWORD,
pub hWndParent: HWND,
}
pub type MCI_OVLY_OPEN_PARMSW = Struct_tagMCI_OVLY_OPEN_PARMSW;
pub type PMCI_OVLY_OPEN_PARMSW = *mut Struct_tagMCI_OVLY_OPEN_PARMSW;
pub type LPMCI_OVLY_OPEN_PARMSW = *mut Struct_tagMCI_OVLY_OPEN_PARMSW;
pub type MCI_OVLY_OPEN_PARMS = MCI_OVLY_OPEN_PARMSA;
pub type PMCI_OVLY_OPEN_PARMS = PMCI_OVLY_OPEN_PARMSA;
pub type LPMCI_OVLY_OPEN_PARMS = LPMCI_OVLY_OPEN_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_OVLY_WINDOW_PARMSA {
pub dwCallback: DWORD_PTR,
pub hWnd: HWND,
pub nCmdShow: UINT,
pub lpstrText: LPCSTR,
}
pub type MCI_OVLY_WINDOW_PARMSA = Struct_tagMCI_OVLY_WINDOW_PARMSA;
pub type PMCI_OVLY_WINDOW_PARMSA = *mut Struct_tagMCI_OVLY_WINDOW_PARMSA;
pub type LPMCI_OVLY_WINDOW_PARMSA = *mut Struct_tagMCI_OVLY_WINDOW_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_OVLY_WINDOW_PARMSW {
pub dwCallback: DWORD_PTR,
pub hWnd: HWND,
pub nCmdShow: UINT,
pub lpstrText: LPCWSTR,
}
pub type MCI_OVLY_WINDOW_PARMSW = Struct_tagMCI_OVLY_WINDOW_PARMSW;
pub type PMCI_OVLY_WINDOW_PARMSW = *mut Struct_tagMCI_OVLY_WINDOW_PARMSW;
pub type LPMCI_OVLY_WINDOW_PARMSW = *mut Struct_tagMCI_OVLY_WINDOW_PARMSW;
pub type MCI_OVLY_WINDOW_PARMS = MCI_OVLY_WINDOW_PARMSA;
pub type PMCI_OVLY_WINDOW_PARMS = PMCI_OVLY_WINDOW_PARMSA;
pub type LPMCI_OVLY_WINDOW_PARMS = LPMCI_OVLY_WINDOW_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_OVLY_RECT_PARMS {
pub dwCallback: DWORD_PTR,
pub rc: RECT,
}
pub type MCI_OVLY_RECT_PARMS = Struct_tagMCI_OVLY_RECT_PARMS;
pub type PMCI_OVLY_RECT_PARMS = *mut Struct_tagMCI_OVLY_RECT_PARMS;
pub type LPMCI_OVLY_RECT_PARMS = *mut Struct_tagMCI_OVLY_RECT_PARMS;
#[repr(C)]
pub struct Struct_tagMCI_OVLY_SAVE_PARMSA {
pub dwCallback: DWORD_PTR,
pub lpfilename: LPCSTR,
pub rc: RECT,
}
pub type MCI_OVLY_SAVE_PARMSA = Struct_tagMCI_OVLY_SAVE_PARMSA;
pub type PMCI_OVLY_SAVE_PARMSA = *mut Struct_tagMCI_OVLY_SAVE_PARMSA;
pub type LPMCI_OVLY_SAVE_PARMSA = *mut Struct_tagMCI_OVLY_SAVE_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_OVLY_SAVE_PARMSW {
pub dwCallback: DWORD_PTR,
pub lpfilename: LPCWSTR,
pub rc: RECT,
}
pub type MCI_OVLY_SAVE_PARMSW = Struct_tagMCI_OVLY_SAVE_PARMSW;
pub type PMCI_OVLY_SAVE_PARMSW = *mut Struct_tagMCI_OVLY_SAVE_PARMSW;
pub type LPMCI_OVLY_SAVE_PARMSW = *mut Struct_tagMCI_OVLY_SAVE_PARMSW;
pub type MCI_OVLY_SAVE_PARMS = MCI_OVLY_SAVE_PARMSA;
pub type PMCI_OVLY_SAVE_PARMS = PMCI_OVLY_SAVE_PARMSA;
pub type LPMCI_OVLY_SAVE_PARMS = LPMCI_OVLY_SAVE_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_OVLY_LOAD_PARMSA {
pub dwCallback: DWORD_PTR,
pub lpfilename: LPCSTR,
pub rc: RECT,
}
pub type MCI_OVLY_LOAD_PARMSA = Struct_tagMCI_OVLY_LOAD_PARMSA;
pub type PMCI_OVLY_LOAD_PARMSA = *mut Struct_tagMCI_OVLY_LOAD_PARMSA;
pub type LPMCI_OVLY_LOAD_PARMSA = *mut Struct_tagMCI_OVLY_LOAD_PARMSA;
#[repr(C)]
pub struct Struct_tagMCI_OVLY_LOAD_PARMSW {
pub dwCallback: DWORD_PTR,
pub lpfilename: LPCWSTR,
pub rc: RECT,
}
pub type MCI_OVLY_LOAD_PARMSW = Struct_tagMCI_OVLY_LOAD_PARMSW;
pub type PMCI_OVLY_LOAD_PARMSW = *mut Struct_tagMCI_OVLY_LOAD_PARMSW;
pub type LPMCI_OVLY_LOAD_PARMSW = *mut Struct_tagMCI_OVLY_LOAD_PARMSW;
pub type MCI_OVLY_LOAD_PARMS = MCI_OVLY_LOAD_PARMSA;
pub type PMCI_OVLY_LOAD_PARMS = PMCI_OVLY_LOAD_PARMSA;
pub type LPMCI_OVLY_LOAD_PARMS = LPMCI_OVLY_LOAD_PARMSA;
#[repr(C)]
pub struct Struct__NCB {
pub ncb_command: UCHAR,
pub ncb_retcode: UCHAR,
pub ncb_lsn: UCHAR,
pub ncb_num: UCHAR,
pub ncb_buffer: PUCHAR,
pub ncb_length: WORD,
pub ncb_callname: [UCHAR, ..16u],
pub ncb_name: [UCHAR, ..16u],
pub ncb_rto: UCHAR,
pub ncb_sto: UCHAR,
pub ncb_post: ::std::option::Option<extern "C" fn
(arg1: *mut Struct__NCB)>,
pub ncb_lana_num: UCHAR,
pub ncb_cmd_cplt: UCHAR,
pub ncb_reserve: [UCHAR, ..18u],
pub ncb_event: HANDLE,
}
pub type NCB = Struct__NCB;
pub type PNCB = *mut Struct__NCB;
#[repr(C)]
pub struct Struct__ADAPTER_STATUS {
pub adapter_address: [UCHAR, ..6u],
pub rev_major: UCHAR,
pub reserved0: UCHAR,
pub adapter_type: UCHAR,
pub rev_minor: UCHAR,
pub duration: WORD,
pub frmr_recv: WORD,
pub frmr_xmit: WORD,
pub iframe_recv_err: WORD,
pub xmit_aborts: WORD,
pub xmit_success: DWORD,
pub recv_success: DWORD,
pub iframe_xmit_err: WORD,
pub recv_buff_unavail: WORD,
pub t1_timeouts: WORD,
pub ti_timeouts: WORD,
pub reserved1: DWORD,
pub free_ncbs: WORD,
pub max_cfg_ncbs: WORD,
pub max_ncbs: WORD,
pub xmit_buf_unavail: WORD,
pub max_dgram_size: WORD,
pub pending_sess: WORD,
pub max_cfg_sess: WORD,
pub max_sess: WORD,
pub max_sess_pkt_size: WORD,
pub name_count: WORD,
}
pub type ADAPTER_STATUS = Struct__ADAPTER_STATUS;
pub type PADAPTER_STATUS = *mut Struct__ADAPTER_STATUS;
#[repr(C)]
pub struct Struct__NAME_BUFFER {
pub name: [UCHAR, ..16u],
pub name_num: UCHAR,
pub name_flags: UCHAR,
}
pub type NAME_BUFFER = Struct__NAME_BUFFER;
pub type PNAME_BUFFER = *mut Struct__NAME_BUFFER;
#[repr(C)]
pub struct Struct__SESSION_HEADER {
pub sess_name: UCHAR,
pub num_sess: UCHAR,
pub rcv_dg_outstanding: UCHAR,
pub rcv_any_outstanding: UCHAR,
}
pub type SESSION_HEADER = Struct__SESSION_HEADER;
pub type PSESSION_HEADER = *mut Struct__SESSION_HEADER;
#[repr(C)]
pub struct Struct__SESSION_BUFFER {
pub lsn: UCHAR,
pub state: UCHAR,
pub local_name: [UCHAR, ..16u],
pub remote_name: [UCHAR, ..16u],
pub rcvs_outstanding: UCHAR,
pub sends_outstanding: UCHAR,
}
pub type SESSION_BUFFER = Struct__SESSION_BUFFER;
pub type PSESSION_BUFFER = *mut Struct__SESSION_BUFFER;
#[repr(C)]
pub struct Struct__LANA_ENUM {
pub length: UCHAR,
pub lana: [UCHAR, ..255u],
}
pub type LANA_ENUM = Struct__LANA_ENUM;
pub type PLANA_ENUM = *mut Struct__LANA_ENUM;
#[repr(C)]
pub struct Struct__FIND_NAME_HEADER {
pub node_count: WORD,
pub reserved: UCHAR,
pub unique_group: UCHAR,
}
pub type FIND_NAME_HEADER = Struct__FIND_NAME_HEADER;
pub type PFIND_NAME_HEADER = *mut Struct__FIND_NAME_HEADER;
#[repr(C)]
pub struct Struct__FIND_NAME_BUFFER {
pub length: UCHAR,
pub access_control: UCHAR,
pub frame_control: UCHAR,
pub destination_addr: [UCHAR, ..6u],
pub source_addr: [UCHAR, ..6u],
pub routing_info: [UCHAR, ..18u],
}
pub type FIND_NAME_BUFFER = Struct__FIND_NAME_BUFFER;
pub type PFIND_NAME_BUFFER = *mut Struct__FIND_NAME_BUFFER;
#[repr(C)]
pub struct Struct__ACTION_HEADER {
pub transport_id: ULONG,
pub action_code: USHORT,
pub reserved: USHORT,
}
pub type ACTION_HEADER = Struct__ACTION_HEADER;
pub type PACTION_HEADER = *mut Struct__ACTION_HEADER;
pub type I_RPC_HANDLE = *mut ::libc::c_void;
pub type RPC_STATUS = ::libc::c_long;
pub type RPC_CSTR = *mut ::libc::c_uchar;
pub type RPC_WSTR = *mut ::libc::c_ushort;
pub type RPC_BINDING_HANDLE = I_RPC_HANDLE;
pub type handle_t = RPC_BINDING_HANDLE;
pub type UUID = GUID;
#[repr(C)]
pub struct Struct__RPC_BINDING_VECTOR {
pub Count: ::libc::c_ulong,
pub BindingH: [RPC_BINDING_HANDLE, ..1u],
}
pub type RPC_BINDING_VECTOR = Struct__RPC_BINDING_VECTOR;
#[repr(C)]
pub struct Struct__UUID_VECTOR {
pub Count: ::libc::c_ulong,
pub Uuid: [*mut UUID, ..1u],
}
pub type UUID_VECTOR = Struct__UUID_VECTOR;
pub type RPC_IF_HANDLE = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__RPC_IF_ID {
pub Uuid: UUID,
pub VersMajor: ::libc::c_ushort,
pub VersMinor: ::libc::c_ushort,
}
pub type RPC_IF_ID = Struct__RPC_IF_ID;
#[repr(C)]
pub struct Struct__RPC_PROTSEQ_VECTORA {
pub Count: ::libc::c_uint,
pub Protseq: [*mut ::libc::c_uchar, ..1u],
}
pub type RPC_PROTSEQ_VECTORA = Struct__RPC_PROTSEQ_VECTORA;
#[repr(C)]
pub struct Struct__RPC_PROTSEQ_VECTORW {
pub Count: ::libc::c_uint,
pub Protseq: [*mut ::libc::c_ushort, ..1u],
}
pub type RPC_PROTSEQ_VECTORW = Struct__RPC_PROTSEQ_VECTORW;
#[repr(C)]
pub struct Struct__RPC_POLICY {
pub Length: ::libc::c_uint,
pub EndpointFlags: ::libc::c_ulong,
pub NICFlags: ::libc::c_ulong,
}
pub type RPC_POLICY = Struct__RPC_POLICY;
pub type PRPC_POLICY = *mut Struct__RPC_POLICY;
pub type RPC_OBJECT_INQ_FN = ::libc::c_void;
pub type RPC_IF_CALLBACK_FN = ::libc::c_void;
pub type RPC_SECURITY_CALLBACK_FN = ::libc::c_void;
#[repr(C)]
pub struct Struct_Unnamed191 {
pub Count: ::libc::c_uint,
pub Stats: [::libc::c_ulong, ..1u],
}
pub type RPC_STATS_VECTOR = Struct_Unnamed191;
#[repr(C)]
pub struct Struct_Unnamed192 {
pub Count: ::libc::c_ulong,
pub IfId: [*mut RPC_IF_ID, ..1u],
}
pub type RPC_IF_ID_VECTOR = Struct_Unnamed192;
pub type RPC_AUTH_IDENTITY_HANDLE = *mut ::libc::c_void;
pub type RPC_AUTHZ_HANDLE = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__RPC_SECURITY_QOS {
pub Version: ::libc::c_ulong,
pub Capabilities: ::libc::c_ulong,
pub IdentityTracking: ::libc::c_ulong,
pub ImpersonationType: ::libc::c_ulong,
}
pub type RPC_SECURITY_QOS = Struct__RPC_SECURITY_QOS;
pub type PRPC_SECURITY_QOS = *mut Struct__RPC_SECURITY_QOS;
#[repr(C)]
pub struct Struct__SEC_WINNT_AUTH_IDENTITY_W {
pub User: *mut ::libc::c_ushort,
pub UserLength: ::libc::c_ulong,
pub Domain: *mut ::libc::c_ushort,
pub DomainLength: ::libc::c_ulong,
pub Password: *mut ::libc::c_ushort,
pub PasswordLength: ::libc::c_ulong,
pub Flags: ::libc::c_ulong,
}
pub type SEC_WINNT_AUTH_IDENTITY_W = Struct__SEC_WINNT_AUTH_IDENTITY_W;
pub type PSEC_WINNT_AUTH_IDENTITY_W = *mut Struct__SEC_WINNT_AUTH_IDENTITY_W;
#[repr(C)]
pub struct Struct__SEC_WINNT_AUTH_IDENTITY_A {
pub User: *mut ::libc::c_uchar,
pub UserLength: ::libc::c_ulong,
pub Domain: *mut ::libc::c_uchar,
pub DomainLength: ::libc::c_ulong,
pub Password: *mut ::libc::c_uchar,
pub PasswordLength: ::libc::c_ulong,
pub Flags: ::libc::c_ulong,
}
pub type SEC_WINNT_AUTH_IDENTITY_A = Struct__SEC_WINNT_AUTH_IDENTITY_A;
pub type PSEC_WINNT_AUTH_IDENTITY_A = *mut Struct__SEC_WINNT_AUTH_IDENTITY_A;
#[repr(C)]
pub struct Struct__RPC_HTTP_TRANSPORT_CREDENTIALS_W {
pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W,
pub Flags: ::libc::c_ulong,
pub AuthenticationTarget: ::libc::c_ulong,
pub NumberOfAuthnSchemes: ::libc::c_ulong,
pub AuthnSchemes: *mut ::libc::c_ulong,
pub ServerCertificateSubject: *mut ::libc::c_ushort,
}
pub type RPC_HTTP_TRANSPORT_CREDENTIALS_W =
Struct__RPC_HTTP_TRANSPORT_CREDENTIALS_W;
pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_W =
*mut Struct__RPC_HTTP_TRANSPORT_CREDENTIALS_W;
#[repr(C)]
pub struct Struct__RPC_HTTP_TRANSPORT_CREDENTIALS_A {
pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A,
pub Flags: ::libc::c_ulong,
pub AuthenticationTarget: ::libc::c_ulong,
pub NumberOfAuthnSchemes: ::libc::c_ulong,
pub AuthnSchemes: *mut ::libc::c_ulong,
pub ServerCertificateSubject: *mut ::libc::c_uchar,
}
pub type RPC_HTTP_TRANSPORT_CREDENTIALS_A =
Struct__RPC_HTTP_TRANSPORT_CREDENTIALS_A;
pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_A =
*mut Struct__RPC_HTTP_TRANSPORT_CREDENTIALS_A;
#[repr(C)]
pub struct Struct__RPC_SECURITY_QOS_V2_W {
pub Version: ::libc::c_ulong,
pub Capabilities: ::libc::c_ulong,
pub IdentityTracking: ::libc::c_ulong,
pub ImpersonationType: ::libc::c_ulong,
pub AdditionalSecurityInfoType: ::libc::c_ulong,
pub u: Union_Unnamed193,
}
#[repr(C)]
pub struct Union_Unnamed193 {
pub data: [u64, ..1u],
}
impl Union_Unnamed193 {
pub fn HttpCredentials(&mut self) ->
*mut *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W {
unsafe { ::std::mem::transmute(self) }
}
}
pub type RPC_SECURITY_QOS_V2_W = Struct__RPC_SECURITY_QOS_V2_W;
pub type PRPC_SECURITY_QOS_V2_W = *mut Struct__RPC_SECURITY_QOS_V2_W;
#[repr(C)]
pub struct Struct__RPC_SECURITY_QOS_V2_A {
pub Version: ::libc::c_ulong,
pub Capabilities: ::libc::c_ulong,
pub IdentityTracking: ::libc::c_ulong,
pub ImpersonationType: ::libc::c_ulong,
pub AdditionalSecurityInfoType: ::libc::c_ulong,
pub u: Union_Unnamed194,
}
#[repr(C)]
pub struct Union_Unnamed194 {
pub data: [u64, ..1u],
}
impl Union_Unnamed194 {
pub fn HttpCredentials(&mut self) ->
*mut *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A {
unsafe { ::std::mem::transmute(self) }
}
}
pub type RPC_SECURITY_QOS_V2_A = Struct__RPC_SECURITY_QOS_V2_A;
pub type PRPC_SECURITY_QOS_V2_A = *mut Struct__RPC_SECURITY_QOS_V2_A;
#[repr(C)]
pub struct Struct__RPC_SECURITY_QOS_V3_W {
pub Version: ::libc::c_ulong,
pub Capabilities: ::libc::c_ulong,
pub IdentityTracking: ::libc::c_ulong,
pub ImpersonationType: ::libc::c_ulong,
pub AdditionalSecurityInfoType: ::libc::c_ulong,
pub u: Union_Unnamed195,
pub Sid: *mut ::libc::c_void,
}
#[repr(C)]
pub struct Union_Unnamed195 {
pub data: [u64, ..1u],
}
impl Union_Unnamed195 {
pub fn HttpCredentials(&mut self) ->
*mut *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W {
unsafe { ::std::mem::transmute(self) }
}
}
pub type RPC_SECURITY_QOS_V3_W = Struct__RPC_SECURITY_QOS_V3_W;
pub type PRPC_SECURITY_QOS_V3_W = *mut Struct__RPC_SECURITY_QOS_V3_W;
#[repr(C)]
pub struct Struct__RPC_SECURITY_QOS_V3_A {
pub Version: ::libc::c_ulong,
pub Capabilities: ::libc::c_ulong,
pub IdentityTracking: ::libc::c_ulong,
pub ImpersonationType: ::libc::c_ulong,
pub AdditionalSecurityInfoType: ::libc::c_ulong,
pub u: Union_Unnamed196,
pub Sid: *mut ::libc::c_void,
}
#[repr(C)]
pub struct Union_Unnamed196 {
pub data: [u64, ..1u],
}
impl Union_Unnamed196 {
pub fn HttpCredentials(&mut self) ->
*mut *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A {
unsafe { ::std::mem::transmute(self) }
}
}
pub type RPC_SECURITY_QOS_V3_A = Struct__RPC_SECURITY_QOS_V3_A;
pub type PRPC_SECURITY_QOS_V3_A = *mut Struct__RPC_SECURITY_QOS_V3_A;
pub type Enum__RPC_HTTP_REDIRECTOR_STAGE = ::libc::c_uint;
pub const RPCHTTP_RS_REDIRECT: ::libc::c_uint = 1;
pub const RPCHTTP_RS_ACCESS_1: ::libc::c_uint = 2;
pub const RPCHTTP_RS_SESSION: ::libc::c_uint = 3;
pub const RPCHTTP_RS_ACCESS_2: ::libc::c_uint = 4;
pub const RPCHTTP_RS_INTERFACE: ::libc::c_uint = 5;
pub type RPC_HTTP_REDIRECTOR_STAGE = Enum__RPC_HTTP_REDIRECTOR_STAGE;
pub type RPC_NEW_HTTP_PROXY_CHANNEL =
::std::option::Option<extern "C" fn
(arg1: RPC_HTTP_REDIRECTOR_STAGE,
arg2: *mut ::libc::c_ushort,
arg3: *mut ::libc::c_ushort,
arg4: *mut ::libc::c_ushort,
arg5: *mut ::libc::c_ushort,
arg6: *mut ::libc::c_void,
arg7: *mut ::libc::c_void,
arg8: *mut ::libc::c_void,
arg9: *mut ::libc::c_void,
arg10: *mut ::libc::c_void,
arg11: ::libc::c_ulong,
arg12: *mut *mut ::libc::c_ushort,
arg13: *mut *mut ::libc::c_ushort)
-> RPC_STATUS>;
pub type RPC_HTTP_PROXY_FREE_STRING =
::std::option::Option<extern "C" fn(arg1: *mut ::libc::c_ushort)>;
pub type RPC_AUTH_KEY_RETRIEVAL_FN =
::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void,
arg2: *mut ::libc::c_ushort,
arg3: ::libc::c_ulong,
arg4: *mut *mut ::libc::c_void,
arg5: *mut RPC_STATUS)>;
#[repr(C)]
pub struct Struct_Unnamed197 {
pub UserName: *mut ::libc::c_uchar,
pub ComputerName: *mut ::libc::c_uchar,
pub Privilege: ::libc::c_ushort,
pub AuthFlags: ::libc::c_ulong,
}
pub type RPC_CLIENT_INFORMATION1 = Struct_Unnamed197;
pub type PRPC_CLIENT_INFORMATION1 = *mut Struct_Unnamed197;
pub type RPC_EP_INQ_HANDLE = *mut I_RPC_HANDLE;
pub type RPC_MGMT_AUTHORIZATION_FN =
::std::option::Option<extern "C" fn
(arg1: RPC_BINDING_HANDLE,
arg2: ::libc::c_ulong, arg3: *mut RPC_STATUS)
-> ::libc::c_int>;
#[repr(C)]
pub struct Struct__RPC_VERSION {
pub MajorVersion: ::libc::c_ushort,
pub MinorVersion: ::libc::c_ushort,
}
pub type RPC_VERSION = Struct__RPC_VERSION;
#[repr(C)]
pub struct Struct__RPC_SYNTAX_IDENTIFIER {
pub SyntaxGUID: GUID,
pub SyntaxVersion: RPC_VERSION,
}
pub type RPC_SYNTAX_IDENTIFIER = Struct__RPC_SYNTAX_IDENTIFIER;
pub type PRPC_SYNTAX_IDENTIFIER = *mut Struct__RPC_SYNTAX_IDENTIFIER;
#[repr(C)]
pub struct Struct__RPC_MESSAGE {
pub Handle: RPC_BINDING_HANDLE,
pub DataRepresentation: ::libc::c_ulong,
pub Buffer: *mut ::libc::c_void,
pub BufferLength: ::libc::c_uint,
pub ProcNum: ::libc::c_uint,
pub TransferSyntax: PRPC_SYNTAX_IDENTIFIER,
pub RpcInterfaceInformation: *mut ::libc::c_void,
pub ReservedForRuntime: *mut ::libc::c_void,
pub ManagerEpv: *mut ::libc::c_void,
pub ImportContext: *mut ::libc::c_void,
pub RpcFlags: ::libc::c_ulong,
}
pub type RPC_MESSAGE = Struct__RPC_MESSAGE;
pub type PRPC_MESSAGE = *mut Struct__RPC_MESSAGE;
pub type RPC_FORWARD_FUNCTION = ::libc::c_void;
pub type Enum_RPC_ADDRESS_CHANGE_TYPE = ::libc::c_uint;
pub const PROTOCOL_NOT_LOADED: ::libc::c_uint = 1;
pub const PROTOCOL_LOADED: ::libc::c_uint = 2;
pub const PROTOCOL_ADDRESS_CHANGE: ::libc::c_uint = 3;
pub type RPC_ADDRESS_CHANGE_FN = ::libc::c_void;
pub type RPC_DISPATCH_FUNCTION =
::std::option::Option<extern "C" fn(arg1: PRPC_MESSAGE)>;
#[repr(C)]
pub struct Struct_Unnamed198 {
pub DispatchTableCount: ::libc::c_uint,
pub DispatchTable: *mut RPC_DISPATCH_FUNCTION,
pub Reserved: LONG_PTR,
}
pub type RPC_DISPATCH_TABLE = Struct_Unnamed198;
pub type PRPC_DISPATCH_TABLE = *mut Struct_Unnamed198;
#[repr(C)]
pub struct Struct__RPC_PROTSEQ_ENDPOINT {
pub RpcProtocolSequence: *mut ::libc::c_uchar,
pub Endpoint: *mut ::libc::c_uchar,
}
pub type RPC_PROTSEQ_ENDPOINT = Struct__RPC_PROTSEQ_ENDPOINT;
pub type PRPC_PROTSEQ_ENDPOINT = *mut Struct__RPC_PROTSEQ_ENDPOINT;
#[repr(C)]
pub struct Struct__RPC_SERVER_INTERFACE {
pub Length: ::libc::c_uint,
pub InterfaceId: RPC_SYNTAX_IDENTIFIER,
pub TransferSyntax: RPC_SYNTAX_IDENTIFIER,
pub DispatchTable: PRPC_DISPATCH_TABLE,
pub RpcProtseqEndpointCount: ::libc::c_uint,
pub RpcProtseqEndpoint: PRPC_PROTSEQ_ENDPOINT,
pub DefaultManagerEpv: *mut ::libc::c_void,
pub InterpreterInfo: *const ::libc::c_void,
pub Flags: ::libc::c_uint,
}
pub type RPC_SERVER_INTERFACE = Struct__RPC_SERVER_INTERFACE;
pub type PRPC_SERVER_INTERFACE = *mut Struct__RPC_SERVER_INTERFACE;
#[repr(C)]
pub struct Struct__RPC_CLIENT_INTERFACE {
pub Length: ::libc::c_uint,
pub InterfaceId: RPC_SYNTAX_IDENTIFIER,
pub TransferSyntax: RPC_SYNTAX_IDENTIFIER,
pub DispatchTable: PRPC_DISPATCH_TABLE,
pub RpcProtseqEndpointCount: ::libc::c_uint,
pub RpcProtseqEndpoint: PRPC_PROTSEQ_ENDPOINT,
pub Reserved: ULONG_PTR,
pub InterpreterInfo: *const ::libc::c_void,
pub Flags: ::libc::c_uint,
}
pub type RPC_CLIENT_INTERFACE = Struct__RPC_CLIENT_INTERFACE;
pub type PRPC_CLIENT_INTERFACE = *mut Struct__RPC_CLIENT_INTERFACE;
pub type I_RPC_MUTEX = *mut ::libc::c_void;
pub type PRPC_RUNDOWN =
::std::option::Option<extern "C" fn(arg1: *mut ::libc::c_void)>;
#[repr(C)]
pub struct Struct__RPC_TRANSFER_SYNTAX {
pub Uuid: UUID,
pub VersMajor: ::libc::c_ushort,
pub VersMinor: ::libc::c_ushort,
}
pub type RPC_TRANSFER_SYNTAX = Struct__RPC_TRANSFER_SYNTAX;
pub type RPCLT_PDU_FILTER_FUNC =
::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void,
arg2: ::libc::c_uint, arg3: ::libc::c_int)>;
pub type RPC_SETFILTER_FUNC =
::std::option::Option<extern "C" fn(arg1: RPCLT_PDU_FILTER_FUNC)>;
pub type RPC_BLOCKING_FN =
::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void,
arg2: *mut ::libc::c_void,
arg3: *mut ::libc::c_void) -> RPC_STATUS>;
#[repr(C)]
pub struct Struct__RPC_C_OPT_METADATA_DESCRIPTOR {
pub BufferSize: ::libc::c_ulong,
pub Buffer: *mut ::libc::c_char,
}
pub type RPC_C_OPT_METADATA_DESCRIPTOR =
Struct__RPC_C_OPT_METADATA_DESCRIPTOR;
#[repr(C)]
pub struct Struct__RDR_CALLOUT_STATE {
pub LastError: RPC_STATUS,
pub LastEEInfo: *mut ::libc::c_void,
pub LastCalledStage: RPC_HTTP_REDIRECTOR_STAGE,
pub ServerName: *mut ::libc::c_ushort,
pub ServerPort: *mut ::libc::c_ushort,
pub RemoteUser: *mut ::libc::c_ushort,
pub AuthType: *mut ::libc::c_ushort,
pub ResourceTypePresent: ::libc::c_uchar,
pub MetadataPresent: ::libc::c_uchar,
pub SessionIdPresent: ::libc::c_uchar,
pub InterfacePresent: ::libc::c_uchar,
pub ResourceType: UUID,
pub Metadata: RPC_C_OPT_METADATA_DESCRIPTOR,
pub SessionId: UUID,
pub Interface: RPC_SYNTAX_IDENTIFIER,
pub CertContext: *mut ::libc::c_void,
}
pub type RDR_CALLOUT_STATE = Struct__RDR_CALLOUT_STATE;
pub type I_RpcProxyIsValidMachineFn =
::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_char,
arg2: *mut ::libc::c_char,
arg3: ::libc::c_ulong) -> RPC_STATUS>;
pub type I_RpcProxyGetClientAddressFn =
::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void,
arg2: *mut ::libc::c_char,
arg3: *mut ::libc::c_ulong) -> RPC_STATUS>;
pub type I_RpcProxyGetConnectionTimeoutFn =
::std::option::Option<extern "C" fn(arg1: *mut ::libc::c_ulong)
-> RPC_STATUS>;
pub type I_RpcPerformCalloutFn =
::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void,
arg2: *mut RDR_CALLOUT_STATE,
arg3: RPC_HTTP_REDIRECTOR_STAGE)
-> RPC_STATUS>;
pub type I_RpcFreeCalloutStateFn =
::std::option::Option<extern "C" fn(arg1: *mut RDR_CALLOUT_STATE)>;
#[repr(C)]
pub struct Struct_tagI_RpcProxyCallbackInterface {
pub IsValidMachineFn: I_RpcProxyIsValidMachineFn,
pub GetClientAddressFn: I_RpcProxyGetClientAddressFn,
pub GetConnectionTimeoutFn: I_RpcProxyGetConnectionTimeoutFn,
pub PerformCalloutFn: I_RpcPerformCalloutFn,
pub FreeCalloutStateFn: I_RpcFreeCalloutStateFn,
}
pub type I_RpcProxyCallbackInterface = Struct_tagI_RpcProxyCallbackInterface;
pub type RPC_NS_HANDLE = *mut ::libc::c_void;
pub type Enum__RPC_NOTIFICATION_TYPES = ::libc::c_uint;
pub const RpcNotificationTypeNone: ::libc::c_uint = 0;
pub const RpcNotificationTypeEvent: ::libc::c_uint = 1;
pub const RpcNotificationTypeApc: ::libc::c_uint = 2;
pub const RpcNotificationTypeIoc: ::libc::c_uint = 3;
pub const RpcNotificationTypeHwnd: ::libc::c_uint = 4;
pub const RpcNotificationTypeCallback: ::libc::c_uint = 5;
pub type RPC_NOTIFICATION_TYPES = Enum__RPC_NOTIFICATION_TYPES;
pub type Enum__RPC_ASYNC_EVENT = ::libc::c_uint;
pub const RpcCallComplete: ::libc::c_uint = 0;
pub const RpcSendComplete: ::libc::c_uint = 1;
pub const RpcReceiveComplete: ::libc::c_uint = 2;
pub type RPC_ASYNC_EVENT = Enum__RPC_ASYNC_EVENT;
pub type RPCNOTIFICATION_ROUTINE = ::libc::c_void;
pub type PFN_RPCNOTIFICATION_ROUTINE =
*mut ::std::option::Option<extern "C" fn
(arg1: *mut Struct__RPC_ASYNC_STATE,
arg2: *mut ::libc::c_void,
arg3: RPC_ASYNC_EVENT)>;
#[repr(C)]
pub struct Struct__RPC_ASYNC_STATE {
pub Size: ::libc::c_uint,
pub Signature: ::libc::c_ulong,
pub Lock: ::libc::c_long,
pub Flags: ::libc::c_ulong,
pub StubInfo: *mut ::libc::c_void,
pub UserInfo: *mut ::libc::c_void,
pub RuntimeInfo: *mut ::libc::c_void,
pub Event: RPC_ASYNC_EVENT,
pub NotificationType: RPC_NOTIFICATION_TYPES,
pub u: Union_Unnamed199,
pub Reserved: [LONG_PTR, ..4u],
}
#[repr(C)]
pub struct Union_Unnamed199 {
pub data: [u64, ..4u],
}
impl Union_Unnamed199 {
pub fn APC(&mut self) -> *mut Struct_Unnamed200 {
unsafe { ::std::mem::transmute(self) }
}
pub fn IOC(&mut self) -> *mut Struct_Unnamed201 {
unsafe { ::std::mem::transmute(self) }
}
pub fn HWND(&mut self) -> *mut Struct_Unnamed202 {
unsafe { ::std::mem::transmute(self) }
}
pub fn hEvent(&mut self) -> *mut HANDLE {
unsafe { ::std::mem::transmute(self) }
}
pub fn NotificationRoutine(&mut self) ->
*mut PFN_RPCNOTIFICATION_ROUTINE {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed200 {
pub NotificationRoutine: PFN_RPCNOTIFICATION_ROUTINE,
pub hThread: HANDLE,
}
#[repr(C)]
pub struct Struct_Unnamed201 {
pub hIOPort: HANDLE,
pub dwNumberOfBytesTransferred: DWORD,
pub dwCompletionKey: DWORD_PTR,
pub lpOverlapped: LPOVERLAPPED,
}
#[repr(C)]
pub struct Struct_Unnamed202 {
pub hWnd: HWND,
pub Msg: UINT,
}
pub type RPC_ASYNC_STATE = Struct__RPC_ASYNC_STATE;
pub type PRPC_ASYNC_STATE = *mut Struct__RPC_ASYNC_STATE;
pub type Enum_tagExtendedErrorParamTypes = ::libc::c_uint;
pub const eeptAnsiString: ::libc::c_uint = 1;
pub const eeptUnicodeString: ::libc::c_uint = 2;
pub const eeptLongVal: ::libc::c_uint = 3;
pub const eeptShortVal: ::libc::c_uint = 4;
pub const eeptPointerVal: ::libc::c_uint = 5;
pub const eeptNone: ::libc::c_uint = 6;
pub const eeptBinary: ::libc::c_uint = 7;
pub type ExtendedErrorParamTypes = Enum_tagExtendedErrorParamTypes;
#[repr(C)]
pub struct Struct_tagBinaryParam {
pub Buffer: *mut ::libc::c_void,
pub Size: ::libc::c_short,
}
pub type BinaryParam = Struct_tagBinaryParam;
#[repr(C)]
pub struct Struct_tagRPC_EE_INFO_PARAM {
pub ParameterType: ExtendedErrorParamTypes,
pub u: Union_Unnamed203,
}
#[repr(C)]
pub struct Union_Unnamed203 {
pub data: [u64, ..2u],
}
impl Union_Unnamed203 {
pub fn AnsiString(&mut self) -> *mut LPSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn UnicodeString(&mut self) -> *mut LPWSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn LVal(&mut self) -> *mut ::libc::c_long {
unsafe { ::std::mem::transmute(self) }
}
pub fn SVal(&mut self) -> *mut ::libc::c_short {
unsafe { ::std::mem::transmute(self) }
}
pub fn PVal(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn BVal(&mut self) -> *mut BinaryParam {
unsafe { ::std::mem::transmute(self) }
}
}
pub type RPC_EE_INFO_PARAM = Struct_tagRPC_EE_INFO_PARAM;
#[repr(C)]
pub struct Struct_tagRPC_EXTENDED_ERROR_INFO {
pub Version: ULONG,
pub ComputerName: LPWSTR,
pub ProcessID: ULONG,
pub u: Union_Unnamed204,
pub GeneratingComponent: ULONG,
pub Status: ULONG,
pub DetectionLocation: USHORT,
pub Flags: USHORT,
pub NumberOfParameters: ::libc::c_int,
pub Parameters: [RPC_EE_INFO_PARAM, ..4u],
}
#[repr(C)]
pub struct Union_Unnamed204 {
pub data: [u32, ..4u],
}
impl Union_Unnamed204 {
pub fn SystemTime(&mut self) -> *mut SYSTEMTIME {
unsafe { ::std::mem::transmute(self) }
}
pub fn FileTime(&mut self) -> *mut FILETIME {
unsafe { ::std::mem::transmute(self) }
}
}
pub type RPC_EXTENDED_ERROR_INFO = Struct_tagRPC_EXTENDED_ERROR_INFO;
#[repr(C)]
pub struct Struct_tagRPC_ERROR_ENUM_HANDLE {
pub Signature: ULONG,
pub CurrentPos: *mut ::libc::c_void,
pub Head: *mut ::libc::c_void,
}
pub type RPC_ERROR_ENUM_HANDLE = Struct_tagRPC_ERROR_ENUM_HANDLE;
#[repr(C)]
pub struct Struct_tagRPC_CALL_ATTRIBUTES_V1_W {
pub Version: ::libc::c_uint,
pub Flags: ::libc::c_ulong,
pub ServerPrincipalNameBufferLength: ::libc::c_ulong,
pub ServerPrincipalName: *mut ::libc::c_ushort,
pub ClientPrincipalNameBufferLength: ::libc::c_ulong,
pub ClientPrincipalName: *mut ::libc::c_ushort,
pub AuthenticationLevel: ::libc::c_ulong,
pub AuthenticationService: ::libc::c_ulong,
pub NullSession: WINBOOL,
}
pub type RPC_CALL_ATTRIBUTES_V1_W = Struct_tagRPC_CALL_ATTRIBUTES_V1_W;
#[repr(C)]
pub struct Struct_tagRPC_CALL_ATTRIBUTES_V1_A {
pub Version: ::libc::c_uint,
pub Flags: ::libc::c_ulong,
pub ServerPrincipalNameBufferLength: ::libc::c_ulong,
pub ServerPrincipalName: *mut ::libc::c_uchar,
pub ClientPrincipalNameBufferLength: ::libc::c_ulong,
pub ClientPrincipalName: *mut ::libc::c_uchar,
pub AuthenticationLevel: ::libc::c_ulong,
pub AuthenticationService: ::libc::c_ulong,
pub NullSession: WINBOOL,
}
pub type RPC_CALL_ATTRIBUTES_V1_A = Struct_tagRPC_CALL_ATTRIBUTES_V1_A;
pub type RPC_CALL_ATTRIBUTES = RPC_CALL_ATTRIBUTES_V1_A;
#[repr(C)]
pub struct Union__RPC_ASYNC_NOTIFICATION_INFO {
pub data: [u64, ..4u],
}
impl Union__RPC_ASYNC_NOTIFICATION_INFO {
pub fn APC(&mut self) -> *mut Struct_Unnamed205 {
unsafe { ::std::mem::transmute(self) }
}
pub fn IOC(&mut self) -> *mut Struct_Unnamed206 {
unsafe { ::std::mem::transmute(self) }
}
pub fn HWND(&mut self) -> *mut Struct_Unnamed207 {
unsafe { ::std::mem::transmute(self) }
}
pub fn hEvent(&mut self) -> *mut HANDLE {
unsafe { ::std::mem::transmute(self) }
}
pub fn NotificationRoutine(&mut self) ->
*mut PFN_RPCNOTIFICATION_ROUTINE {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed205 {
pub NotificationRoutine: PFN_RPCNOTIFICATION_ROUTINE,
pub hThread: HANDLE,
}
#[repr(C)]
pub struct Struct_Unnamed206 {
pub hIOPort: HANDLE,
pub dwNumberOfBytesTransferred: DWORD,
pub dwCompletionKey: DWORD_PTR,
pub lpOverlapped: LPOVERLAPPED,
}
#[repr(C)]
pub struct Struct_Unnamed207 {
pub hWnd: HWND,
pub Msg: UINT,
}
pub type RPC_ASYNC_NOTIFICATION_INFO = Union__RPC_ASYNC_NOTIFICATION_INFO;
pub type PRPC_ASYNC_NOTIFICATION_INFO =
*mut Union__RPC_ASYNC_NOTIFICATION_INFO;
pub type Enum__RpcCallType = ::libc::c_uint;
pub const rctInvalid: ::libc::c_uint = 0;
pub const rctNormal: ::libc::c_uint = 1;
pub const rctTraining: ::libc::c_uint = 2;
pub const rctGuaranteed: ::libc::c_uint = 3;
pub type RpcCallType = Enum__RpcCallType;
pub type Enum__RpcLocalAddressFormat = ::libc::c_uint;
pub const rlafInvalid: ::libc::c_uint = 0;
pub const rlafIPv4: ::libc::c_uint = 1;
pub const rlafIPv6: ::libc::c_uint = 2;
pub type RpcLocalAddressFormat = Enum__RpcLocalAddressFormat;
pub type Enum__RPC_NOTIFICATIONS = ::libc::c_uint;
pub const RpcNotificationCallNone: ::libc::c_uint = 0;
pub const RpcNotificationClientDisconnect: ::libc::c_uint = 1;
pub const RpcNotificationCallCancel: ::libc::c_uint = 2;
pub type RPC_NOTIFICATIONS = Enum__RPC_NOTIFICATIONS;
pub type Enum__RpcCallClientLocality = ::libc::c_uint;
pub const rcclInvalid: ::libc::c_uint = 0;
pub const rcclLocal: ::libc::c_uint = 1;
pub const rcclRemote: ::libc::c_uint = 2;
pub const rcclClientUnknownLocality: ::libc::c_uint = 3;
pub type RpcCallClientLocality = Enum__RpcCallClientLocality;
#[repr(C)]
pub struct Struct_HDROP__ {
pub unused: ::libc::c_int,
}
pub type HDROP = *mut Struct_HDROP__;
#[repr(C)]
pub struct Struct__DRAGINFOA {
pub uSize: UINT,
pub pt: POINT,
pub fNC: WINBOOL,
pub lpFileList: LPSTR,
pub grfKeyState: DWORD,
}
pub type DRAGINFOA = Struct__DRAGINFOA;
pub type LPDRAGINFOA = *mut Struct__DRAGINFOA;
#[repr(C)]
pub struct Struct__DRAGINFOW {
pub uSize: UINT,
pub pt: POINT,
pub fNC: WINBOOL,
pub lpFileList: LPWSTR,
pub grfKeyState: DWORD,
}
pub type DRAGINFOW = Struct__DRAGINFOW;
pub type LPDRAGINFOW = *mut Struct__DRAGINFOW;
pub type DRAGINFO = DRAGINFOA;
pub type LPDRAGINFO = LPDRAGINFOA;
#[repr(C)]
pub struct Struct__AppBarData {
pub cbSize: DWORD,
pub hWnd: HWND,
pub uCallbackMessage: UINT,
pub uEdge: UINT,
pub rc: RECT,
pub lParam: LPARAM,
}
pub type APPBARDATA = Struct__AppBarData;
pub type PAPPBARDATA = *mut Struct__AppBarData;
pub type FILEOP_FLAGS = WORD;
pub type PRINTEROP_FLAGS = WORD;
#[repr(C)]
pub struct Struct__SHFILEOPSTRUCTA {
pub hwnd: HWND,
pub wFunc: UINT,
pub pFrom: LPCSTR,
pub pTo: LPCSTR,
pub fFlags: FILEOP_FLAGS,
pub fAnyOperationsAborted: WINBOOL,
pub hNameMappings: LPVOID,
pub lpszProgressTitle: PCSTR,
}
pub type SHFILEOPSTRUCTA = Struct__SHFILEOPSTRUCTA;
pub type LPSHFILEOPSTRUCTA = *mut Struct__SHFILEOPSTRUCTA;
#[repr(C)]
pub struct Struct__SHFILEOPSTRUCTW {
pub hwnd: HWND,
pub wFunc: UINT,
pub pFrom: LPCWSTR,
pub pTo: LPCWSTR,
pub fFlags: FILEOP_FLAGS,
pub fAnyOperationsAborted: WINBOOL,
pub hNameMappings: LPVOID,
pub lpszProgressTitle: PCWSTR,
}
pub type SHFILEOPSTRUCTW = Struct__SHFILEOPSTRUCTW;
pub type LPSHFILEOPSTRUCTW = *mut Struct__SHFILEOPSTRUCTW;
pub type SHFILEOPSTRUCT = SHFILEOPSTRUCTA;
pub type LPSHFILEOPSTRUCT = LPSHFILEOPSTRUCTA;
#[repr(C)]
pub struct Struct__SHNAMEMAPPINGA {
pub pszOldPath: LPSTR,
pub pszNewPath: LPSTR,
pub cchOldPath: ::libc::c_int,
pub cchNewPath: ::libc::c_int,
}
pub type SHNAMEMAPPINGA = Struct__SHNAMEMAPPINGA;
pub type LPSHNAMEMAPPINGA = *mut Struct__SHNAMEMAPPINGA;
#[repr(C)]
pub struct Struct__SHNAMEMAPPINGW {
pub pszOldPath: LPWSTR,
pub pszNewPath: LPWSTR,
pub cchOldPath: ::libc::c_int,
pub cchNewPath: ::libc::c_int,
}
pub type SHNAMEMAPPINGW = Struct__SHNAMEMAPPINGW;
pub type LPSHNAMEMAPPINGW = *mut Struct__SHNAMEMAPPINGW;
pub type SHNAMEMAPPING = SHNAMEMAPPINGA;
pub type LPSHNAMEMAPPING = LPSHNAMEMAPPINGA;
#[repr(C)]
pub struct Struct__SHELLEXECUTEINFOA {
pub cbSize: DWORD,
pub fMask: ULONG,
pub hwnd: HWND,
pub lpVerb: LPCSTR,
pub lpFile: LPCSTR,
pub lpParameters: LPCSTR,
pub lpDirectory: LPCSTR,
pub nShow: ::libc::c_int,
pub hInstApp: HINSTANCE,
pub lpIDList: *mut ::libc::c_void,
pub lpClass: LPCSTR,
pub hkeyClass: HKEY,
pub dwHotKey: DWORD,
pub hProcess: HANDLE,
}
#[repr(C)]
pub struct Union_Unnamed208 {
pub data: [u64, ..1u],
}
impl Union_Unnamed208 {
pub fn hIcon(&mut self) -> *mut HANDLE {
unsafe { ::std::mem::transmute(self) }
}
pub fn hMonitor(&mut self) -> *mut HANDLE {
unsafe { ::std::mem::transmute(self) }
}
}
pub type SHELLEXECUTEINFOA = Struct__SHELLEXECUTEINFOA;
pub type LPSHELLEXECUTEINFOA = *mut Struct__SHELLEXECUTEINFOA;
#[repr(C)]
pub struct Struct__SHELLEXECUTEINFOW {
pub cbSize: DWORD,
pub fMask: ULONG,
pub hwnd: HWND,
pub lpVerb: LPCWSTR,
pub lpFile: LPCWSTR,
pub lpParameters: LPCWSTR,
pub lpDirectory: LPCWSTR,
pub nShow: ::libc::c_int,
pub hInstApp: HINSTANCE,
pub lpIDList: *mut ::libc::c_void,
pub lpClass: LPCWSTR,
pub hkeyClass: HKEY,
pub dwHotKey: DWORD,
pub hProcess: HANDLE,
}
#[repr(C)]
pub struct Union_Unnamed209 {
pub data: [u64, ..1u],
}
impl Union_Unnamed209 {
pub fn hIcon(&mut self) -> *mut HANDLE {
unsafe { ::std::mem::transmute(self) }
}
pub fn hMonitor(&mut self) -> *mut HANDLE {
unsafe { ::std::mem::transmute(self) }
}
}
pub type SHELLEXECUTEINFOW = Struct__SHELLEXECUTEINFOW;
pub type LPSHELLEXECUTEINFOW = *mut Struct__SHELLEXECUTEINFOW;
pub type SHELLEXECUTEINFO = SHELLEXECUTEINFOA;
pub type LPSHELLEXECUTEINFO = LPSHELLEXECUTEINFOA;
#[repr(C)]
pub struct Struct__SHCREATEPROCESSINFOW {
pub cbSize: DWORD,
pub fMask: ULONG,
pub hwnd: HWND,
pub pszFile: LPCWSTR,
pub pszParameters: LPCWSTR,
pub pszCurrentDirectory: LPCWSTR,
pub hUserToken: HANDLE,
pub lpProcessAttributes: LPSECURITY_ATTRIBUTES,
pub lpThreadAttributes: LPSECURITY_ATTRIBUTES,
pub bInheritHandles: WINBOOL,
pub dwCreationFlags: DWORD,
pub lpStartupInfo: LPSTARTUPINFOW,
pub lpProcessInformation: LPPROCESS_INFORMATION,
}
pub type SHCREATEPROCESSINFOW = Struct__SHCREATEPROCESSINFOW;
pub type PSHCREATEPROCESSINFOW = *mut Struct__SHCREATEPROCESSINFOW;
#[repr(C)]
pub struct Struct__SHQUERYRBINFO {
pub cbSize: DWORD,
pub i64Size: ::libc::c_longlong,
pub i64NumItems: ::libc::c_longlong,
}
pub type SHQUERYRBINFO = Struct__SHQUERYRBINFO;
pub type LPSHQUERYRBINFO = *mut Struct__SHQUERYRBINFO;
#[repr(C)]
pub struct Struct__NOTIFYICONDATAA {
pub cbSize: DWORD,
pub hWnd: HWND,
pub uID: UINT,
pub uFlags: UINT,
pub uCallbackMessage: UINT,
pub hIcon: HICON,
pub szTip: [CHAR, ..128u],
pub dwState: DWORD,
pub dwStateMask: DWORD,
pub szInfo: [CHAR, ..256u],
pub szInfoTitle: [CHAR, ..64u],
pub dwInfoFlags: DWORD,
pub guidItem: GUID,
}
#[repr(C)]
pub struct Union_Unnamed210 {
pub data: [u32, ..1u],
}
impl Union_Unnamed210 {
pub fn uTimeout(&mut self) -> *mut UINT {
unsafe { ::std::mem::transmute(self) }
}
pub fn uVersion(&mut self) -> *mut UINT {
unsafe { ::std::mem::transmute(self) }
}
}
pub type NOTIFYICONDATAA = Struct__NOTIFYICONDATAA;
pub type PNOTIFYICONDATAA = *mut Struct__NOTIFYICONDATAA;
#[repr(C)]
pub struct Struct__NOTIFYICONDATAW {
pub cbSize: DWORD,
pub hWnd: HWND,
pub uID: UINT,
pub uFlags: UINT,
pub uCallbackMessage: UINT,
pub hIcon: HICON,
pub szTip: [WCHAR, ..128u],
pub dwState: DWORD,
pub dwStateMask: DWORD,
pub szInfo: [WCHAR, ..256u],
pub szInfoTitle: [WCHAR, ..64u],
pub dwInfoFlags: DWORD,
pub guidItem: GUID,
}
#[repr(C)]
pub struct Union_Unnamed211 {
pub data: [u32, ..1u],
}
impl Union_Unnamed211 {
pub fn uTimeout(&mut self) -> *mut UINT {
unsafe { ::std::mem::transmute(self) }
}
pub fn uVersion(&mut self) -> *mut UINT {
unsafe { ::std::mem::transmute(self) }
}
}
pub type NOTIFYICONDATAW = Struct__NOTIFYICONDATAW;
pub type PNOTIFYICONDATAW = *mut Struct__NOTIFYICONDATAW;
pub type NOTIFYICONDATA = NOTIFYICONDATAA;
pub type PNOTIFYICONDATA = PNOTIFYICONDATAA;
#[repr(C)]
pub struct Struct__NOTIFYICONIDENTIFIER {
pub cbSize: DWORD,
pub hWnd: HWND,
pub uID: UINT,
pub guidItem: GUID,
}
pub type NOTIFYICONIDENTIFIER = Struct__NOTIFYICONIDENTIFIER;
pub type PNOTIFYICONIDENTIFIER = *mut Struct__NOTIFYICONIDENTIFIER;
#[repr(C)]
pub struct Struct__SHFILEINFOA {
pub hIcon: HICON,
pub iIcon: ::libc::c_int,
pub dwAttributes: DWORD,
pub szDisplayName: [CHAR, ..260u],
pub szTypeName: [CHAR, ..80u],
}
pub type SHFILEINFOA = Struct__SHFILEINFOA;
#[repr(C)]
pub struct Struct__SHFILEINFOW {
pub hIcon: HICON,
pub iIcon: ::libc::c_int,
pub dwAttributes: DWORD,
pub szDisplayName: [WCHAR, ..260u],
pub szTypeName: [WCHAR, ..80u],
}
pub type SHFILEINFOW = Struct__SHFILEINFOW;
pub type SHFILEINFO = SHFILEINFOA;
pub type PFNCANSHAREFOLDERW =
::std::option::Option<extern "C" fn(arg1: PCWSTR) -> HRESULT>;
pub type PFNSHOWSHAREFOLDERUIW =
::std::option::Option<extern "C" fn(arg1: HWND, arg2: PCWSTR) -> HRESULT>;
#[repr(C)]
pub struct Struct__PERF_DATA_BLOCK {
pub Signature: [WCHAR, ..4u],
pub LittleEndian: DWORD,
pub Version: DWORD,
pub Revision: DWORD,
pub TotalByteLength: DWORD,
pub HeaderLength: DWORD,
pub NumObjectTypes: DWORD,
pub DefaultObject: LONG,
pub SystemTime: SYSTEMTIME,
pub PerfTime: LARGE_INTEGER,
pub PerfFreq: LARGE_INTEGER,
pub PerfTime100nSec: LARGE_INTEGER,
pub SystemNameLength: DWORD,
pub SystemNameOffset: DWORD,
}
pub type PERF_DATA_BLOCK = Struct__PERF_DATA_BLOCK;
pub type PPERF_DATA_BLOCK = *mut Struct__PERF_DATA_BLOCK;
#[repr(C)]
pub struct Struct__PERF_OBJECT_TYPE {
pub TotalByteLength: DWORD,
pub DefinitionLength: DWORD,
pub HeaderLength: DWORD,
pub ObjectNameTitleIndex: DWORD,
pub ObjectNameTitle: DWORD,
pub ObjectHelpTitleIndex: DWORD,
pub ObjectHelpTitle: DWORD,
pub DetailLevel: DWORD,
pub NumCounters: DWORD,
pub DefaultCounter: LONG,
pub NumInstances: LONG,
pub CodePage: DWORD,
pub PerfTime: LARGE_INTEGER,
pub PerfFreq: LARGE_INTEGER,
}
pub type PERF_OBJECT_TYPE = Struct__PERF_OBJECT_TYPE;
pub type PPERF_OBJECT_TYPE = *mut Struct__PERF_OBJECT_TYPE;
#[repr(C)]
pub struct Struct__PERF_COUNTER_DEFINITION {
pub ByteLength: DWORD,
pub CounterNameTitleIndex: DWORD,
pub CounterNameTitle: DWORD,
pub CounterHelpTitleIndex: DWORD,
pub CounterHelpTitle: DWORD,
pub DefaultScale: LONG,
pub DetailLevel: DWORD,
pub CounterType: DWORD,
pub CounterSize: DWORD,
pub CounterOffset: DWORD,
}
pub type PERF_COUNTER_DEFINITION = Struct__PERF_COUNTER_DEFINITION;
pub type PPERF_COUNTER_DEFINITION = *mut Struct__PERF_COUNTER_DEFINITION;
#[repr(C)]
pub struct Struct__PERF_INSTANCE_DEFINITION {
pub ByteLength: DWORD,
pub ParentObjectTitleIndex: DWORD,
pub ParentObjectInstance: DWORD,
pub UniqueID: LONG,
pub NameOffset: DWORD,
pub NameLength: DWORD,
}
pub type PERF_INSTANCE_DEFINITION = Struct__PERF_INSTANCE_DEFINITION;
pub type PPERF_INSTANCE_DEFINITION = *mut Struct__PERF_INSTANCE_DEFINITION;
#[repr(C)]
pub struct Struct__PERF_COUNTER_BLOCK {
pub ByteLength: DWORD,
}
pub type PERF_COUNTER_BLOCK = Struct__PERF_COUNTER_BLOCK;
pub type PPERF_COUNTER_BLOCK = *mut Struct__PERF_COUNTER_BLOCK;
pub type PM_OPEN_PROC = ::libc::c_void;
pub type PM_COLLECT_PROC = ::libc::c_void;
pub type PM_CLOSE_PROC = ::libc::c_void;
pub type PM_QUERY_PROC = ::libc::c_void;
#[repr(C)]
pub struct Struct_timeval {
pub tv_sec: ::libc::c_long,
pub tv_usec: ::libc::c_long,
}
pub type u_char = ::libc::c_uchar;
pub type u_short = ::libc::c_ushort;
pub type u_int = ::libc::c_uint;
pub type u_long = ::libc::c_ulong;
pub type u_int64 = ::libc::c_ulonglong;
#[repr(C)]
pub struct Struct_in_addr {
pub S_un: Union_Unnamed212,
}
#[repr(C)]
pub struct Union_Unnamed212 {
pub data: [u32, ..1u],
}
impl Union_Unnamed212 {
pub fn S_un_b(&mut self) -> *mut Struct_Unnamed213 {
unsafe { ::std::mem::transmute(self) }
}
pub fn S_un_w(&mut self) -> *mut Struct_Unnamed214 {
unsafe { ::std::mem::transmute(self) }
}
pub fn S_addr(&mut self) -> *mut u_long {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed213 {
pub s_b1: u_char,
pub s_b2: u_char,
pub s_b3: u_char,
pub s_b4: u_char,
}
#[repr(C)]
pub struct Struct_Unnamed214 {
pub s_w1: u_short,
pub s_w2: u_short,
}
pub type IN_ADDR = Struct_in_addr;
pub type PIN_ADDR = *mut Struct_in_addr;
pub type LPIN_ADDR = *mut Struct_in_addr;
pub type SOCKET = UINT_PTR;
#[repr(C)]
pub struct Struct_fd_set {
pub fd_count: u_int,
pub fd_array: [SOCKET, ..64u],
}
pub type fd_set = Struct_fd_set;
pub type FD_SET = Struct_fd_set;
pub type PFD_SET = *mut Struct_fd_set;
pub type LPFD_SET = *mut Struct_fd_set;
#[repr(C)]
pub struct Struct_hostent {
pub h_name: *mut ::libc::c_char,
pub h_aliases: *mut *mut ::libc::c_char,
pub h_addrtype: ::libc::c_short,
pub h_length: ::libc::c_short,
pub h_addr_list: *mut *mut ::libc::c_char,
}
#[repr(C)]
pub struct Struct_netent {
pub n_name: *mut ::libc::c_char,
pub n_aliases: *mut *mut ::libc::c_char,
pub n_addrtype: ::libc::c_short,
pub n_net: u_long,
}
#[repr(C)]
pub struct Struct_servent {
pub s_name: *mut ::libc::c_char,
pub s_aliases: *mut *mut ::libc::c_char,
pub s_proto: *mut ::libc::c_char,
pub s_port: ::libc::c_short,
}
#[repr(C)]
pub struct Struct_protoent {
pub p_name: *mut ::libc::c_char,
pub p_aliases: *mut *mut ::libc::c_char,
pub p_proto: ::libc::c_short,
}
#[repr(C)]
pub struct Struct_sockproto {
pub sp_family: u_short,
pub sp_protocol: u_short,
}
#[repr(C)]
pub struct Struct_linger {
pub l_onoff: u_short,
pub l_linger: u_short,
}
#[repr(C)]
pub struct Struct_sockaddr {
pub sa_family: u_short,
pub sa_data: [::libc::c_char, ..14u],
}
#[repr(C)]
pub struct Struct_sockaddr_in {
pub sin_family: ::libc::c_short,
pub sin_port: u_short,
pub sin_addr: Struct_in_addr,
pub sin_zero: [::libc::c_char, ..8u],
}
pub type HOSTENT = Struct_hostent;
pub type PHOSTENT = *mut Struct_hostent;
pub type LPHOSTENT = *mut Struct_hostent;
pub type SERVENT = Struct_servent;
pub type PSERVENT = *mut Struct_servent;
pub type LPSERVENT = *mut Struct_servent;
pub type PROTOENT = Struct_protoent;
pub type PPROTOENT = *mut Struct_protoent;
pub type LPPROTOENT = *mut Struct_protoent;
pub type SOCKADDR = Struct_sockaddr;
pub type PSOCKADDR = *mut Struct_sockaddr;
pub type LPSOCKADDR = *mut Struct_sockaddr;
pub type SOCKADDR_IN = Struct_sockaddr_in;
pub type PSOCKADDR_IN = *mut Struct_sockaddr_in;
pub type LPSOCKADDR_IN = *mut Struct_sockaddr_in;
pub type LINGER = Struct_linger;
pub type PLINGER = *mut Struct_linger;
pub type LPLINGER = *mut Struct_linger;
pub type TIMEVAL = Struct_timeval;
pub type PTIMEVAL = *mut Struct_timeval;
pub type LPTIMEVAL = *mut Struct_timeval;
#[repr(C)]
pub struct Struct_ip_mreq {
pub imr_multiaddr: Struct_in_addr,
pub imr_interface: Struct_in_addr,
}
#[repr(C)]
pub struct Struct_WSAData {
pub wVersion: WORD,
pub wHighVersion: WORD,
pub iMaxSockets: ::libc::c_ushort,
pub iMaxUdpDg: ::libc::c_ushort,
pub lpVendorInfo: *mut ::libc::c_char,
pub szDescription: [::libc::c_char, ..257u],
pub szSystemStatus: [::libc::c_char, ..129u],
}
pub type WSADATA = Struct_WSAData;
pub type LPWSADATA = *mut Struct_WSAData;
#[repr(C)]
pub struct Struct__TRANSMIT_FILE_BUFFERS {
pub Head: LPVOID,
pub HeadLength: DWORD,
pub Tail: LPVOID,
pub TailLength: DWORD,
}
pub type TRANSMIT_FILE_BUFFERS = Struct__TRANSMIT_FILE_BUFFERS;
pub type PTRANSMIT_FILE_BUFFERS = *mut Struct__TRANSMIT_FILE_BUFFERS;
pub type LPTRANSMIT_FILE_BUFFERS = *mut Struct__TRANSMIT_FILE_BUFFERS;
pub type NTSTATUS = LONG;
pub type PNTSTATUS = *mut LONG;
#[repr(C)]
pub struct Struct___BCRYPT_KEY_LENGTHS_STRUCT {
pub dwMinLength: ULONG,
pub dwMaxLength: ULONG,
pub dwIncrement: ULONG,
}
pub type BCRYPT_KEY_LENGTHS_STRUCT = Struct___BCRYPT_KEY_LENGTHS_STRUCT;
pub type BCRYPT_AUTH_TAG_LENGTHS_STRUCT = BCRYPT_KEY_LENGTHS_STRUCT;
#[repr(C)]
pub struct Struct__BCRYPT_OID {
pub cbOID: ULONG,
pub pbOID: PUCHAR,
}
pub type BCRYPT_OID = Struct__BCRYPT_OID;
#[repr(C)]
pub struct Struct__BCRYPT_OID_LIST {
pub dwOIDCount: ULONG,
pub pOIDs: *mut BCRYPT_OID,
}
pub type BCRYPT_OID_LIST = Struct__BCRYPT_OID_LIST;
#[repr(C)]
pub struct Struct__BCRYPT_PKCS1_PADDING_INFO {
pub pszAlgId: LPCWSTR,
}
pub type BCRYPT_PKCS1_PADDING_INFO = Struct__BCRYPT_PKCS1_PADDING_INFO;
#[repr(C)]
pub struct Struct__BCRYPT_PSS_PADDING_INFO {
pub pszAlgId: LPCWSTR,
pub cbSalt: ULONG,
}
pub type BCRYPT_PSS_PADDING_INFO = Struct__BCRYPT_PSS_PADDING_INFO;
#[repr(C)]
pub struct Struct__BCRYPT_OAEP_PADDING_INFO {
pub pszAlgId: LPCWSTR,
pub pbLabel: PUCHAR,
pub cbLabel: ULONG,
}
pub type BCRYPT_OAEP_PADDING_INFO = Struct__BCRYPT_OAEP_PADDING_INFO;
#[repr(C)]
pub struct Struct__BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO {
pub cbSize: ULONG,
pub dwInfoVersion: ULONG,
pub pbNonce: PUCHAR,
pub cbNonce: ULONG,
pub pbAuthData: PUCHAR,
pub cbAuthData: ULONG,
pub pbTag: PUCHAR,
pub cbTag: ULONG,
pub pbMacContext: PUCHAR,
pub cbMacContext: ULONG,
pub cbAAD: ULONG,
pub cbData: ULONGLONG,
pub dwFlags: ULONG,
}
pub type BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO =
Struct__BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO;
pub type PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO =
*mut Struct__BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO;
#[repr(C)]
pub struct Struct__BCryptBuffer {
pub cbBuffer: ULONG,
pub BufferType: ULONG,
pub pvBuffer: PVOID,
}
pub type BCryptBuffer = Struct__BCryptBuffer;
pub type PBCryptBuffer = *mut Struct__BCryptBuffer;
#[repr(C)]
pub struct Struct__BCryptBufferDesc {
pub ulVersion: ULONG,
pub cBuffers: ULONG,
pub pBuffers: PBCryptBuffer,
}
pub type BCryptBufferDesc = Struct__BCryptBufferDesc;
pub type PBCryptBufferDesc = *mut Struct__BCryptBufferDesc;
pub type BCRYPT_HANDLE = PVOID;
pub type BCRYPT_ALG_HANDLE = PVOID;
pub type BCRYPT_KEY_HANDLE = PVOID;
pub type BCRYPT_HASH_HANDLE = PVOID;
pub type BCRYPT_SECRET_HANDLE = PVOID;
#[repr(C)]
pub struct Struct__BCRYPT_KEY_BLOB {
pub Magic: ULONG,
}
pub type BCRYPT_KEY_BLOB = Struct__BCRYPT_KEY_BLOB;
#[repr(C)]
pub struct Struct__BCRYPT_RSAKEY_BLOB {
pub Magic: ULONG,
pub BitLength: ULONG,
pub cbPublicExp: ULONG,
pub cbModulus: ULONG,
pub cbPrime1: ULONG,
pub cbPrime2: ULONG,
}
pub type BCRYPT_RSAKEY_BLOB = Struct__BCRYPT_RSAKEY_BLOB;
#[repr(C)]
pub struct Struct__BCRYPT_ECCKEY_BLOB {
pub dwMagic: ULONG,
pub cbKey: ULONG,
}
pub type BCRYPT_ECCKEY_BLOB = Struct__BCRYPT_ECCKEY_BLOB;
pub type PBCRYPT_ECCKEY_BLOB = *mut Struct__BCRYPT_ECCKEY_BLOB;
#[repr(C)]
pub struct Struct__BCRYPT_DH_KEY_BLOB {
pub dwMagic: ULONG,
pub cbKey: ULONG,
}
pub type BCRYPT_DH_KEY_BLOB = Struct__BCRYPT_DH_KEY_BLOB;
pub type PBCRYPT_DH_KEY_BLOB = *mut Struct__BCRYPT_DH_KEY_BLOB;
#[repr(C)]
pub struct Struct__BCRYPT_DH_PARAMETER_HEADER {
pub cbLength: ULONG,
pub dwMagic: ULONG,
pub cbKeyLength: ULONG,
}
pub type BCRYPT_DH_PARAMETER_HEADER = Struct__BCRYPT_DH_PARAMETER_HEADER;
#[repr(C)]
pub struct Struct__BCRYPT_DSA_KEY_BLOB {
pub dwMagic: ULONG,
pub cbKey: ULONG,
pub Count: [UCHAR, ..4u],
pub Seed: [UCHAR, ..20u],
pub q: [UCHAR, ..20u],
}
pub type BCRYPT_DSA_KEY_BLOB = Struct__BCRYPT_DSA_KEY_BLOB;
pub type PBCRYPT_DSA_KEY_BLOB = *mut Struct__BCRYPT_DSA_KEY_BLOB;
pub type Enum_Unnamed215 = ::libc::c_uint;
pub const DSA_HASH_ALGORITHM_SHA1: ::libc::c_uint = 0;
pub const DSA_HASH_ALGORITHM_SHA256: ::libc::c_uint = 1;
pub const DSA_HASH_ALGORITHM_SHA512: ::libc::c_uint = 2;
pub type HASHALGORITHM_ENUM = Enum_Unnamed215;
pub type Enum_Unnamed216 = ::libc::c_uint;
pub const DSA_FIPS186_2: ::libc::c_uint = 0;
pub const DSA_FIPS186_3: ::libc::c_uint = 1;
pub type DSAFIPSVERSION_ENUM = Enum_Unnamed216;
#[repr(C)]
pub struct Struct__BCRYPT_DSA_KEY_BLOB_V2 {
pub dwMagic: ULONG,
pub cbKey: ULONG,
pub hashAlgorithm: HASHALGORITHM_ENUM,
pub standardVersion: DSAFIPSVERSION_ENUM,
pub cbSeedLength: ULONG,
pub cbGroupSize: ULONG,
pub Count: [UCHAR, ..4u],
}
pub type BCRYPT_DSA_KEY_BLOB_V2 = Struct__BCRYPT_DSA_KEY_BLOB_V2;
pub type PBCRYPT_DSA_KEY_BLOB_V2 = *mut Struct__BCRYPT_DSA_KEY_BLOB_V2;
#[repr(C)]
pub struct Struct__BCRYPT_KEY_DATA_BLOB_HEADER {
pub dwMagic: ULONG,
pub dwVersion: ULONG,
pub cbKeyData: ULONG,
}
pub type BCRYPT_KEY_DATA_BLOB_HEADER = Struct__BCRYPT_KEY_DATA_BLOB_HEADER;
pub type PBCRYPT_KEY_DATA_BLOB_HEADER =
*mut Struct__BCRYPT_KEY_DATA_BLOB_HEADER;
#[repr(C)]
pub struct Struct__BCRYPT_DSA_PARAMETER_HEADER {
pub cbLength: ULONG,
pub dwMagic: ULONG,
pub cbKeyLength: ULONG,
pub Count: [UCHAR, ..4u],
pub Seed: [UCHAR, ..20u],
pub q: [UCHAR, ..20u],
}
pub type BCRYPT_DSA_PARAMETER_HEADER = Struct__BCRYPT_DSA_PARAMETER_HEADER;
#[repr(C)]
pub struct Struct__BCRYPT_DSA_PARAMETER_HEADER_V2 {
pub cbLength: ULONG,
pub dwMagic: ULONG,
pub cbKeyLength: ULONG,
pub hashAlgorithm: HASHALGORITHM_ENUM,
pub standardVersion: DSAFIPSVERSION_ENUM,
pub cbSeedLength: ULONG,
pub cbGroupSize: ULONG,
pub Count: [UCHAR, ..4u],
}
pub type BCRYPT_DSA_PARAMETER_HEADER_V2 =
Struct__BCRYPT_DSA_PARAMETER_HEADER_V2;
#[repr(C)]
pub struct Struct__BCRYPT_ALGORITHM_IDENTIFIER {
pub pszName: LPWSTR,
pub dwClass: ULONG,
pub dwFlags: ULONG,
}
pub type BCRYPT_ALGORITHM_IDENTIFIER = Struct__BCRYPT_ALGORITHM_IDENTIFIER;
#[repr(C)]
pub struct Struct__BCRYPT_PROVIDER_NAME {
pub pszProviderName: LPWSTR,
}
pub type BCRYPT_PROVIDER_NAME = Struct__BCRYPT_PROVIDER_NAME;
#[repr(C)]
pub struct Struct__BCRYPT_INTERFACE_VERSION {
pub MajorVersion: USHORT,
pub MinorVersion: USHORT,
}
pub type BCRYPT_INTERFACE_VERSION = Struct__BCRYPT_INTERFACE_VERSION;
pub type PBCRYPT_INTERFACE_VERSION = *mut Struct__BCRYPT_INTERFACE_VERSION;
#[repr(C)]
pub struct Struct__CRYPT_INTERFACE_REG {
pub dwInterface: ULONG,
pub dwFlags: ULONG,
pub cFunctions: ULONG,
pub rgpszFunctions: *mut PWSTR,
}
pub type CRYPT_INTERFACE_REG = Struct__CRYPT_INTERFACE_REG;
pub type PCRYPT_INTERFACE_REG = *mut Struct__CRYPT_INTERFACE_REG;
#[repr(C)]
pub struct Struct__CRYPT_IMAGE_REG {
pub pszImage: PWSTR,
pub cInterfaces: ULONG,
pub rgpInterfaces: *mut PCRYPT_INTERFACE_REG,
}
pub type CRYPT_IMAGE_REG = Struct__CRYPT_IMAGE_REG;
pub type PCRYPT_IMAGE_REG = *mut Struct__CRYPT_IMAGE_REG;
#[repr(C)]
pub struct Struct__CRYPT_PROVIDER_REG {
pub cAliases: ULONG,
pub rgpszAliases: *mut PWSTR,
pub pUM: PCRYPT_IMAGE_REG,
pub pKM: PCRYPT_IMAGE_REG,
}
pub type CRYPT_PROVIDER_REG = Struct__CRYPT_PROVIDER_REG;
pub type PCRYPT_PROVIDER_REG = *mut Struct__CRYPT_PROVIDER_REG;
#[repr(C)]
pub struct Struct__CRYPT_PROVIDERS {
pub cProviders: ULONG,
pub rgpszProviders: *mut PWSTR,
}
pub type CRYPT_PROVIDERS = Struct__CRYPT_PROVIDERS;
pub type PCRYPT_PROVIDERS = *mut Struct__CRYPT_PROVIDERS;
#[repr(C)]
pub struct Struct__CRYPT_CONTEXT_CONFIG {
pub dwFlags: ULONG,
pub dwReserved: ULONG,
}
pub type CRYPT_CONTEXT_CONFIG = Struct__CRYPT_CONTEXT_CONFIG;
pub type PCRYPT_CONTEXT_CONFIG = *mut Struct__CRYPT_CONTEXT_CONFIG;
#[repr(C)]
pub struct Struct__CRYPT_CONTEXT_FUNCTION_CONFIG {
pub dwFlags: ULONG,
pub dwReserved: ULONG,
}
pub type CRYPT_CONTEXT_FUNCTION_CONFIG =
Struct__CRYPT_CONTEXT_FUNCTION_CONFIG;
pub type PCRYPT_CONTEXT_FUNCTION_CONFIG =
*mut Struct__CRYPT_CONTEXT_FUNCTION_CONFIG;
#[repr(C)]
pub struct Struct__CRYPT_CONTEXTS {
pub cContexts: ULONG,
pub rgpszContexts: *mut PWSTR,
}
pub type CRYPT_CONTEXTS = Struct__CRYPT_CONTEXTS;
pub type PCRYPT_CONTEXTS = *mut Struct__CRYPT_CONTEXTS;
#[repr(C)]
pub struct Struct__CRYPT_CONTEXT_FUNCTIONS {
pub cFunctions: ULONG,
pub rgpszFunctions: *mut PWSTR,
}
pub type CRYPT_CONTEXT_FUNCTIONS = Struct__CRYPT_CONTEXT_FUNCTIONS;
pub type PCRYPT_CONTEXT_FUNCTIONS = *mut Struct__CRYPT_CONTEXT_FUNCTIONS;
#[repr(C)]
pub struct Struct__CRYPT_CONTEXT_FUNCTION_PROVIDERS {
pub cProviders: ULONG,
pub rgpszProviders: *mut PWSTR,
}
pub type CRYPT_CONTEXT_FUNCTION_PROVIDERS =
Struct__CRYPT_CONTEXT_FUNCTION_PROVIDERS;
pub type PCRYPT_CONTEXT_FUNCTION_PROVIDERS =
*mut Struct__CRYPT_CONTEXT_FUNCTION_PROVIDERS;
#[repr(C)]
pub struct Struct__CRYPT_PROPERTY_REF {
pub pszProperty: PWSTR,
pub cbValue: ULONG,
pub pbValue: PUCHAR,
}
pub type CRYPT_PROPERTY_REF = Struct__CRYPT_PROPERTY_REF;
pub type PCRYPT_PROPERTY_REF = *mut Struct__CRYPT_PROPERTY_REF;
#[repr(C)]
pub struct Struct__CRYPT_IMAGE_REF {
pub pszImage: PWSTR,
pub dwFlags: ULONG,
}
pub type CRYPT_IMAGE_REF = Struct__CRYPT_IMAGE_REF;
pub type PCRYPT_IMAGE_REF = *mut Struct__CRYPT_IMAGE_REF;
#[repr(C)]
pub struct Struct__CRYPT_PROVIDER_REF {
pub dwInterface: ULONG,
pub pszFunction: PWSTR,
pub pszProvider: PWSTR,
pub cProperties: ULONG,
pub rgpProperties: *mut PCRYPT_PROPERTY_REF,
pub pUM: PCRYPT_IMAGE_REF,
pub pKM: PCRYPT_IMAGE_REF,
}
pub type CRYPT_PROVIDER_REF = Struct__CRYPT_PROVIDER_REF;
pub type PCRYPT_PROVIDER_REF = *mut Struct__CRYPT_PROVIDER_REF;
#[repr(C)]
pub struct Struct__CRYPT_PROVIDER_REFS {
pub cProviders: ULONG,
pub rgpProviders: *mut PCRYPT_PROVIDER_REF,
}
pub type CRYPT_PROVIDER_REFS = Struct__CRYPT_PROVIDER_REFS;
pub type PCRYPT_PROVIDER_REFS = *mut Struct__CRYPT_PROVIDER_REFS;
pub type ALG_ID = ::libc::c_uint;
pub type HCRYPTKEY = ULONG_PTR;
pub type HCRYPTPROV = ULONG_PTR;
pub type HCRYPTHASH = ULONG_PTR;
#[repr(C)]
pub struct Struct__CMS_KEY_INFO {
pub dwVersion: DWORD,
pub Algid: ALG_ID,
pub pbOID: *mut BYTE,
pub cbOID: DWORD,
}
pub type CMS_KEY_INFO = Struct__CMS_KEY_INFO;
pub type PCMS_KEY_INFO = *mut Struct__CMS_KEY_INFO;
#[repr(C)]
pub struct Struct__HMAC_Info {
pub HashAlgid: ALG_ID,
pub pbInnerString: *mut BYTE,
pub cbInnerString: DWORD,
pub pbOuterString: *mut BYTE,
pub cbOuterString: DWORD,
}
pub type HMAC_INFO = Struct__HMAC_Info;
pub type PHMAC_INFO = *mut Struct__HMAC_Info;
#[repr(C)]
pub struct Struct__SCHANNEL_ALG {
pub dwUse: DWORD,
pub Algid: ALG_ID,
pub cBits: DWORD,
pub dwFlags: DWORD,
pub dwReserved: DWORD,
}
pub type SCHANNEL_ALG = Struct__SCHANNEL_ALG;
pub type PSCHANNEL_ALG = *mut Struct__SCHANNEL_ALG;
#[repr(C)]
pub struct Struct__PROV_ENUMALGS {
pub aiAlgid: ALG_ID,
pub dwBitLen: DWORD,
pub dwNameLen: DWORD,
pub szName: [CHAR, ..20u],
}
pub type PROV_ENUMALGS = Struct__PROV_ENUMALGS;
#[repr(C)]
pub struct Struct__PROV_ENUMALGS_EX {
pub aiAlgid: ALG_ID,
pub dwDefaultLen: DWORD,
pub dwMinLen: DWORD,
pub dwMaxLen: DWORD,
pub dwProtocols: DWORD,
pub dwNameLen: DWORD,
pub szName: [CHAR, ..20u],
pub dwLongNameLen: DWORD,
pub szLongName: [CHAR, ..40u],
}
pub type PROV_ENUMALGS_EX = Struct__PROV_ENUMALGS_EX;
#[repr(C)]
pub struct Struct__PUBLICKEYSTRUC {
pub bType: BYTE,
pub bVersion: BYTE,
pub reserved: WORD,
pub aiKeyAlg: ALG_ID,
}
pub type BLOBHEADER = Struct__PUBLICKEYSTRUC;
pub type PUBLICKEYSTRUC = Struct__PUBLICKEYSTRUC;
#[repr(C)]
pub struct Struct__RSAPUBKEY {
pub magic: DWORD,
pub bitlen: DWORD,
pub pubexp: DWORD,
}
pub type RSAPUBKEY = Struct__RSAPUBKEY;
#[repr(C)]
pub struct Struct__PUBKEY {
pub magic: DWORD,
pub bitlen: DWORD,
}
pub type DHPUBKEY = Struct__PUBKEY;
pub type DSSPUBKEY = Struct__PUBKEY;
pub type KEAPUBKEY = Struct__PUBKEY;
pub type TEKPUBKEY = Struct__PUBKEY;
#[repr(C)]
pub struct Struct__DSSSEED {
pub counter: DWORD,
pub seed: [BYTE, ..20u],
}
pub type DSSSEED = Struct__DSSSEED;
#[repr(C)]
pub struct Struct__PUBKEYVER3 {
pub magic: DWORD,
pub bitlenP: DWORD,
pub bitlenQ: DWORD,
pub bitlenJ: DWORD,
pub DSSSeed: DSSSEED,
}
pub type DHPUBKEY_VER3 = Struct__PUBKEYVER3;
pub type DSSPUBKEY_VER3 = Struct__PUBKEYVER3;
#[repr(C)]
pub struct Struct__PRIVKEYVER3 {
pub magic: DWORD,
pub bitlenP: DWORD,
pub bitlenQ: DWORD,
pub bitlenJ: DWORD,
pub bitlenX: DWORD,
pub DSSSeed: DSSSEED,
}
pub type DHPRIVKEY_VER3 = Struct__PRIVKEYVER3;
pub type DSSPRIVKEY_VER3 = Struct__PRIVKEYVER3;
#[repr(C)]
pub struct Struct__KEY_TYPE_SUBTYPE {
pub dwKeySpec: DWORD,
pub Type: GUID,
pub Subtype: GUID,
}
pub type KEY_TYPE_SUBTYPE = Struct__KEY_TYPE_SUBTYPE;
pub type PKEY_TYPE_SUBTYPE = *mut Struct__KEY_TYPE_SUBTYPE;
#[repr(C)]
pub struct Struct__CERT_FORTEZZA_DATA_PROP {
pub SerialNumber: [::libc::c_uchar, ..8u],
pub CertIndex: ::libc::c_int,
pub CertLabel: [::libc::c_uchar, ..36u],
}
pub type CERT_FORTEZZA_DATA_PROP = Struct__CERT_FORTEZZA_DATA_PROP;
#[repr(C)]
pub struct Struct__CRYPT_RC4_KEY_STATE {
pub Key: [::libc::c_uchar, ..16u],
pub SBox: [::libc::c_uchar, ..256u],
pub i: ::libc::c_uchar,
pub j: ::libc::c_uchar,
}
pub type CRYPT_RC4_KEY_STATE = Struct__CRYPT_RC4_KEY_STATE;
pub type PCRYPT_RC4_KEY_STATE = *mut Struct__CRYPT_RC4_KEY_STATE;
#[repr(C)]
pub struct Struct__CRYPT_DES_KEY_STATE {
pub Key: [::libc::c_uchar, ..8u],
pub IV: [::libc::c_uchar, ..8u],
pub Feedback: [::libc::c_uchar, ..8u],
}
pub type CRYPT_DES_KEY_STATE = Struct__CRYPT_DES_KEY_STATE;
pub type PCRYPT_DES_KEY_STATE = *mut Struct__CRYPT_DES_KEY_STATE;
#[repr(C)]
pub struct Struct__CRYPT_3DES_KEY_STATE {
pub Key: [::libc::c_uchar, ..24u],
pub IV: [::libc::c_uchar, ..8u],
pub Feedback: [::libc::c_uchar, ..8u],
}
pub type CRYPT_3DES_KEY_STATE = Struct__CRYPT_3DES_KEY_STATE;
pub type PCRYPT_3DES_KEY_STATE = *mut Struct__CRYPT_3DES_KEY_STATE;
#[repr(C)]
pub struct Struct__CRYPTOAPI_BLOB {
pub cbData: DWORD,
pub pbData: *mut BYTE,
}
pub type CRYPT_INTEGER_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCRYPT_INTEGER_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CRYPT_UINT_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCRYPT_UINT_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CRYPT_OBJID_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCRYPT_OBJID_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CERT_NAME_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCERT_NAME_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CERT_RDN_VALUE_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCERT_RDN_VALUE_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CERT_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCERT_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CRL_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCRL_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type DATA_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PDATA_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CRYPT_DATA_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCRYPT_DATA_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CRYPT_HASH_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCRYPT_HASH_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CRYPT_DIGEST_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCRYPT_DIGEST_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CRYPT_DER_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCRYPT_DER_BLOB = *mut Struct__CRYPTOAPI_BLOB;
pub type CRYPT_ATTR_BLOB = Struct__CRYPTOAPI_BLOB;
pub type PCRYPT_ATTR_BLOB = *mut Struct__CRYPTOAPI_BLOB;
#[repr(C)]
pub struct Struct__CMS_DH_KEY_INFO {
pub dwVersion: DWORD,
pub Algid: ALG_ID,
pub pszContentEncObjId: LPSTR,
pub PubInfo: CRYPT_DATA_BLOB,
pub pReserved: *mut ::libc::c_void,
}
pub type CMS_DH_KEY_INFO = Struct__CMS_DH_KEY_INFO;
pub type PCMS_DH_KEY_INFO = *mut Struct__CMS_DH_KEY_INFO;
#[repr(C)]
pub struct Struct__CRYPT_BIT_BLOB {
pub cbData: DWORD,
pub pbData: *mut BYTE,
pub cUnusedBits: DWORD,
}
pub type CRYPT_BIT_BLOB = Struct__CRYPT_BIT_BLOB;
pub type PCRYPT_BIT_BLOB = *mut Struct__CRYPT_BIT_BLOB;
#[repr(C)]
pub struct Struct__CRYPT_ALGORITHM_IDENTIFIER {
pub pszObjId: LPSTR,
pub Parameters: CRYPT_OBJID_BLOB,
}
pub type CRYPT_ALGORITHM_IDENTIFIER = Struct__CRYPT_ALGORITHM_IDENTIFIER;
pub type PCRYPT_ALGORITHM_IDENTIFIER =
*mut Struct__CRYPT_ALGORITHM_IDENTIFIER;
#[repr(C)]
pub struct Struct__CRYPT_OBJID_TABLE {
pub dwAlgId: DWORD,
pub pszObjId: LPCSTR,
}
pub type CRYPT_OBJID_TABLE = Struct__CRYPT_OBJID_TABLE;
pub type PCRYPT_OBJID_TABLE = *mut Struct__CRYPT_OBJID_TABLE;
#[repr(C)]
pub struct Struct__CRYPT_HASH_INFO {
pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub Hash: CRYPT_HASH_BLOB,
}
pub type CRYPT_HASH_INFO = Struct__CRYPT_HASH_INFO;
pub type PCRYPT_HASH_INFO = *mut Struct__CRYPT_HASH_INFO;
#[repr(C)]
pub struct Struct__CERT_EXTENSION {
pub pszObjId: LPSTR,
pub fCritical: WINBOOL,
pub Value: CRYPT_OBJID_BLOB,
}
pub type CERT_EXTENSION = Struct__CERT_EXTENSION;
pub type PCERT_EXTENSION = *mut Struct__CERT_EXTENSION;
#[repr(C)]
pub struct Struct__CRYPT_ATTRIBUTE_TYPE_VALUE {
pub pszObjId: LPSTR,
pub Value: CRYPT_OBJID_BLOB,
}
pub type CRYPT_ATTRIBUTE_TYPE_VALUE = Struct__CRYPT_ATTRIBUTE_TYPE_VALUE;
pub type PCRYPT_ATTRIBUTE_TYPE_VALUE =
*mut Struct__CRYPT_ATTRIBUTE_TYPE_VALUE;
#[repr(C)]
pub struct Struct__CRYPT_ATTRIBUTE {
pub pszObjId: LPSTR,
pub cValue: DWORD,
pub rgValue: PCRYPT_ATTR_BLOB,
}
pub type CRYPT_ATTRIBUTE = Struct__CRYPT_ATTRIBUTE;
pub type PCRYPT_ATTRIBUTE = *mut Struct__CRYPT_ATTRIBUTE;
#[repr(C)]
pub struct Struct__CRYPT_ATTRIBUTES {
pub cAttr: DWORD,
pub rgAttr: PCRYPT_ATTRIBUTE,
}
pub type CRYPT_ATTRIBUTES = Struct__CRYPT_ATTRIBUTES;
pub type PCRYPT_ATTRIBUTES = *mut Struct__CRYPT_ATTRIBUTES;
#[repr(C)]
pub struct Struct__CERT_RDN_ATTR {
pub pszObjId: LPSTR,
pub dwValueType: DWORD,
pub Value: CERT_RDN_VALUE_BLOB,
}
pub type CERT_RDN_ATTR = Struct__CERT_RDN_ATTR;
pub type PCERT_RDN_ATTR = *mut Struct__CERT_RDN_ATTR;
#[repr(C)]
pub struct Struct__CERT_RDN {
pub cRDNAttr: DWORD,
pub rgRDNAttr: PCERT_RDN_ATTR,
}
pub type CERT_RDN = Struct__CERT_RDN;
pub type PCERT_RDN = *mut Struct__CERT_RDN;
#[repr(C)]
pub struct Struct__CERT_NAME_INFO {
pub cRDN: DWORD,
pub rgRDN: PCERT_RDN,
}
pub type CERT_NAME_INFO = Struct__CERT_NAME_INFO;
pub type PCERT_NAME_INFO = *mut Struct__CERT_NAME_INFO;
#[repr(C)]
pub struct Struct__CERT_NAME_VALUE {
pub dwValueType: DWORD,
pub Value: CERT_RDN_VALUE_BLOB,
}
pub type CERT_NAME_VALUE = Struct__CERT_NAME_VALUE;
pub type PCERT_NAME_VALUE = *mut Struct__CERT_NAME_VALUE;
#[repr(C)]
pub struct Struct__CERT_PUBLIC_KEY_INFO {
pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub PublicKey: CRYPT_BIT_BLOB,
}
pub type CERT_PUBLIC_KEY_INFO = Struct__CERT_PUBLIC_KEY_INFO;
pub type PCERT_PUBLIC_KEY_INFO = *mut Struct__CERT_PUBLIC_KEY_INFO;
#[repr(C)]
pub struct Struct__CRYPT_PRIVATE_KEY_INFO {
pub Version: DWORD,
pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub PrivateKey: CRYPT_DER_BLOB,
pub pAttributes: PCRYPT_ATTRIBUTES,
}
pub type CRYPT_PRIVATE_KEY_INFO = Struct__CRYPT_PRIVATE_KEY_INFO;
pub type PCRYPT_PRIVATE_KEY_INFO = *mut Struct__CRYPT_PRIVATE_KEY_INFO;
#[repr(C)]
pub struct Struct__CRYPT_ENCRYPTED_PRIVATE_KEY_INFO {
pub EncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub EncryptedPrivateKey: CRYPT_DATA_BLOB,
}
pub type CRYPT_ENCRYPTED_PRIVATE_KEY_INFO =
Struct__CRYPT_ENCRYPTED_PRIVATE_KEY_INFO;
pub type PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO =
*mut Struct__CRYPT_ENCRYPTED_PRIVATE_KEY_INFO;
pub type PCRYPT_DECRYPT_PRIVATE_KEY_FUNC =
::std::option::Option<extern "C" fn
(arg1: CRYPT_ALGORITHM_IDENTIFIER,
arg2: CRYPT_DATA_BLOB, arg3: *mut BYTE,
arg4: *mut DWORD, arg5: LPVOID) -> WINBOOL>;
pub type PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC =
::std::option::Option<extern "C" fn
(arg1: *mut CRYPT_ALGORITHM_IDENTIFIER,
arg2: *mut CRYPT_DATA_BLOB, arg3: *mut BYTE,
arg4: *mut DWORD, arg5: LPVOID) -> WINBOOL>;
pub type PCRYPT_RESOLVE_HCRYPTPROV_FUNC =
::std::option::Option<extern "C" fn
(arg1: *mut CRYPT_PRIVATE_KEY_INFO,
arg2: *mut HCRYPTPROV, arg3: LPVOID)
-> WINBOOL>;
#[repr(C)]
pub struct Struct__CRYPT_PKCS8_IMPORT_PARAMS {
pub PrivateKey: CRYPT_DIGEST_BLOB,
pub pResolvehCryptProvFunc: PCRYPT_RESOLVE_HCRYPTPROV_FUNC,
pub pVoidResolveFunc: LPVOID,
pub pDecryptPrivateKeyFunc: PCRYPT_DECRYPT_PRIVATE_KEY_FUNC,
pub pVoidDecryptFunc: LPVOID,
}
pub type CRYPT_PKCS8_IMPORT_PARAMS = Struct__CRYPT_PKCS8_IMPORT_PARAMS;
pub type PCRYPT_PKCS8_IMPORT_PARAMS = *mut Struct__CRYPT_PKCS8_IMPORT_PARAMS;
pub type CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS =
Struct__CRYPT_PKCS8_IMPORT_PARAMS;
pub type PCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS =
*mut Struct__CRYPT_PKCS8_IMPORT_PARAMS;
#[repr(C)]
pub struct Struct__CRYPT_PKCS8_EXPORT_PARAMS {
pub hCryptProv: HCRYPTPROV,
pub dwKeySpec: DWORD,
pub pszPrivateKeyObjId: LPSTR,
pub pEncryptPrivateKeyFunc: PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC,
pub pVoidEncryptFunc: LPVOID,
}
pub type CRYPT_PKCS8_EXPORT_PARAMS = Struct__CRYPT_PKCS8_EXPORT_PARAMS;
pub type PCRYPT_PKCS8_EXPORT_PARAMS = *mut Struct__CRYPT_PKCS8_EXPORT_PARAMS;
#[repr(C)]
pub struct Struct__CERT_INFO {
pub dwVersion: DWORD,
pub SerialNumber: CRYPT_INTEGER_BLOB,
pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub Issuer: CERT_NAME_BLOB,
pub NotBefore: FILETIME,
pub NotAfter: FILETIME,
pub Subject: CERT_NAME_BLOB,
pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO,
pub IssuerUniqueId: CRYPT_BIT_BLOB,
pub SubjectUniqueId: CRYPT_BIT_BLOB,
pub cExtension: DWORD,
pub rgExtension: PCERT_EXTENSION,
}
pub type CERT_INFO = Struct__CERT_INFO;
pub type PCERT_INFO = *mut Struct__CERT_INFO;
#[repr(C)]
pub struct Struct__CRL_ENTRY {
pub SerialNumber: CRYPT_INTEGER_BLOB,
pub RevocationDate: FILETIME,
pub cExtension: DWORD,
pub rgExtension: PCERT_EXTENSION,
}
pub type CRL_ENTRY = Struct__CRL_ENTRY;
pub type PCRL_ENTRY = *mut Struct__CRL_ENTRY;
#[repr(C)]
pub struct Struct__CRL_INFO {
pub dwVersion: DWORD,
pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub Issuer: CERT_NAME_BLOB,
pub ThisUpdate: FILETIME,
pub NextUpdate: FILETIME,
pub cCRLEntry: DWORD,
pub rgCRLEntry: PCRL_ENTRY,
pub cExtension: DWORD,
pub rgExtension: PCERT_EXTENSION,
}
pub type CRL_INFO = Struct__CRL_INFO;
pub type PCRL_INFO = *mut Struct__CRL_INFO;
#[repr(C)]
pub struct Struct__CERT_REQUEST_INFO {
pub dwVersion: DWORD,
pub Subject: CERT_NAME_BLOB,
pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO,
pub cAttribute: DWORD,
pub rgAttribute: PCRYPT_ATTRIBUTE,
}
pub type CERT_REQUEST_INFO = Struct__CERT_REQUEST_INFO;
pub type PCERT_REQUEST_INFO = *mut Struct__CERT_REQUEST_INFO;
#[repr(C)]
pub struct Struct__CERT_KEYGEN_REQUEST_INFO {
pub dwVersion: DWORD,
pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO,
pub pwszChallengeString: LPWSTR,
}
pub type CERT_KEYGEN_REQUEST_INFO = Struct__CERT_KEYGEN_REQUEST_INFO;
pub type PCERT_KEYGEN_REQUEST_INFO = *mut Struct__CERT_KEYGEN_REQUEST_INFO;
#[repr(C)]
pub struct Struct__CERT_SIGNED_CONTENT_INFO {
pub ToBeSigned: CRYPT_DER_BLOB,
pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub Signature: CRYPT_BIT_BLOB,
}
pub type CERT_SIGNED_CONTENT_INFO = Struct__CERT_SIGNED_CONTENT_INFO;
pub type PCERT_SIGNED_CONTENT_INFO = *mut Struct__CERT_SIGNED_CONTENT_INFO;
#[repr(C)]
pub struct Struct__CTL_USAGE {
pub cUsageIdentifier: DWORD,
pub rgpszUsageIdentifier: *mut LPSTR,
}
pub type CTL_USAGE = Struct__CTL_USAGE;
pub type PCTL_USAGE = *mut Struct__CTL_USAGE;
pub type CERT_ENHKEY_USAGE = Struct__CTL_USAGE;
pub type PCERT_ENHKEY_USAGE = *mut Struct__CTL_USAGE;
#[repr(C)]
pub struct Struct__CTL_ENTRY {
pub SubjectIdentifier: CRYPT_DATA_BLOB,
pub cAttribute: DWORD,
pub rgAttribute: PCRYPT_ATTRIBUTE,
}
pub type CTL_ENTRY = Struct__CTL_ENTRY;
pub type PCTL_ENTRY = *mut Struct__CTL_ENTRY;
#[repr(C)]
pub struct Struct__CTL_INFO {
pub dwVersion: DWORD,
pub SubjectUsage: CTL_USAGE,
pub ListIdentifier: CRYPT_DATA_BLOB,
pub SequenceNumber: CRYPT_INTEGER_BLOB,
pub ThisUpdate: FILETIME,
pub NextUpdate: FILETIME,
pub SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub cCTLEntry: DWORD,
pub rgCTLEntry: PCTL_ENTRY,
pub cExtension: DWORD,
pub rgExtension: PCERT_EXTENSION,
}
pub type CTL_INFO = Struct__CTL_INFO;
pub type PCTL_INFO = *mut Struct__CTL_INFO;
#[repr(C)]
pub struct Struct__CRYPT_TIME_STAMP_REQUEST_INFO {
pub pszTimeStampAlgorithm: LPSTR,
pub pszContentType: LPSTR,
pub Content: CRYPT_OBJID_BLOB,
pub cAttribute: DWORD,
pub rgAttribute: PCRYPT_ATTRIBUTE,
}
pub type CRYPT_TIME_STAMP_REQUEST_INFO =
Struct__CRYPT_TIME_STAMP_REQUEST_INFO;
pub type PCRYPT_TIME_STAMP_REQUEST_INFO =
*mut Struct__CRYPT_TIME_STAMP_REQUEST_INFO;
#[repr(C)]
pub struct Struct__CRYPT_ENROLLMENT_NAME_VALUE_PAIR {
pub pwszName: LPWSTR,
pub pwszValue: LPWSTR,
}
pub type CRYPT_ENROLLMENT_NAME_VALUE_PAIR =
Struct__CRYPT_ENROLLMENT_NAME_VALUE_PAIR;
pub type PCRYPT_ENROLLMENT_NAME_VALUE_PAIR =
*mut Struct__CRYPT_ENROLLMENT_NAME_VALUE_PAIR;
#[repr(C)]
pub struct Struct__CRYPT_CSP_PROVIDER {
pub dwKeySpec: DWORD,
pub pwszProviderName: LPWSTR,
pub Signature: CRYPT_BIT_BLOB,
}
pub type CRYPT_CSP_PROVIDER = Struct__CRYPT_CSP_PROVIDER;
pub type PCRYPT_CSP_PROVIDER = *mut Struct__CRYPT_CSP_PROVIDER;
pub type PFN_CRYPT_ALLOC =
::std::option::Option<extern "C" fn(arg1: size_t) -> LPVOID>;
pub type PFN_CRYPT_FREE = ::std::option::Option<extern "C" fn(arg1: LPVOID)>;
#[repr(C)]
pub struct Struct__CRYPT_ENCODE_PARA {
pub cbSize: DWORD,
pub pfnAlloc: PFN_CRYPT_ALLOC,
pub pfnFree: PFN_CRYPT_FREE,
}
pub type CRYPT_ENCODE_PARA = Struct__CRYPT_ENCODE_PARA;
pub type PCRYPT_ENCODE_PARA = *mut Struct__CRYPT_ENCODE_PARA;
#[repr(C)]
pub struct Struct__CRYPT_DECODE_PARA {
pub cbSize: DWORD,
pub pfnAlloc: PFN_CRYPT_ALLOC,
pub pfnFree: PFN_CRYPT_FREE,
}
pub type CRYPT_DECODE_PARA = Struct__CRYPT_DECODE_PARA;
pub type PCRYPT_DECODE_PARA = *mut Struct__CRYPT_DECODE_PARA;
#[repr(C)]
pub struct Struct__CERT_EXTENSIONS {
pub cExtension: DWORD,
pub rgExtension: PCERT_EXTENSION,
}
pub type CERT_EXTENSIONS = Struct__CERT_EXTENSIONS;
pub type PCERT_EXTENSIONS = *mut Struct__CERT_EXTENSIONS;
#[repr(C)]
pub struct Struct__CERT_AUTHORITY_KEY_ID_INFO {
pub KeyId: CRYPT_DATA_BLOB,
pub CertIssuer: CERT_NAME_BLOB,
pub CertSerialNumber: CRYPT_INTEGER_BLOB,
}
pub type CERT_AUTHORITY_KEY_ID_INFO = Struct__CERT_AUTHORITY_KEY_ID_INFO;
pub type PCERT_AUTHORITY_KEY_ID_INFO =
*mut Struct__CERT_AUTHORITY_KEY_ID_INFO;
#[repr(C)]
pub struct Struct__CERT_PRIVATE_KEY_VALIDITY {
pub NotBefore: FILETIME,
pub NotAfter: FILETIME,
}
pub type CERT_PRIVATE_KEY_VALIDITY = Struct__CERT_PRIVATE_KEY_VALIDITY;
pub type PCERT_PRIVATE_KEY_VALIDITY = *mut Struct__CERT_PRIVATE_KEY_VALIDITY;
#[repr(C)]
pub struct Struct__CERT_KEY_ATTRIBUTES_INFO {
pub KeyId: CRYPT_DATA_BLOB,
pub IntendedKeyUsage: CRYPT_BIT_BLOB,
pub pPrivateKeyUsagePeriod: PCERT_PRIVATE_KEY_VALIDITY,
}
pub type CERT_KEY_ATTRIBUTES_INFO = Struct__CERT_KEY_ATTRIBUTES_INFO;
pub type PCERT_KEY_ATTRIBUTES_INFO = *mut Struct__CERT_KEY_ATTRIBUTES_INFO;
#[repr(C)]
pub struct Struct__CERT_POLICY_ID {
pub cCertPolicyElementId: DWORD,
pub rgpszCertPolicyElementId: *mut LPSTR,
}
pub type CERT_POLICY_ID = Struct__CERT_POLICY_ID;
pub type PCERT_POLICY_ID = *mut Struct__CERT_POLICY_ID;
#[repr(C)]
pub struct Struct__CERT_KEY_USAGE_RESTRICTION_INFO {
pub cCertPolicyId: DWORD,
pub rgCertPolicyId: PCERT_POLICY_ID,
pub RestrictedKeyUsage: CRYPT_BIT_BLOB,
}
pub type CERT_KEY_USAGE_RESTRICTION_INFO =
Struct__CERT_KEY_USAGE_RESTRICTION_INFO;
pub type PCERT_KEY_USAGE_RESTRICTION_INFO =
*mut Struct__CERT_KEY_USAGE_RESTRICTION_INFO;
#[repr(C)]
pub struct Struct__CERT_OTHER_NAME {
pub pszObjId: LPSTR,
pub Value: CRYPT_OBJID_BLOB,
}
pub type CERT_OTHER_NAME = Struct__CERT_OTHER_NAME;
pub type PCERT_OTHER_NAME = *mut Struct__CERT_OTHER_NAME;
#[repr(C)]
pub struct Struct__CERT_ALT_NAME_ENTRY {
pub dwAltNameChoice: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed217 {
pub data: [u64, ..2u],
}
impl Union_Unnamed217 {
pub fn pOtherName(&mut self) -> *mut PCERT_OTHER_NAME {
unsafe { ::std::mem::transmute(self) }
}
pub fn pwszRfc822Name(&mut self) -> *mut LPWSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn pwszDNSName(&mut self) -> *mut LPWSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn DirectoryName(&mut self) -> *mut CERT_NAME_BLOB {
unsafe { ::std::mem::transmute(self) }
}
pub fn pwszURL(&mut self) -> *mut LPWSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn IPAddress(&mut self) -> *mut CRYPT_DATA_BLOB {
unsafe { ::std::mem::transmute(self) }
}
pub fn pszRegisteredID(&mut self) -> *mut LPSTR {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CERT_ALT_NAME_ENTRY = Struct__CERT_ALT_NAME_ENTRY;
pub type PCERT_ALT_NAME_ENTRY = *mut Struct__CERT_ALT_NAME_ENTRY;
#[repr(C)]
pub struct Struct__CERT_ALT_NAME_INFO {
pub cAltEntry: DWORD,
pub rgAltEntry: PCERT_ALT_NAME_ENTRY,
}
pub type CERT_ALT_NAME_INFO = Struct__CERT_ALT_NAME_INFO;
pub type PCERT_ALT_NAME_INFO = *mut Struct__CERT_ALT_NAME_INFO;
#[repr(C)]
pub struct Struct__CERT_BASIC_CONSTRAINTS_INFO {
pub SubjectType: CRYPT_BIT_BLOB,
pub fPathLenConstraint: WINBOOL,
pub dwPathLenConstraint: DWORD,
pub cSubtreesConstraint: DWORD,
pub rgSubtreesConstraint: *mut CERT_NAME_BLOB,
}
pub type CERT_BASIC_CONSTRAINTS_INFO = Struct__CERT_BASIC_CONSTRAINTS_INFO;
pub type PCERT_BASIC_CONSTRAINTS_INFO =
*mut Struct__CERT_BASIC_CONSTRAINTS_INFO;
#[repr(C)]
pub struct Struct__CERT_BASIC_CONSTRAINTS2_INFO {
pub fCA: WINBOOL,
pub fPathLenConstraint: WINBOOL,
pub dwPathLenConstraint: DWORD,
}
pub type CERT_BASIC_CONSTRAINTS2_INFO = Struct__CERT_BASIC_CONSTRAINTS2_INFO;
pub type PCERT_BASIC_CONSTRAINTS2_INFO =
*mut Struct__CERT_BASIC_CONSTRAINTS2_INFO;
#[repr(C)]
pub struct Struct__CERT_POLICY_QUALIFIER_INFO {
pub pszPolicyQualifierId: LPSTR,
pub Qualifier: CRYPT_OBJID_BLOB,
}
pub type CERT_POLICY_QUALIFIER_INFO = Struct__CERT_POLICY_QUALIFIER_INFO;
pub type PCERT_POLICY_QUALIFIER_INFO =
*mut Struct__CERT_POLICY_QUALIFIER_INFO;
#[repr(C)]
pub struct Struct__CERT_POLICY_INFO {
pub pszPolicyIdentifier: LPSTR,
pub cPolicyQualifier: DWORD,
pub rgPolicyQualifier: *mut CERT_POLICY_QUALIFIER_INFO,
}
pub type CERT_POLICY_INFO = Struct__CERT_POLICY_INFO;
pub type PCERT_POLICY_INFO = *mut Struct__CERT_POLICY_INFO;
#[repr(C)]
pub struct Struct__CERT_POLICIES_INFO {
pub cPolicyInfo: DWORD,
pub rgPolicyInfo: *mut CERT_POLICY_INFO,
}
pub type CERT_POLICIES_INFO = Struct__CERT_POLICIES_INFO;
pub type PCERT_POLICIES_INFO = *mut Struct__CERT_POLICIES_INFO;
#[repr(C)]
pub struct Struct__CERT_POLICY_QUALIFIER_NOTICE_REFERENCE {
pub pszOrganization: LPSTR,
pub cNoticeNumbers: DWORD,
pub rgNoticeNumbers: *mut ::libc::c_int,
}
pub type CERT_POLICY_QUALIFIER_NOTICE_REFERENCE =
Struct__CERT_POLICY_QUALIFIER_NOTICE_REFERENCE;
pub type PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE =
*mut Struct__CERT_POLICY_QUALIFIER_NOTICE_REFERENCE;
#[repr(C)]
pub struct Struct__CERT_POLICY_QUALIFIER_USER_NOTICE {
pub pNoticeReference: *mut CERT_POLICY_QUALIFIER_NOTICE_REFERENCE,
pub pszDisplayText: LPWSTR,
}
pub type CERT_POLICY_QUALIFIER_USER_NOTICE =
Struct__CERT_POLICY_QUALIFIER_USER_NOTICE;
pub type PCERT_POLICY_QUALIFIER_USER_NOTICE =
*mut Struct__CERT_POLICY_QUALIFIER_USER_NOTICE;
#[repr(C)]
pub struct Struct__CPS_URLS {
pub pszURL: LPWSTR,
pub pAlgorithm: *mut CRYPT_ALGORITHM_IDENTIFIER,
pub pDigest: *mut CRYPT_DATA_BLOB,
}
pub type CPS_URLS = Struct__CPS_URLS;
pub type PCPS_URLS = *mut Struct__CPS_URLS;
#[repr(C)]
pub struct Struct__CERT_POLICY95_QUALIFIER1 {
pub pszPracticesReference: LPWSTR,
pub pszNoticeIdentifier: LPSTR,
pub pszNSINoticeIdentifier: LPSTR,
pub cCPSURLs: DWORD,
pub rgCPSURLs: *mut CPS_URLS,
}
pub type CERT_POLICY95_QUALIFIER1 = Struct__CERT_POLICY95_QUALIFIER1;
pub type PCERT_POLICY95_QUALIFIER1 = *mut Struct__CERT_POLICY95_QUALIFIER1;
#[repr(C)]
pub struct Struct__CERT_POLICY_MAPPING {
pub pszIssuerDomainPolicy: LPSTR,
pub pszSubjectDomainPolicy: LPSTR,
}
pub type CERT_POLICY_MAPPING = Struct__CERT_POLICY_MAPPING;
pub type PCERT_POLICY_MAPPING = *mut Struct__CERT_POLICY_MAPPING;
#[repr(C)]
pub struct Struct__CERT_POLICY_MAPPINGS_INFO {
pub cPolicyMapping: DWORD,
pub rgPolicyMapping: PCERT_POLICY_MAPPING,
}
pub type CERT_POLICY_MAPPINGS_INFO = Struct__CERT_POLICY_MAPPINGS_INFO;
pub type PCERT_POLICY_MAPPINGS_INFO = *mut Struct__CERT_POLICY_MAPPINGS_INFO;
#[repr(C)]
pub struct Struct__CERT_POLICY_CONSTRAINTS_INFO {
pub fRequireExplicitPolicy: WINBOOL,
pub dwRequireExplicitPolicySkipCerts: DWORD,
pub fInhibitPolicyMapping: WINBOOL,
pub dwInhibitPolicyMappingSkipCerts: DWORD,
}
pub type CERT_POLICY_CONSTRAINTS_INFO = Struct__CERT_POLICY_CONSTRAINTS_INFO;
pub type PCERT_POLICY_CONSTRAINTS_INFO =
*mut Struct__CERT_POLICY_CONSTRAINTS_INFO;
#[repr(C)]
pub struct Struct__CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY {
pub pszObjId: LPSTR,
pub cValue: DWORD,
pub rgValue: PCRYPT_DER_BLOB,
}
pub type CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY =
Struct__CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY;
pub type PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY =
*mut Struct__CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY;
#[repr(C)]
pub struct Struct__CRYPT_CONTENT_INFO {
pub pszObjId: LPSTR,
pub Content: CRYPT_DER_BLOB,
}
pub type CRYPT_CONTENT_INFO = Struct__CRYPT_CONTENT_INFO;
pub type PCRYPT_CONTENT_INFO = *mut Struct__CRYPT_CONTENT_INFO;
#[repr(C)]
pub struct Struct__CRYPT_SEQUENCE_OF_ANY {
pub cValue: DWORD,
pub rgValue: PCRYPT_DER_BLOB,
}
pub type CRYPT_SEQUENCE_OF_ANY = Struct__CRYPT_SEQUENCE_OF_ANY;
pub type PCRYPT_SEQUENCE_OF_ANY = *mut Struct__CRYPT_SEQUENCE_OF_ANY;
#[repr(C)]
pub struct Struct__CERT_AUTHORITY_KEY_ID2_INFO {
pub KeyId: CRYPT_DATA_BLOB,
pub AuthorityCertIssuer: CERT_ALT_NAME_INFO,
pub AuthorityCertSerialNumber: CRYPT_INTEGER_BLOB,
}
pub type CERT_AUTHORITY_KEY_ID2_INFO = Struct__CERT_AUTHORITY_KEY_ID2_INFO;
pub type PCERT_AUTHORITY_KEY_ID2_INFO =
*mut Struct__CERT_AUTHORITY_KEY_ID2_INFO;
#[repr(C)]
pub struct Struct__CERT_ACCESS_DESCRIPTION {
pub pszAccessMethod: LPSTR,
pub AccessLocation: CERT_ALT_NAME_ENTRY,
}
pub type CERT_ACCESS_DESCRIPTION = Struct__CERT_ACCESS_DESCRIPTION;
pub type PCERT_ACCESS_DESCRIPTION = *mut Struct__CERT_ACCESS_DESCRIPTION;
#[repr(C)]
pub struct Struct__CERT_AUTHORITY_INFO_ACCESS {
pub cAccDescr: DWORD,
pub rgAccDescr: PCERT_ACCESS_DESCRIPTION,
}
pub type CERT_AUTHORITY_INFO_ACCESS = Struct__CERT_AUTHORITY_INFO_ACCESS;
pub type PCERT_AUTHORITY_INFO_ACCESS =
*mut Struct__CERT_AUTHORITY_INFO_ACCESS;
#[repr(C)]
pub struct Struct__CRL_DIST_POINT_NAME {
pub dwDistPointNameChoice: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed218 {
pub data: [u64, ..2u],
}
impl Union_Unnamed218 {
pub fn FullName(&mut self) -> *mut CERT_ALT_NAME_INFO {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CRL_DIST_POINT_NAME = Struct__CRL_DIST_POINT_NAME;
pub type PCRL_DIST_POINT_NAME = *mut Struct__CRL_DIST_POINT_NAME;
#[repr(C)]
pub struct Struct__CRL_DIST_POINT {
pub DistPointName: CRL_DIST_POINT_NAME,
pub ReasonFlags: CRYPT_BIT_BLOB,
pub CRLIssuer: CERT_ALT_NAME_INFO,
}
pub type CRL_DIST_POINT = Struct__CRL_DIST_POINT;
pub type PCRL_DIST_POINT = *mut Struct__CRL_DIST_POINT;
#[repr(C)]
pub struct Struct__CRL_DIST_POINTS_INFO {
pub cDistPoint: DWORD,
pub rgDistPoint: PCRL_DIST_POINT,
}
pub type CRL_DIST_POINTS_INFO = Struct__CRL_DIST_POINTS_INFO;
pub type PCRL_DIST_POINTS_INFO = *mut Struct__CRL_DIST_POINTS_INFO;
#[repr(C)]
pub struct Struct__CROSS_CERT_DIST_POINTS_INFO {
pub dwSyncDeltaTime: DWORD,
pub cDistPoint: DWORD,
pub rgDistPoint: PCERT_ALT_NAME_INFO,
}
pub type CROSS_CERT_DIST_POINTS_INFO = Struct__CROSS_CERT_DIST_POINTS_INFO;
pub type PCROSS_CERT_DIST_POINTS_INFO =
*mut Struct__CROSS_CERT_DIST_POINTS_INFO;
#[repr(C)]
pub struct Struct__CERT_PAIR {
pub Forward: CERT_BLOB,
pub Reverse: CERT_BLOB,
}
pub type CERT_PAIR = Struct__CERT_PAIR;
pub type PCERT_PAIR = *mut Struct__CERT_PAIR;
#[repr(C)]
pub struct Struct__CRL_ISSUING_DIST_POINT {
pub DistPointName: CRL_DIST_POINT_NAME,
pub fOnlyContainsUserCerts: WINBOOL,
pub fOnlyContainsCACerts: WINBOOL,
pub OnlySomeReasonFlags: CRYPT_BIT_BLOB,
pub fIndirectCRL: WINBOOL,
}
pub type CRL_ISSUING_DIST_POINT = Struct__CRL_ISSUING_DIST_POINT;
pub type PCRL_ISSUING_DIST_POINT = *mut Struct__CRL_ISSUING_DIST_POINT;
#[repr(C)]
pub struct Struct__CERT_GENERAL_SUBTREE {
pub Base: CERT_ALT_NAME_ENTRY,
pub dwMinimum: DWORD,
pub fMaximum: WINBOOL,
pub dwMaximum: DWORD,
}
pub type CERT_GENERAL_SUBTREE = Struct__CERT_GENERAL_SUBTREE;
pub type PCERT_GENERAL_SUBTREE = *mut Struct__CERT_GENERAL_SUBTREE;
#[repr(C)]
pub struct Struct__CERT_NAME_CONSTRAINTS_INFO {
pub cPermittedSubtree: DWORD,
pub rgPermittedSubtree: PCERT_GENERAL_SUBTREE,
pub cExcludedSubtree: DWORD,
pub rgExcludedSubtree: PCERT_GENERAL_SUBTREE,
}
pub type CERT_NAME_CONSTRAINTS_INFO = Struct__CERT_NAME_CONSTRAINTS_INFO;
pub type PCERT_NAME_CONSTRAINTS_INFO =
*mut Struct__CERT_NAME_CONSTRAINTS_INFO;
#[repr(C)]
pub struct Struct__CERT_DSS_PARAMETERS {
pub p: CRYPT_UINT_BLOB,
pub q: CRYPT_UINT_BLOB,
pub g: CRYPT_UINT_BLOB,
}
pub type CERT_DSS_PARAMETERS = Struct__CERT_DSS_PARAMETERS;
pub type PCERT_DSS_PARAMETERS = *mut Struct__CERT_DSS_PARAMETERS;
#[repr(C)]
pub struct Struct__CERT_DH_PARAMETERS {
pub p: CRYPT_UINT_BLOB,
pub g: CRYPT_UINT_BLOB,
}
pub type CERT_DH_PARAMETERS = Struct__CERT_DH_PARAMETERS;
pub type PCERT_DH_PARAMETERS = *mut Struct__CERT_DH_PARAMETERS;
#[repr(C)]
pub struct Struct__CERT_X942_DH_VALIDATION_PARAMS {
pub seed: CRYPT_BIT_BLOB,
pub pgenCounter: DWORD,
}
pub type CERT_X942_DH_VALIDATION_PARAMS =
Struct__CERT_X942_DH_VALIDATION_PARAMS;
pub type PCERT_X942_DH_VALIDATION_PARAMS =
*mut Struct__CERT_X942_DH_VALIDATION_PARAMS;
#[repr(C)]
pub struct Struct__CERT_X942_DH_PARAMETERS {
pub p: CRYPT_UINT_BLOB,
pub g: CRYPT_UINT_BLOB,
pub q: CRYPT_UINT_BLOB,
pub j: CRYPT_UINT_BLOB,
pub pValidationParams: PCERT_X942_DH_VALIDATION_PARAMS,
}
pub type CERT_X942_DH_PARAMETERS = Struct__CERT_X942_DH_PARAMETERS;
pub type PCERT_X942_DH_PARAMETERS = *mut Struct__CERT_X942_DH_PARAMETERS;
#[repr(C)]
pub struct Struct__CRYPT_X942_OTHER_INFO {
pub pszContentEncryptionObjId: LPSTR,
pub rgbCounter: [BYTE, ..4u],
pub rgbKeyLength: [BYTE, ..4u],
pub PubInfo: CRYPT_DATA_BLOB,
}
pub type CRYPT_X942_OTHER_INFO = Struct__CRYPT_X942_OTHER_INFO;
pub type PCRYPT_X942_OTHER_INFO = *mut Struct__CRYPT_X942_OTHER_INFO;
#[repr(C)]
pub struct Struct__CRYPT_RC2_CBC_PARAMETERS {
pub dwVersion: DWORD,
pub fIV: WINBOOL,
pub rgbIV: [BYTE, ..8u],
}
pub type CRYPT_RC2_CBC_PARAMETERS = Struct__CRYPT_RC2_CBC_PARAMETERS;
pub type PCRYPT_RC2_CBC_PARAMETERS = *mut Struct__CRYPT_RC2_CBC_PARAMETERS;
#[repr(C)]
pub struct Struct__CRYPT_SMIME_CAPABILITY {
pub pszObjId: LPSTR,
pub Parameters: CRYPT_OBJID_BLOB,
}
pub type CRYPT_SMIME_CAPABILITY = Struct__CRYPT_SMIME_CAPABILITY;
pub type PCRYPT_SMIME_CAPABILITY = *mut Struct__CRYPT_SMIME_CAPABILITY;
#[repr(C)]
pub struct Struct__CRYPT_SMIME_CAPABILITIES {
pub cCapability: DWORD,
pub rgCapability: PCRYPT_SMIME_CAPABILITY,
}
pub type CRYPT_SMIME_CAPABILITIES = Struct__CRYPT_SMIME_CAPABILITIES;
pub type PCRYPT_SMIME_CAPABILITIES = *mut Struct__CRYPT_SMIME_CAPABILITIES;
#[repr(C)]
pub struct Struct__CMC_TAGGED_ATTRIBUTE {
pub dwBodyPartID: DWORD,
pub Attribute: CRYPT_ATTRIBUTE,
}
pub type CMC_TAGGED_ATTRIBUTE = Struct__CMC_TAGGED_ATTRIBUTE;
pub type PCMC_TAGGED_ATTRIBUTE = *mut Struct__CMC_TAGGED_ATTRIBUTE;
#[repr(C)]
pub struct Struct__CMC_TAGGED_CERT_REQUEST {
pub dwBodyPartID: DWORD,
pub SignedCertRequest: CRYPT_DER_BLOB,
}
pub type CMC_TAGGED_CERT_REQUEST = Struct__CMC_TAGGED_CERT_REQUEST;
pub type PCMC_TAGGED_CERT_REQUEST = *mut Struct__CMC_TAGGED_CERT_REQUEST;
#[repr(C)]
pub struct Struct__CMC_TAGGED_REQUEST {
pub dwTaggedRequestChoice: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed219 {
pub data: [u64, ..1u],
}
impl Union_Unnamed219 {
pub fn pTaggedCertRequest(&mut self) -> *mut PCMC_TAGGED_CERT_REQUEST {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CMC_TAGGED_REQUEST = Struct__CMC_TAGGED_REQUEST;
pub type PCMC_TAGGED_REQUEST = *mut Struct__CMC_TAGGED_REQUEST;
#[repr(C)]
pub struct Struct__CMC_TAGGED_CONTENT_INFO {
pub dwBodyPartID: DWORD,
pub EncodedContentInfo: CRYPT_DER_BLOB,
}
pub type CMC_TAGGED_CONTENT_INFO = Struct__CMC_TAGGED_CONTENT_INFO;
pub type PCMC_TAGGED_CONTENT_INFO = *mut Struct__CMC_TAGGED_CONTENT_INFO;
#[repr(C)]
pub struct Struct__CMC_TAGGED_OTHER_MSG {
pub dwBodyPartID: DWORD,
pub pszObjId: LPSTR,
pub Value: CRYPT_OBJID_BLOB,
}
pub type CMC_TAGGED_OTHER_MSG = Struct__CMC_TAGGED_OTHER_MSG;
pub type PCMC_TAGGED_OTHER_MSG = *mut Struct__CMC_TAGGED_OTHER_MSG;
#[repr(C)]
pub struct Struct__CMC_DATA_INFO {
pub cTaggedAttribute: DWORD,
pub rgTaggedAttribute: PCMC_TAGGED_ATTRIBUTE,
pub cTaggedRequest: DWORD,
pub rgTaggedRequest: PCMC_TAGGED_REQUEST,
pub cTaggedContentInfo: DWORD,
pub rgTaggedContentInfo: PCMC_TAGGED_CONTENT_INFO,
pub cTaggedOtherMsg: DWORD,
pub rgTaggedOtherMsg: PCMC_TAGGED_OTHER_MSG,
}
pub type CMC_DATA_INFO = Struct__CMC_DATA_INFO;
pub type PCMC_DATA_INFO = *mut Struct__CMC_DATA_INFO;
#[repr(C)]
pub struct Struct__CMC_RESPONSE_INFO {
pub cTaggedAttribute: DWORD,
pub rgTaggedAttribute: PCMC_TAGGED_ATTRIBUTE,
pub cTaggedContentInfo: DWORD,
pub rgTaggedContentInfo: PCMC_TAGGED_CONTENT_INFO,
pub cTaggedOtherMsg: DWORD,
pub rgTaggedOtherMsg: PCMC_TAGGED_OTHER_MSG,
}
pub type CMC_RESPONSE_INFO = Struct__CMC_RESPONSE_INFO;
pub type PCMC_RESPONSE_INFO = *mut Struct__CMC_RESPONSE_INFO;
#[repr(C)]
pub struct Struct__CMC_PEND_INFO {
pub PendToken: CRYPT_DATA_BLOB,
pub PendTime: FILETIME,
}
pub type CMC_PEND_INFO = Struct__CMC_PEND_INFO;
pub type PCMC_PEND_INFO = *mut Struct__CMC_PEND_INFO;
#[repr(C)]
pub struct Struct__CMC_STATUS_INFO {
pub dwStatus: DWORD,
pub cBodyList: DWORD,
pub rgdwBodyList: *mut DWORD,
pub pwszStatusString: LPWSTR,
pub dwOtherInfoChoice: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed220 {
pub data: [u64, ..1u],
}
impl Union_Unnamed220 {
pub fn dwFailInfo(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn pPendInfo(&mut self) -> *mut PCMC_PEND_INFO {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CMC_STATUS_INFO = Struct__CMC_STATUS_INFO;
pub type PCMC_STATUS_INFO = *mut Struct__CMC_STATUS_INFO;
#[repr(C)]
pub struct Struct__CMC_ADD_EXTENSIONS_INFO {
pub dwCmcDataReference: DWORD,
pub cCertReference: DWORD,
pub rgdwCertReference: *mut DWORD,
pub cExtension: DWORD,
pub rgExtension: PCERT_EXTENSION,
}
pub type CMC_ADD_EXTENSIONS_INFO = Struct__CMC_ADD_EXTENSIONS_INFO;
pub type PCMC_ADD_EXTENSIONS_INFO = *mut Struct__CMC_ADD_EXTENSIONS_INFO;
#[repr(C)]
pub struct Struct__CMC_ADD_ATTRIBUTES_INFO {
pub dwCmcDataReference: DWORD,
pub cCertReference: DWORD,
pub rgdwCertReference: *mut DWORD,
pub cAttribute: DWORD,
pub rgAttribute: PCRYPT_ATTRIBUTE,
}
pub type CMC_ADD_ATTRIBUTES_INFO = Struct__CMC_ADD_ATTRIBUTES_INFO;
pub type PCMC_ADD_ATTRIBUTES_INFO = *mut Struct__CMC_ADD_ATTRIBUTES_INFO;
#[repr(C)]
pub struct Struct__CERT_TEMPLATE_EXT {
pub pszObjId: LPSTR,
pub dwMajorVersion: DWORD,
pub fMinorVersion: WINBOOL,
pub dwMinorVersion: DWORD,
}
pub type CERT_TEMPLATE_EXT = Struct__CERT_TEMPLATE_EXT;
pub type PCERT_TEMPLATE_EXT = *mut Struct__CERT_TEMPLATE_EXT;
pub type HCRYPTOIDFUNCSET = *mut ::libc::c_void;
pub type HCRYPTOIDFUNCADDR = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__CRYPT_OID_FUNC_ENTRY {
pub pszOID: LPCSTR,
pub pvFuncAddr: *mut ::libc::c_void,
}
pub type CRYPT_OID_FUNC_ENTRY = Struct__CRYPT_OID_FUNC_ENTRY;
pub type PCRYPT_OID_FUNC_ENTRY = *mut Struct__CRYPT_OID_FUNC_ENTRY;
pub type PFN_CRYPT_ENUM_OID_FUNC =
::std::option::Option<extern "C" fn
(arg1: DWORD, arg2: LPCSTR, arg3: LPCSTR,
arg4: DWORD, arg5: *const DWORD,
arg6: *const LPCWSTR, arg7: *const *const BYTE,
arg8: *const DWORD, arg9: *mut ::libc::c_void)
-> WINBOOL>;
#[repr(C)]
pub struct Struct__CRYPT_OID_INFO {
pub cbSize: DWORD,
pub pszOID: LPCSTR,
pub pwszName: LPCWSTR,
pub dwGroupId: DWORD,
pub ExtraInfo: CRYPT_DATA_BLOB,
}
#[repr(C)]
pub struct Union_Unnamed221 {
pub data: [u32, ..1u],
}
impl Union_Unnamed221 {
pub fn dwValue(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn Algid(&mut self) -> *mut ALG_ID {
unsafe { ::std::mem::transmute(self) }
}
pub fn dwLength(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CRYPT_OID_INFO = Struct__CRYPT_OID_INFO;
pub type PCRYPT_OID_INFO = *mut Struct__CRYPT_OID_INFO;
pub type CCRYPT_OID_INFO = CRYPT_OID_INFO;
pub type PCCRYPT_OID_INFO = *const CRYPT_OID_INFO;
pub type PFN_CRYPT_ENUM_OID_INFO =
::std::option::Option<extern "C" fn
(arg1: PCCRYPT_OID_INFO,
arg2: *mut ::libc::c_void) -> WINBOOL>;
pub type HCRYPTMSG = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__CERT_ISSUER_SERIAL_NUMBER {
pub Issuer: CERT_NAME_BLOB,
pub SerialNumber: CRYPT_INTEGER_BLOB,
}
pub type CERT_ISSUER_SERIAL_NUMBER = Struct__CERT_ISSUER_SERIAL_NUMBER;
pub type PCERT_ISSUER_SERIAL_NUMBER = *mut Struct__CERT_ISSUER_SERIAL_NUMBER;
#[repr(C)]
pub struct Struct__CERT_ID {
pub dwIdChoice: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed222 {
pub data: [u64, ..4u],
}
impl Union_Unnamed222 {
pub fn IssuerSerialNumber(&mut self) -> *mut CERT_ISSUER_SERIAL_NUMBER {
unsafe { ::std::mem::transmute(self) }
}
pub fn KeyId(&mut self) -> *mut CRYPT_HASH_BLOB {
unsafe { ::std::mem::transmute(self) }
}
pub fn HashId(&mut self) -> *mut CRYPT_HASH_BLOB {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CERT_ID = Struct__CERT_ID;
pub type PCERT_ID = *mut Struct__CERT_ID;
#[repr(C)]
pub struct Struct__CMSG_SIGNER_ENCODE_INFO {
pub cbSize: DWORD,
pub pCertInfo: PCERT_INFO,
pub hCryptProv: HCRYPTPROV,
pub dwKeySpec: DWORD,
pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvHashAuxInfo: *mut ::libc::c_void,
pub cAuthAttr: DWORD,
pub rgAuthAttr: PCRYPT_ATTRIBUTE,
pub cUnauthAttr: DWORD,
pub rgUnauthAttr: PCRYPT_ATTRIBUTE,
}
pub type CMSG_SIGNER_ENCODE_INFO = Struct__CMSG_SIGNER_ENCODE_INFO;
pub type PCMSG_SIGNER_ENCODE_INFO = *mut Struct__CMSG_SIGNER_ENCODE_INFO;
#[repr(C)]
pub struct Struct__CMSG_SIGNED_ENCODE_INFO {
pub cbSize: DWORD,
pub cSigners: DWORD,
pub rgSigners: PCMSG_SIGNER_ENCODE_INFO,
pub cCertEncoded: DWORD,
pub rgCertEncoded: PCERT_BLOB,
pub cCrlEncoded: DWORD,
pub rgCrlEncoded: PCRL_BLOB,
}
pub type CMSG_SIGNED_ENCODE_INFO = Struct__CMSG_SIGNED_ENCODE_INFO;
pub type PCMSG_SIGNED_ENCODE_INFO = *mut Struct__CMSG_SIGNED_ENCODE_INFO;
pub type CMSG_RECIPIENT_ENCODE_INFO = Struct__CMSG_RECIPIENT_ENCODE_INFO;
pub type PCMSG_RECIPIENT_ENCODE_INFO =
*mut Struct__CMSG_RECIPIENT_ENCODE_INFO;
#[repr(C)]
pub struct Struct__CMSG_ENVELOPED_ENCODE_INFO {
pub cbSize: DWORD,
pub hCryptProv: HCRYPTPROV,
pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvEncryptionAuxInfo: *mut ::libc::c_void,
pub cRecipients: DWORD,
pub rgpRecipients: *mut PCERT_INFO,
}
pub type CMSG_ENVELOPED_ENCODE_INFO = Struct__CMSG_ENVELOPED_ENCODE_INFO;
pub type PCMSG_ENVELOPED_ENCODE_INFO =
*mut Struct__CMSG_ENVELOPED_ENCODE_INFO;
#[repr(C)]
pub struct Struct__CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
pub cbSize: DWORD,
pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvKeyEncryptionAuxInfo: *mut ::libc::c_void,
pub hCryptProv: HCRYPTPROV,
pub RecipientPublicKey: CRYPT_BIT_BLOB,
pub RecipientId: CERT_ID,
}
pub type CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO =
Struct__CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO;
pub type PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO =
*mut Struct__CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO;
#[repr(C)]
pub struct Struct__CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO {
pub cbSize: DWORD,
pub RecipientPublicKey: CRYPT_BIT_BLOB,
pub RecipientId: CERT_ID,
pub Date: FILETIME,
pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE,
}
pub type CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO =
Struct__CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO;
pub type PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO =
*mut Struct__CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO;
#[repr(C)]
pub struct Struct__CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
pub cbSize: DWORD,
pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvKeyEncryptionAuxInfo: *mut ::libc::c_void,
pub KeyWrapAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvKeyWrapAuxInfo: *mut ::libc::c_void,
pub hCryptProv: HCRYPTPROV,
pub dwKeySpec: DWORD,
pub dwKeyChoice: DWORD,
pub UserKeyingMaterial: CRYPT_DATA_BLOB,
pub cRecipientEncryptedKeys: DWORD,
pub rgpRecipientEncryptedKeys: *mut PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO,
}
#[repr(C)]
pub struct Union_Unnamed223 {
pub data: [u64, ..1u],
}
impl Union_Unnamed223 {
pub fn pEphemeralAlgorithm(&mut self) ->
*mut PCRYPT_ALGORITHM_IDENTIFIER {
unsafe { ::std::mem::transmute(self) }
}
pub fn pSenderId(&mut self) -> *mut PCERT_ID {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO =
Struct__CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;
pub type PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO =
*mut Struct__CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;
#[repr(C)]
pub struct Struct__CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO {
pub cbSize: DWORD,
pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvKeyEncryptionAuxInfo: *mut ::libc::c_void,
pub hCryptProv: HCRYPTPROV,
pub dwKeyChoice: DWORD,
pub KeyId: CRYPT_DATA_BLOB,
pub Date: FILETIME,
pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE,
}
#[repr(C)]
pub struct Union_Unnamed224 {
pub data: [u64, ..1u],
}
impl Union_Unnamed224 {
pub fn hKeyEncryptionKey(&mut self) -> *mut HCRYPTKEY {
unsafe { ::std::mem::transmute(self) }
}
pub fn pvKeyEncryptionKey(&mut self) -> *mut *mut ::libc::c_void {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO =
Struct__CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO;
pub type PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO =
*mut Struct__CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO;
#[repr(C)]
pub struct Struct__CMSG_RECIPIENT_ENCODE_INFO {
pub dwRecipientChoice: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed225 {
pub data: [u64, ..1u],
}
impl Union_Unnamed225 {
pub fn pKeyTrans(&mut self) ->
*mut PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn pKeyAgree(&mut self) ->
*mut PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn pMailList(&mut self) ->
*mut PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct__CMSG_RC2_AUX_INFO {
pub cbSize: DWORD,
pub dwBitLen: DWORD,
}
pub type CMSG_RC2_AUX_INFO = Struct__CMSG_RC2_AUX_INFO;
pub type PCMSG_RC2_AUX_INFO = *mut Struct__CMSG_RC2_AUX_INFO;
#[repr(C)]
pub struct Struct__CMSG_SP3_COMPATIBLE_AUX_INFO {
pub cbSize: DWORD,
pub dwFlags: DWORD,
}
pub type CMSG_SP3_COMPATIBLE_AUX_INFO = Struct__CMSG_SP3_COMPATIBLE_AUX_INFO;
pub type PCMSG_SP3_COMPATIBLE_AUX_INFO =
*mut Struct__CMSG_SP3_COMPATIBLE_AUX_INFO;
#[repr(C)]
pub struct Struct__CMSG_RC4_AUX_INFO {
pub cbSize: DWORD,
pub dwBitLen: DWORD,
}
pub type CMSG_RC4_AUX_INFO = Struct__CMSG_RC4_AUX_INFO;
pub type PCMSG_RC4_AUX_INFO = *mut Struct__CMSG_RC4_AUX_INFO;
#[repr(C)]
pub struct Struct__CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO {
pub cbSize: DWORD,
pub SignedInfo: CMSG_SIGNED_ENCODE_INFO,
pub EnvelopedInfo: CMSG_ENVELOPED_ENCODE_INFO,
}
pub type CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO =
Struct__CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO;
pub type PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO =
*mut Struct__CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO;
#[repr(C)]
pub struct Struct__CMSG_HASHED_ENCODE_INFO {
pub cbSize: DWORD,
pub hCryptProv: HCRYPTPROV,
pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvHashAuxInfo: *mut ::libc::c_void,
}
pub type CMSG_HASHED_ENCODE_INFO = Struct__CMSG_HASHED_ENCODE_INFO;
pub type PCMSG_HASHED_ENCODE_INFO = *mut Struct__CMSG_HASHED_ENCODE_INFO;
#[repr(C)]
pub struct Struct__CMSG_ENCRYPTED_ENCODE_INFO {
pub cbSize: DWORD,
pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvEncryptionAuxInfo: *mut ::libc::c_void,
}
pub type CMSG_ENCRYPTED_ENCODE_INFO = Struct__CMSG_ENCRYPTED_ENCODE_INFO;
pub type PCMSG_ENCRYPTED_ENCODE_INFO =
*mut Struct__CMSG_ENCRYPTED_ENCODE_INFO;
pub type PFN_CMSG_STREAM_OUTPUT =
::std::option::Option<extern "C" fn
(arg1: *const ::libc::c_void, arg2: *mut BYTE,
arg3: DWORD, arg4: WINBOOL) -> WINBOOL>;
#[repr(C)]
pub struct Struct__CMSG_STREAM_INFO {
pub cbContent: DWORD,
pub pfnStreamOutput: PFN_CMSG_STREAM_OUTPUT,
pub pvArg: *mut ::libc::c_void,
}
pub type CMSG_STREAM_INFO = Struct__CMSG_STREAM_INFO;
pub type PCMSG_STREAM_INFO = *mut Struct__CMSG_STREAM_INFO;
#[repr(C)]
pub struct Struct__CMSG_SIGNER_INFO {
pub dwVersion: DWORD,
pub Issuer: CERT_NAME_BLOB,
pub SerialNumber: CRYPT_INTEGER_BLOB,
pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub EncryptedHash: CRYPT_DATA_BLOB,
pub AuthAttrs: CRYPT_ATTRIBUTES,
pub UnauthAttrs: CRYPT_ATTRIBUTES,
}
pub type CMSG_SIGNER_INFO = Struct__CMSG_SIGNER_INFO;
pub type PCMSG_SIGNER_INFO = *mut Struct__CMSG_SIGNER_INFO;
#[repr(C)]
pub struct Struct__CMSG_CMS_SIGNER_INFO {
pub dwVersion: DWORD,
pub SignerId: CERT_ID,
pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub EncryptedHash: CRYPT_DATA_BLOB,
pub AuthAttrs: CRYPT_ATTRIBUTES,
pub UnauthAttrs: CRYPT_ATTRIBUTES,
}
pub type CMSG_CMS_SIGNER_INFO = Struct__CMSG_CMS_SIGNER_INFO;
pub type PCMSG_CMS_SIGNER_INFO = *mut Struct__CMSG_CMS_SIGNER_INFO;
pub type CMSG_ATTR = CRYPT_ATTRIBUTES;
pub type PCMSG_ATTR = *mut CRYPT_ATTRIBUTES;
#[repr(C)]
pub struct Struct__CMSG_KEY_TRANS_RECIPIENT_INFO {
pub dwVersion: DWORD,
pub RecipientId: CERT_ID,
pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub EncryptedKey: CRYPT_DATA_BLOB,
}
pub type CMSG_KEY_TRANS_RECIPIENT_INFO =
Struct__CMSG_KEY_TRANS_RECIPIENT_INFO;
pub type PCMSG_KEY_TRANS_RECIPIENT_INFO =
*mut Struct__CMSG_KEY_TRANS_RECIPIENT_INFO;
#[repr(C)]
pub struct Struct__CMSG_RECIPIENT_ENCRYPTED_KEY_INFO {
pub RecipientId: CERT_ID,
pub EncryptedKey: CRYPT_DATA_BLOB,
pub Date: FILETIME,
pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE,
}
pub type CMSG_RECIPIENT_ENCRYPTED_KEY_INFO =
Struct__CMSG_RECIPIENT_ENCRYPTED_KEY_INFO;
pub type PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO =
*mut Struct__CMSG_RECIPIENT_ENCRYPTED_KEY_INFO;
#[repr(C)]
pub struct Struct__CMSG_KEY_AGREE_RECIPIENT_INFO {
pub dwVersion: DWORD,
pub dwOriginatorChoice: DWORD,
pub UserKeyingMaterial: CRYPT_DATA_BLOB,
pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub cRecipientEncryptedKeys: DWORD,
pub rgpRecipientEncryptedKeys: *mut PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO,
}
#[repr(C)]
pub struct Union_Unnamed226 {
pub data: [u64, ..6u],
}
impl Union_Unnamed226 {
pub fn OriginatorCertId(&mut self) -> *mut CERT_ID {
unsafe { ::std::mem::transmute(self) }
}
pub fn OriginatorPublicKeyInfo(&mut self) -> *mut CERT_PUBLIC_KEY_INFO {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CMSG_KEY_AGREE_RECIPIENT_INFO =
Struct__CMSG_KEY_AGREE_RECIPIENT_INFO;
pub type PCMSG_KEY_AGREE_RECIPIENT_INFO =
*mut Struct__CMSG_KEY_AGREE_RECIPIENT_INFO;
#[repr(C)]
pub struct Struct__CMSG_MAIL_LIST_RECIPIENT_INFO {
pub dwVersion: DWORD,
pub KeyId: CRYPT_DATA_BLOB,
pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub EncryptedKey: CRYPT_DATA_BLOB,
pub Date: FILETIME,
pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE,
}
pub type CMSG_MAIL_LIST_RECIPIENT_INFO =
Struct__CMSG_MAIL_LIST_RECIPIENT_INFO;
pub type PCMSG_MAIL_LIST_RECIPIENT_INFO =
*mut Struct__CMSG_MAIL_LIST_RECIPIENT_INFO;
#[repr(C)]
pub struct Struct__CMSG_CMS_RECIPIENT_INFO {
pub dwRecipientChoice: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed227 {
pub data: [u64, ..1u],
}
impl Union_Unnamed227 {
pub fn pKeyTrans(&mut self) -> *mut PCMSG_KEY_TRANS_RECIPIENT_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn pKeyAgree(&mut self) -> *mut PCMSG_KEY_AGREE_RECIPIENT_INFO {
unsafe { ::std::mem::transmute(self) }
}
pub fn pMailList(&mut self) -> *mut PCMSG_MAIL_LIST_RECIPIENT_INFO {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CMSG_CMS_RECIPIENT_INFO = Struct__CMSG_CMS_RECIPIENT_INFO;
pub type PCMSG_CMS_RECIPIENT_INFO = *mut Struct__CMSG_CMS_RECIPIENT_INFO;
#[repr(C)]
pub struct Struct__CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA {
pub cbSize: DWORD,
pub hCryptProv: HCRYPTPROV,
pub dwSignerIndex: DWORD,
pub dwSignerType: DWORD,
pub pvSigner: *mut ::libc::c_void,
}
pub type CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA =
Struct__CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA;
pub type PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA =
*mut Struct__CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA;
#[repr(C)]
pub struct Struct__CMSG_CTRL_DECRYPT_PARA {
pub cbSize: DWORD,
pub hCryptProv: HCRYPTPROV,
pub dwKeySpec: DWORD,
pub dwRecipientIndex: DWORD,
}
pub type CMSG_CTRL_DECRYPT_PARA = Struct__CMSG_CTRL_DECRYPT_PARA;
pub type PCMSG_CTRL_DECRYPT_PARA = *mut Struct__CMSG_CTRL_DECRYPT_PARA;
#[repr(C)]
pub struct Struct__CMSG_CTRL_KEY_TRANS_DECRYPT_PARA {
pub cbSize: DWORD,
pub hCryptProv: HCRYPTPROV,
pub dwKeySpec: DWORD,
pub pKeyTrans: PCMSG_KEY_TRANS_RECIPIENT_INFO,
pub dwRecipientIndex: DWORD,
}
pub type CMSG_CTRL_KEY_TRANS_DECRYPT_PARA =
Struct__CMSG_CTRL_KEY_TRANS_DECRYPT_PARA;
pub type PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA =
*mut Struct__CMSG_CTRL_KEY_TRANS_DECRYPT_PARA;
#[repr(C)]
pub struct Struct__CMSG_CTRL_KEY_AGREE_DECRYPT_PARA {
pub cbSize: DWORD,
pub hCryptProv: HCRYPTPROV,
pub dwKeySpec: DWORD,
pub pKeyAgree: PCMSG_KEY_AGREE_RECIPIENT_INFO,
pub dwRecipientIndex: DWORD,
pub dwRecipientEncryptedKeyIndex: DWORD,
pub OriginatorPublicKey: CRYPT_BIT_BLOB,
}
pub type CMSG_CTRL_KEY_AGREE_DECRYPT_PARA =
Struct__CMSG_CTRL_KEY_AGREE_DECRYPT_PARA;
pub type PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA =
*mut Struct__CMSG_CTRL_KEY_AGREE_DECRYPT_PARA;
#[repr(C)]
pub struct Struct__CMSG_CTRL_MAIL_LIST_DECRYPT_PARA {
pub cbSize: DWORD,
pub hCryptProv: HCRYPTPROV,
pub pMailList: PCMSG_MAIL_LIST_RECIPIENT_INFO,
pub dwRecipientIndex: DWORD,
pub dwKeyChoice: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed228 {
pub data: [u64, ..1u],
}
impl Union_Unnamed228 {
pub fn hKeyEncryptionKey(&mut self) -> *mut HCRYPTKEY {
unsafe { ::std::mem::transmute(self) }
}
pub fn pvKeyEncryptionKey(&mut self) -> *mut *mut ::libc::c_void {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CMSG_CTRL_MAIL_LIST_DECRYPT_PARA =
Struct__CMSG_CTRL_MAIL_LIST_DECRYPT_PARA;
pub type PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA =
*mut Struct__CMSG_CTRL_MAIL_LIST_DECRYPT_PARA;
#[repr(C)]
pub struct Struct__CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA {
pub cbSize: DWORD,
pub dwSignerIndex: DWORD,
pub blob: CRYPT_DATA_BLOB,
}
pub type CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA =
Struct__CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA;
pub type PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA =
*mut Struct__CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA;
#[repr(C)]
pub struct Struct__CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA {
pub cbSize: DWORD,
pub dwSignerIndex: DWORD,
pub dwUnauthAttrIndex: DWORD,
}
pub type CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA =
Struct__CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA;
pub type PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA =
*mut Struct__CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA;
pub type PFN_CMSG_ALLOC =
::std::option::Option<extern "C" fn(arg1: size_t) -> *mut ::libc::c_void>;
pub type PFN_CMSG_FREE =
::std::option::Option<extern "C" fn(arg1: *mut ::libc::c_void)>;
pub type PFN_CMSG_GEN_ENCRYPT_KEY =
::std::option::Option<extern "C" fn
(arg1: *mut HCRYPTPROV,
arg2: PCRYPT_ALGORITHM_IDENTIFIER, arg3: PVOID,
arg4: PCERT_PUBLIC_KEY_INFO,
arg5: PFN_CMSG_ALLOC, arg6: *mut HCRYPTKEY,
arg7: *mut PBYTE, arg8: PDWORD) -> WINBOOL>;
pub type PFN_CMSG_EXPORT_ENCRYPT_KEY =
::std::option::Option<extern "C" fn
(arg1: HCRYPTPROV, arg2: HCRYPTKEY,
arg3: PCERT_PUBLIC_KEY_INFO, arg4: PBYTE,
arg5: PDWORD) -> WINBOOL>;
pub type PFN_CMSG_IMPORT_ENCRYPT_KEY =
::std::option::Option<extern "C" fn
(arg1: HCRYPTPROV, arg2: DWORD,
arg3: PCRYPT_ALGORITHM_IDENTIFIER,
arg4: PCRYPT_ALGORITHM_IDENTIFIER, arg5: PBYTE,
arg6: DWORD, arg7: *mut HCRYPTKEY) -> WINBOOL>;
#[repr(C)]
pub struct Struct__CMSG_CONTENT_ENCRYPT_INFO {
pub cbSize: DWORD,
pub hCryptProv: HCRYPTPROV,
pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvEncryptionAuxInfo: *mut ::libc::c_void,
pub cRecipients: DWORD,
pub rgCmsRecipients: PCMSG_RECIPIENT_ENCODE_INFO,
pub pfnAlloc: PFN_CMSG_ALLOC,
pub pfnFree: PFN_CMSG_FREE,
pub dwEncryptFlags: DWORD,
pub hContentEncryptKey: HCRYPTKEY,
pub dwFlags: DWORD,
}
pub type CMSG_CONTENT_ENCRYPT_INFO = Struct__CMSG_CONTENT_ENCRYPT_INFO;
pub type PCMSG_CONTENT_ENCRYPT_INFO = *mut Struct__CMSG_CONTENT_ENCRYPT_INFO;
pub type PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY =
::std::option::Option<extern "C" fn
(arg1: PCMSG_CONTENT_ENCRYPT_INFO, arg2: DWORD,
arg3: *mut ::libc::c_void) -> WINBOOL>;
#[repr(C)]
pub struct Struct__CMSG_KEY_TRANS_ENCRYPT_INFO {
pub cbSize: DWORD,
pub dwRecipientIndex: DWORD,
pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub EncryptedKey: CRYPT_DATA_BLOB,
pub dwFlags: DWORD,
}
pub type CMSG_KEY_TRANS_ENCRYPT_INFO = Struct__CMSG_KEY_TRANS_ENCRYPT_INFO;
pub type PCMSG_KEY_TRANS_ENCRYPT_INFO =
*mut Struct__CMSG_KEY_TRANS_ENCRYPT_INFO;
pub type PFN_CMSG_EXPORT_KEY_TRANS =
::std::option::Option<extern "C" fn
(arg1: PCMSG_CONTENT_ENCRYPT_INFO,
arg2: PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO,
arg3: PCMSG_KEY_TRANS_ENCRYPT_INFO,
arg4: DWORD, arg5: *mut ::libc::c_void)
-> WINBOOL>;
#[repr(C)]
pub struct Struct__CMSG_KEY_AGREE_KEY_ENCRYPT_INFO {
pub cbSize: DWORD,
pub EncryptedKey: CRYPT_DATA_BLOB,
}
pub type CMSG_KEY_AGREE_KEY_ENCRYPT_INFO =
Struct__CMSG_KEY_AGREE_KEY_ENCRYPT_INFO;
pub type PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO =
*mut Struct__CMSG_KEY_AGREE_KEY_ENCRYPT_INFO;
#[repr(C)]
pub struct Struct__CMSG_KEY_AGREE_ENCRYPT_INFO {
pub cbSize: DWORD,
pub dwRecipientIndex: DWORD,
pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub UserKeyingMaterial: CRYPT_DATA_BLOB,
pub dwOriginatorChoice: DWORD,
pub cKeyAgreeKeyEncryptInfo: DWORD,
pub rgpKeyAgreeKeyEncryptInfo: *mut PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO,
pub dwFlags: DWORD,
}
#[repr(C)]
pub struct Union_Unnamed229 {
pub data: [u64, ..6u],
}
impl Union_Unnamed229 {
pub fn OriginatorCertId(&mut self) -> *mut CERT_ID {
unsafe { ::std::mem::transmute(self) }
}
pub fn OriginatorPublicKeyInfo(&mut self) -> *mut CERT_PUBLIC_KEY_INFO {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CMSG_KEY_AGREE_ENCRYPT_INFO = Struct__CMSG_KEY_AGREE_ENCRYPT_INFO;
pub type PCMSG_KEY_AGREE_ENCRYPT_INFO =
*mut Struct__CMSG_KEY_AGREE_ENCRYPT_INFO;
pub type PFN_CMSG_EXPORT_KEY_AGREE =
::std::option::Option<extern "C" fn
(arg1: PCMSG_CONTENT_ENCRYPT_INFO,
arg2: PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO,
arg3: PCMSG_KEY_AGREE_ENCRYPT_INFO,
arg4: DWORD, arg5: *mut ::libc::c_void)
-> WINBOOL>;
#[repr(C)]
pub struct Struct__CMSG_MAIL_LIST_ENCRYPT_INFO {
pub cbSize: DWORD,
pub dwRecipientIndex: DWORD,
pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub EncryptedKey: CRYPT_DATA_BLOB,
pub dwFlags: DWORD,
}
pub type CMSG_MAIL_LIST_ENCRYPT_INFO = Struct__CMSG_MAIL_LIST_ENCRYPT_INFO;
pub type PCMSG_MAIL_LIST_ENCRYPT_INFO =
*mut Struct__CMSG_MAIL_LIST_ENCRYPT_INFO;
pub type PFN_CMSG_EXPORT_MAIL_LIST =
::std::option::Option<extern "C" fn
(arg1: PCMSG_CONTENT_ENCRYPT_INFO,
arg2: PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO,
arg3: PCMSG_MAIL_LIST_ENCRYPT_INFO,
arg4: DWORD, arg5: *mut ::libc::c_void)
-> WINBOOL>;
pub type PFN_CMSG_IMPORT_KEY_TRANS =
::std::option::Option<extern "C" fn
(arg1: PCRYPT_ALGORITHM_IDENTIFIER,
arg2: PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA,
arg3: DWORD, arg4: *mut ::libc::c_void,
arg5: *mut HCRYPTKEY) -> WINBOOL>;
pub type PFN_CMSG_IMPORT_KEY_AGREE =
::std::option::Option<extern "C" fn
(arg1: PCRYPT_ALGORITHM_IDENTIFIER,
arg2: PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA,
arg3: DWORD, arg4: *mut ::libc::c_void,
arg5: *mut HCRYPTKEY) -> WINBOOL>;
pub type PFN_CMSG_IMPORT_MAIL_LIST =
::std::option::Option<extern "C" fn
(arg1: PCRYPT_ALGORITHM_IDENTIFIER,
arg2: PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA,
arg3: DWORD, arg4: *mut ::libc::c_void,
arg5: *mut HCRYPTKEY) -> WINBOOL>;
pub type HCERTSTORE = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__CERT_CONTEXT {
pub dwCertEncodingType: DWORD,
pub pbCertEncoded: *mut BYTE,
pub cbCertEncoded: DWORD,
pub pCertInfo: PCERT_INFO,
pub hCertStore: HCERTSTORE,
}
pub type CERT_CONTEXT = Struct__CERT_CONTEXT;
pub type PCERT_CONTEXT = *mut Struct__CERT_CONTEXT;
pub type PCCERT_CONTEXT = *const CERT_CONTEXT;
#[repr(C)]
pub struct Struct__CRL_CONTEXT {
pub dwCertEncodingType: DWORD,
pub pbCrlEncoded: *mut BYTE,
pub cbCrlEncoded: DWORD,
pub pCrlInfo: PCRL_INFO,
pub hCertStore: HCERTSTORE,
}
pub type CRL_CONTEXT = Struct__CRL_CONTEXT;
pub type PCRL_CONTEXT = *mut Struct__CRL_CONTEXT;
pub type PCCRL_CONTEXT = *const CRL_CONTEXT;
#[repr(C)]
pub struct Struct__CTL_CONTEXT {
pub dwMsgAndCertEncodingType: DWORD,
pub pbCtlEncoded: *mut BYTE,
pub cbCtlEncoded: DWORD,
pub pCtlInfo: PCTL_INFO,
pub hCertStore: HCERTSTORE,
pub hCryptMsg: HCRYPTMSG,
pub pbCtlContent: *mut BYTE,
pub cbCtlContent: DWORD,
}
pub type CTL_CONTEXT = Struct__CTL_CONTEXT;
pub type PCTL_CONTEXT = *mut Struct__CTL_CONTEXT;
pub type PCCTL_CONTEXT = *const CTL_CONTEXT;
#[repr(C)]
pub struct Struct__CRYPT_KEY_PROV_PARAM {
pub dwParam: DWORD,
pub pbData: *mut BYTE,
pub cbData: DWORD,
pub dwFlags: DWORD,
}
pub type CRYPT_KEY_PROV_PARAM = Struct__CRYPT_KEY_PROV_PARAM;
pub type PCRYPT_KEY_PROV_PARAM = *mut Struct__CRYPT_KEY_PROV_PARAM;
#[repr(C)]
pub struct Struct__CRYPT_KEY_PROV_INFO {
pub pwszContainerName: LPWSTR,
pub pwszProvName: LPWSTR,
pub dwProvType: DWORD,
pub dwFlags: DWORD,
pub cProvParam: DWORD,
pub rgProvParam: PCRYPT_KEY_PROV_PARAM,
pub dwKeySpec: DWORD,
}
pub type CRYPT_KEY_PROV_INFO = Struct__CRYPT_KEY_PROV_INFO;
pub type PCRYPT_KEY_PROV_INFO = *mut Struct__CRYPT_KEY_PROV_INFO;
#[repr(C)]
pub struct Struct__CERT_KEY_CONTEXT {
pub cbSize: DWORD,
pub hCryptProv: HCRYPTPROV,
pub dwKeySpec: DWORD,
}
pub type CERT_KEY_CONTEXT = Struct__CERT_KEY_CONTEXT;
pub type PCERT_KEY_CONTEXT = *mut Struct__CERT_KEY_CONTEXT;
#[repr(C)]
pub struct Struct__CERT_SYSTEM_STORE_RELOCATE_PARA {
}
#[repr(C)]
pub struct Union_Unnamed230 {
pub data: [u64, ..1u],
}
impl Union_Unnamed230 {
pub fn hKeyBase(&mut self) -> *mut HKEY {
unsafe { ::std::mem::transmute(self) }
}
pub fn pvBase(&mut self) -> *mut *mut ::libc::c_void {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Union_Unnamed231 {
pub data: [u64, ..1u],
}
impl Union_Unnamed231 {
pub fn pvSystemStore(&mut self) -> *mut *mut ::libc::c_void {
unsafe { ::std::mem::transmute(self) }
}
pub fn pszSystemStore(&mut self) -> *mut LPCSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn pwszSystemStore(&mut self) -> *mut LPCWSTR {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CERT_SYSTEM_STORE_RELOCATE_PARA =
Struct__CERT_SYSTEM_STORE_RELOCATE_PARA;
pub type PCERT_SYSTEM_STORE_RELOCATE_PARA =
*mut Struct__CERT_SYSTEM_STORE_RELOCATE_PARA;
#[repr(C)]
pub struct Struct__CERT_REGISTRY_STORE_CLIENT_GPT_PARA {
pub hKeyBase: HKEY,
pub pwszRegPath: LPWSTR,
}
pub type CERT_REGISTRY_STORE_CLIENT_GPT_PARA =
Struct__CERT_REGISTRY_STORE_CLIENT_GPT_PARA;
pub type PCERT_REGISTRY_STORE_CLIENT_GPT_PARA =
*mut Struct__CERT_REGISTRY_STORE_CLIENT_GPT_PARA;
#[repr(C)]
pub struct Struct__CERT_REGISTRY_STORE_ROAMING_PARA {
pub hKey: HKEY,
pub pwszStoreDirectory: LPWSTR,
}
pub type CERT_REGISTRY_STORE_ROAMING_PARA =
Struct__CERT_REGISTRY_STORE_ROAMING_PARA;
pub type PCERT_REGISTRY_STORE_ROAMING_PARA =
*mut Struct__CERT_REGISTRY_STORE_ROAMING_PARA;
#[repr(C)]
pub struct Struct__CERT_LDAP_STORE_OPENED_PARA {
pub pvLdapSessionHandle: *mut ::libc::c_void,
pub pwszLdapUrl: LPCWSTR,
}
pub type CERT_LDAP_STORE_OPENED_PARA = Struct__CERT_LDAP_STORE_OPENED_PARA;
pub type PCERT_LDAP_STORE_OPENED_PARA =
*mut Struct__CERT_LDAP_STORE_OPENED_PARA;
pub type HCERTSTOREPROV = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__CERT_STORE_PROV_INFO {
pub cbSize: DWORD,
pub cStoreProvFunc: DWORD,
pub rgpvStoreProvFunc: *mut *mut ::libc::c_void,
pub hStoreProv: HCERTSTOREPROV,
pub dwStoreProvFlags: DWORD,
pub hStoreProvFuncAddr2: HCRYPTOIDFUNCADDR,
}
pub type CERT_STORE_PROV_INFO = Struct__CERT_STORE_PROV_INFO;
pub type PCERT_STORE_PROV_INFO = *mut Struct__CERT_STORE_PROV_INFO;
pub type PFN_CERT_DLL_OPEN_STORE_PROV_FUNC =
::std::option::Option<extern "C" fn
(arg1: LPCSTR, arg2: DWORD, arg3: HCRYPTPROV,
arg4: DWORD, arg5: *const ::libc::c_void,
arg6: HCERTSTORE, arg7: PCERT_STORE_PROV_INFO)
-> WINBOOL>;
pub type PFN_CERT_STORE_PROV_CLOSE =
::std::option::Option<extern "C" fn(arg1: HCERTSTOREPROV, arg2: DWORD)>;
pub type PFN_CERT_STORE_PROV_READ_CERT =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCERT_CONTEXT,
arg3: DWORD, arg4: *mut PCCERT_CONTEXT)
-> WINBOOL>;
pub type PFN_CERT_STORE_PROV_WRITE_CERT =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCERT_CONTEXT,
arg3: DWORD) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_DELETE_CERT =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCERT_CONTEXT,
arg3: DWORD) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_SET_CERT_PROPERTY =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCERT_CONTEXT,
arg3: DWORD, arg4: DWORD,
arg5: *const ::libc::c_void) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_READ_CRL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCRL_CONTEXT,
arg3: DWORD, arg4: *mut PCCRL_CONTEXT)
-> WINBOOL>;
pub type PFN_CERT_STORE_PROV_WRITE_CRL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCRL_CONTEXT,
arg3: DWORD) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_DELETE_CRL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCRL_CONTEXT,
arg3: DWORD) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_SET_CRL_PROPERTY =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCRL_CONTEXT,
arg3: DWORD, arg4: DWORD,
arg5: *const ::libc::c_void) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_READ_CTL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCTL_CONTEXT,
arg3: DWORD, arg4: *mut PCCTL_CONTEXT)
-> WINBOOL>;
pub type PFN_CERT_STORE_PROV_WRITE_CTL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCTL_CONTEXT,
arg3: DWORD) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_DELETE_CTL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCTL_CONTEXT,
arg3: DWORD) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_SET_CTL_PROPERTY =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCTL_CONTEXT,
arg3: DWORD, arg4: DWORD,
arg5: *const ::libc::c_void) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_CONTROL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: DWORD, arg3: DWORD,
arg4: *const ::libc::c_void) -> WINBOOL>;
#[repr(C)]
pub struct Struct__CERT_STORE_PROV_FIND_INFO {
pub cbSize: DWORD,
pub dwMsgAndCertEncodingType: DWORD,
pub dwFindFlags: DWORD,
pub dwFindType: DWORD,
pub pvFindPara: *const ::libc::c_void,
}
pub type CERT_STORE_PROV_FIND_INFO = Struct__CERT_STORE_PROV_FIND_INFO;
pub type PCERT_STORE_PROV_FIND_INFO = *mut Struct__CERT_STORE_PROV_FIND_INFO;
pub type CCERT_STORE_PROV_FIND_INFO = CERT_STORE_PROV_FIND_INFO;
pub type PCCERT_STORE_PROV_FIND_INFO = *const CERT_STORE_PROV_FIND_INFO;
pub type PFN_CERT_STORE_PROV_FIND_CERT =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV,
arg2: PCCERT_STORE_PROV_FIND_INFO,
arg3: PCCERT_CONTEXT, arg4: DWORD,
arg5: *mut *mut ::libc::c_void,
arg6: *mut PCCERT_CONTEXT) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_FREE_FIND_CERT =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCERT_CONTEXT,
arg3: *mut ::libc::c_void, arg4: DWORD)
-> WINBOOL>;
pub type PFN_CERT_STORE_PROV_GET_CERT_PROPERTY =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCERT_CONTEXT,
arg3: DWORD, arg4: DWORD,
arg5: *mut ::libc::c_void, arg6: *mut DWORD)
-> WINBOOL>;
pub type PFN_CERT_STORE_PROV_FIND_CRL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV,
arg2: PCCERT_STORE_PROV_FIND_INFO,
arg3: PCCRL_CONTEXT, arg4: DWORD,
arg5: *mut *mut ::libc::c_void,
arg6: *mut PCCRL_CONTEXT) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_FREE_FIND_CRL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCRL_CONTEXT,
arg3: *mut ::libc::c_void, arg4: DWORD)
-> WINBOOL>;
pub type PFN_CERT_STORE_PROV_GET_CRL_PROPERTY =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCRL_CONTEXT,
arg3: DWORD, arg4: DWORD,
arg5: *mut ::libc::c_void, arg6: *mut DWORD)
-> WINBOOL>;
pub type PFN_CERT_STORE_PROV_FIND_CTL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV,
arg2: PCCERT_STORE_PROV_FIND_INFO,
arg3: PCCTL_CONTEXT, arg4: DWORD,
arg5: *mut *mut ::libc::c_void,
arg6: *mut PCCTL_CONTEXT) -> WINBOOL>;
pub type PFN_CERT_STORE_PROV_FREE_FIND_CTL =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCTL_CONTEXT,
arg3: *mut ::libc::c_void, arg4: DWORD)
-> WINBOOL>;
pub type PFN_CERT_STORE_PROV_GET_CTL_PROPERTY =
::std::option::Option<extern "C" fn
(arg1: HCERTSTOREPROV, arg2: PCCTL_CONTEXT,
arg3: DWORD, arg4: DWORD,
arg5: *mut ::libc::c_void, arg6: *mut DWORD)
-> WINBOOL>;
#[repr(C)]
pub struct Struct__CRL_FIND_ISSUED_FOR_PARA {
pub pSubjectCert: PCCERT_CONTEXT,
pub pIssuerCert: PCCERT_CONTEXT,
}
pub type CRL_FIND_ISSUED_FOR_PARA = Struct__CRL_FIND_ISSUED_FOR_PARA;
pub type PCRL_FIND_ISSUED_FOR_PARA = *mut Struct__CRL_FIND_ISSUED_FOR_PARA;
#[repr(C)]
pub struct Struct__CTL_ANY_SUBJECT_INFO {
pub SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub SubjectIdentifier: CRYPT_DATA_BLOB,
}
pub type CTL_ANY_SUBJECT_INFO = Struct__CTL_ANY_SUBJECT_INFO;
pub type PCTL_ANY_SUBJECT_INFO = *mut Struct__CTL_ANY_SUBJECT_INFO;
#[repr(C)]
pub struct Struct__CTL_FIND_USAGE_PARA {
pub cbSize: DWORD,
pub SubjectUsage: CTL_USAGE,
pub ListIdentifier: CRYPT_DATA_BLOB,
pub pSigner: PCERT_INFO,
}
pub type CTL_FIND_USAGE_PARA = Struct__CTL_FIND_USAGE_PARA;
pub type PCTL_FIND_USAGE_PARA = *mut Struct__CTL_FIND_USAGE_PARA;
#[repr(C)]
pub struct Struct__CTL_FIND_SUBJECT_PARA {
pub cbSize: DWORD,
pub pUsagePara: PCTL_FIND_USAGE_PARA,
pub dwSubjectType: DWORD,
pub pvSubject: *mut ::libc::c_void,
}
pub type CTL_FIND_SUBJECT_PARA = Struct__CTL_FIND_SUBJECT_PARA;
pub type PCTL_FIND_SUBJECT_PARA = *mut Struct__CTL_FIND_SUBJECT_PARA;
#[repr(C)]
pub struct Struct__CERT_CREATE_CONTEXT_PARA {
pub cbSize: DWORD,
pub pfnFree: PFN_CRYPT_FREE,
pub pvFree: *mut ::libc::c_void,
}
pub type CERT_CREATE_CONTEXT_PARA = Struct__CERT_CREATE_CONTEXT_PARA;
pub type PCERT_CREATE_CONTEXT_PARA = *mut Struct__CERT_CREATE_CONTEXT_PARA;
#[repr(C)]
pub struct Struct__CERT_SYSTEM_STORE_INFO {
pub cbSize: DWORD,
}
pub type CERT_SYSTEM_STORE_INFO = Struct__CERT_SYSTEM_STORE_INFO;
pub type PCERT_SYSTEM_STORE_INFO = *mut Struct__CERT_SYSTEM_STORE_INFO;
#[repr(C)]
pub struct Struct__CERT_PHYSICAL_STORE_INFO {
pub cbSize: DWORD,
pub pszOpenStoreProvider: LPSTR,
pub dwOpenEncodingType: DWORD,
pub dwOpenFlags: DWORD,
pub OpenParameters: CRYPT_DATA_BLOB,
pub dwFlags: DWORD,
pub dwPriority: DWORD,
}
pub type CERT_PHYSICAL_STORE_INFO = Struct__CERT_PHYSICAL_STORE_INFO;
pub type PCERT_PHYSICAL_STORE_INFO = *mut Struct__CERT_PHYSICAL_STORE_INFO;
pub type PFN_CERT_ENUM_SYSTEM_STORE_LOCATION =
::std::option::Option<extern "C" fn
(arg1: LPCWSTR, arg2: DWORD,
arg3: *mut ::libc::c_void,
arg4: *mut ::libc::c_void) -> WINBOOL>;
pub type PFN_CERT_ENUM_SYSTEM_STORE =
::std::option::Option<extern "C" fn
(arg1: *const ::libc::c_void, arg2: DWORD,
arg3: PCERT_SYSTEM_STORE_INFO,
arg4: *mut ::libc::c_void,
arg5: *mut ::libc::c_void) -> WINBOOL>;
pub type PFN_CERT_ENUM_PHYSICAL_STORE =
::std::option::Option<extern "C" fn
(arg1: *const ::libc::c_void, arg2: DWORD,
arg3: LPCWSTR, arg4: PCERT_PHYSICAL_STORE_INFO,
arg5: *mut ::libc::c_void,
arg6: *mut ::libc::c_void) -> WINBOOL>;
#[repr(C)]
pub struct Struct__CTL_VERIFY_USAGE_PARA {
pub cbSize: DWORD,
pub ListIdentifier: CRYPT_DATA_BLOB,
pub cCtlStore: DWORD,
pub rghCtlStore: *mut HCERTSTORE,
pub cSignerStore: DWORD,
pub rghSignerStore: *mut HCERTSTORE,
}
pub type CTL_VERIFY_USAGE_PARA = Struct__CTL_VERIFY_USAGE_PARA;
pub type PCTL_VERIFY_USAGE_PARA = *mut Struct__CTL_VERIFY_USAGE_PARA;
#[repr(C)]
pub struct Struct__CTL_VERIFY_USAGE_STATUS {
pub cbSize: DWORD,
pub dwError: DWORD,
pub dwFlags: DWORD,
pub ppCtl: *mut PCCTL_CONTEXT,
pub dwCtlEntryIndex: DWORD,
pub ppSigner: *mut PCCERT_CONTEXT,
pub dwSignerIndex: DWORD,
}
pub type CTL_VERIFY_USAGE_STATUS = Struct__CTL_VERIFY_USAGE_STATUS;
pub type PCTL_VERIFY_USAGE_STATUS = *mut Struct__CTL_VERIFY_USAGE_STATUS;
#[repr(C)]
pub struct Struct__CERT_REVOCATION_CRL_INFO {
pub cbSize: DWORD,
pub pBaseCrlContext: PCCRL_CONTEXT,
pub pDeltaCrlContext: PCCRL_CONTEXT,
pub pCrlEntry: PCRL_ENTRY,
pub fDeltaCrlEntry: WINBOOL,
}
pub type CERT_REVOCATION_CRL_INFO = Struct__CERT_REVOCATION_CRL_INFO;
pub type PCERT_REVOCATION_CRL_INFO = *mut Struct__CERT_REVOCATION_CRL_INFO;
#[repr(C)]
pub struct Struct__CERT_REVOCATION_PARA {
pub cbSize: DWORD,
pub pIssuerCert: PCCERT_CONTEXT,
pub cCertStore: DWORD,
pub rgCertStore: *mut HCERTSTORE,
pub hCrlStore: HCERTSTORE,
pub pftTimeToUse: LPFILETIME,
}
pub type CERT_REVOCATION_PARA = Struct__CERT_REVOCATION_PARA;
pub type PCERT_REVOCATION_PARA = *mut Struct__CERT_REVOCATION_PARA;
#[repr(C)]
pub struct Struct__CERT_REVOCATION_STATUS {
pub cbSize: DWORD,
pub dwIndex: DWORD,
pub dwError: DWORD,
pub dwReason: DWORD,
pub fHasFreshnessTime: WINBOOL,
pub dwFreshnessTime: DWORD,
}
pub type CERT_REVOCATION_STATUS = Struct__CERT_REVOCATION_STATUS;
pub type PCERT_REVOCATION_STATUS = *mut Struct__CERT_REVOCATION_STATUS;
pub type HCRYPTDEFAULTCONTEXT = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA {
pub cOID: DWORD,
pub rgpszOID: *mut LPSTR,
}
pub type CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA =
Struct__CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA;
pub type PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA =
*mut Struct__CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA;
pub type PFN_IMPORT_PRIV_KEY_FUNC =
::std::option::Option<extern "C" fn
(arg1: HCRYPTPROV,
arg2: *mut CRYPT_PRIVATE_KEY_INFO, arg3: DWORD,
arg4: *mut ::libc::c_void) -> WINBOOL>;
pub type PFN_EXPORT_PRIV_KEY_FUNC =
::std::option::Option<extern "C" fn
(arg1: HCRYPTPROV, arg2: DWORD, arg3: LPSTR,
arg4: DWORD, arg5: *mut ::libc::c_void,
arg6: *mut CRYPT_PRIVATE_KEY_INFO,
arg7: *mut DWORD) -> WINBOOL>;
pub type PFN_CRYPT_GET_SIGNER_CERTIFICATE =
::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void, arg2: DWORD,
arg3: PCERT_INFO, arg4: HCERTSTORE)
-> PCCERT_CONTEXT>;
#[repr(C)]
pub struct Struct__CRYPT_SIGN_MESSAGE_PARA {
pub cbSize: DWORD,
pub dwMsgEncodingType: DWORD,
pub pSigningCert: PCCERT_CONTEXT,
pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvHashAuxInfo: *mut ::libc::c_void,
pub cMsgCert: DWORD,
pub rgpMsgCert: *mut PCCERT_CONTEXT,
pub cMsgCrl: DWORD,
pub rgpMsgCrl: *mut PCCRL_CONTEXT,
pub cAuthAttr: DWORD,
pub rgAuthAttr: PCRYPT_ATTRIBUTE,
pub cUnauthAttr: DWORD,
pub rgUnauthAttr: PCRYPT_ATTRIBUTE,
pub dwFlags: DWORD,
pub dwInnerContentType: DWORD,
}
pub type CRYPT_SIGN_MESSAGE_PARA = Struct__CRYPT_SIGN_MESSAGE_PARA;
pub type PCRYPT_SIGN_MESSAGE_PARA = *mut Struct__CRYPT_SIGN_MESSAGE_PARA;
#[repr(C)]
pub struct Struct__CRYPT_VERIFY_MESSAGE_PARA {
pub cbSize: DWORD,
pub dwMsgAndCertEncodingType: DWORD,
pub hCryptProv: HCRYPTPROV,
pub pfnGetSignerCertificate: PFN_CRYPT_GET_SIGNER_CERTIFICATE,
pub pvGetArg: *mut ::libc::c_void,
}
pub type CRYPT_VERIFY_MESSAGE_PARA = Struct__CRYPT_VERIFY_MESSAGE_PARA;
pub type PCRYPT_VERIFY_MESSAGE_PARA = *mut Struct__CRYPT_VERIFY_MESSAGE_PARA;
#[repr(C)]
pub struct Struct__CRYPT_ENCRYPT_MESSAGE_PARA {
pub cbSize: DWORD,
pub dwMsgEncodingType: DWORD,
pub hCryptProv: HCRYPTPROV,
pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvEncryptionAuxInfo: *mut ::libc::c_void,
pub dwFlags: DWORD,
pub dwInnerContentType: DWORD,
}
pub type CRYPT_ENCRYPT_MESSAGE_PARA = Struct__CRYPT_ENCRYPT_MESSAGE_PARA;
pub type PCRYPT_ENCRYPT_MESSAGE_PARA =
*mut Struct__CRYPT_ENCRYPT_MESSAGE_PARA;
#[repr(C)]
pub struct Struct__CRYPT_DECRYPT_MESSAGE_PARA {
pub cbSize: DWORD,
pub dwMsgAndCertEncodingType: DWORD,
pub cCertStore: DWORD,
pub rghCertStore: *mut HCERTSTORE,
}
pub type CRYPT_DECRYPT_MESSAGE_PARA = Struct__CRYPT_DECRYPT_MESSAGE_PARA;
pub type PCRYPT_DECRYPT_MESSAGE_PARA =
*mut Struct__CRYPT_DECRYPT_MESSAGE_PARA;
#[repr(C)]
pub struct Struct__CRYPT_HASH_MESSAGE_PARA {
pub cbSize: DWORD,
pub dwMsgEncodingType: DWORD,
pub hCryptProv: HCRYPTPROV,
pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvHashAuxInfo: *mut ::libc::c_void,
}
pub type CRYPT_HASH_MESSAGE_PARA = Struct__CRYPT_HASH_MESSAGE_PARA;
pub type PCRYPT_HASH_MESSAGE_PARA = *mut Struct__CRYPT_HASH_MESSAGE_PARA;
#[repr(C)]
pub struct Struct__CRYPT_KEY_SIGN_MESSAGE_PARA {
pub cbSize: DWORD,
pub dwMsgAndCertEncodingType: DWORD,
pub hCryptProv: HCRYPTPROV,
pub dwKeySpec: DWORD,
pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
pub pvHashAuxInfo: *mut ::libc::c_void,
pub PubKeyAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
}
pub type CRYPT_KEY_SIGN_MESSAGE_PARA = Struct__CRYPT_KEY_SIGN_MESSAGE_PARA;
pub type PCRYPT_KEY_SIGN_MESSAGE_PARA =
*mut Struct__CRYPT_KEY_SIGN_MESSAGE_PARA;
#[repr(C)]
pub struct Struct__CRYPT_KEY_VERIFY_MESSAGE_PARA {
pub cbSize: DWORD,
pub dwMsgEncodingType: DWORD,
pub hCryptProv: HCRYPTPROV,
}
pub type CRYPT_KEY_VERIFY_MESSAGE_PARA =
Struct__CRYPT_KEY_VERIFY_MESSAGE_PARA;
pub type PCRYPT_KEY_VERIFY_MESSAGE_PARA =
*mut Struct__CRYPT_KEY_VERIFY_MESSAGE_PARA;
#[repr(C)]
pub struct Struct__CERT_CHAIN {
pub cCerts: DWORD,
pub certs: PCERT_BLOB,
pub keyLocatorInfo: CRYPT_KEY_PROV_INFO,
}
pub type CERT_CHAIN = Struct__CERT_CHAIN;
pub type PCERT_CHAIN = *mut Struct__CERT_CHAIN;
pub type HCRYPTASYNC = HANDLE;
pub type PHCRYPTASYNC = *mut HANDLE;
pub type PFN_CRYPT_ASYNC_PARAM_FREE_FUNC =
::std::option::Option<extern "C" fn(arg1: LPSTR, arg2: LPVOID)>;
#[repr(C)]
pub struct Struct__CRYPT_BLOB_ARRAY {
pub cBlob: DWORD,
pub rgBlob: PCRYPT_DATA_BLOB,
}
pub type CRYPT_BLOB_ARRAY = Struct__CRYPT_BLOB_ARRAY;
pub type PCRYPT_BLOB_ARRAY = *mut Struct__CRYPT_BLOB_ARRAY;
#[repr(C)]
pub struct Struct__CRYPT_CREDENTIALS {
pub cbSize: DWORD,
pub pszCredentialsOid: LPCSTR,
pub pvCredentials: LPVOID,
}
pub type CRYPT_CREDENTIALS = Struct__CRYPT_CREDENTIALS;
pub type PCRYPT_CREDENTIALS = *mut Struct__CRYPT_CREDENTIALS;
#[repr(C)]
pub struct Struct__CRYPT_PASSWORD_CREDENTIALSA {
pub cbSize: DWORD,
pub pszUsername: LPSTR,
pub pszPassword: LPSTR,
}
pub type CRYPT_PASSWORD_CREDENTIALSA = Struct__CRYPT_PASSWORD_CREDENTIALSA;
pub type PCRYPT_PASSWORD_CREDENTIALSA =
*mut Struct__CRYPT_PASSWORD_CREDENTIALSA;
#[repr(C)]
pub struct Struct__CRYPT_PASSWORD_CREDENTIALSW {
pub cbSize: DWORD,
pub pszUsername: LPWSTR,
pub pszPassword: LPWSTR,
}
pub type CRYPT_PASSWORD_CREDENTIALSW = Struct__CRYPT_PASSWORD_CREDENTIALSW;
pub type PCRYPT_PASSWORD_CREDENTIALSW =
*mut Struct__CRYPT_PASSWORD_CREDENTIALSW;
pub type CRYPT_PASSWORD_CREDENTIALS = CRYPT_PASSWORD_CREDENTIALSA;
pub type PCRYPT_PASSWORD_CREDENTIALS = PCRYPT_PASSWORD_CREDENTIALSA;
pub type PFN_FREE_ENCODED_OBJECT_FUNC =
::std::option::Option<extern "C" fn
(arg1: LPCSTR, arg2: PCRYPT_BLOB_ARRAY,
arg3: LPVOID)>;
#[repr(C)]
pub struct Struct__CRYPT_RETRIEVE_AUX_INFO {
pub cbSize: DWORD,
pub pLastSyncTime: *mut FILETIME,
pub dwMaxUrlRetrievalByteCount: DWORD,
}
pub type CRYPT_RETRIEVE_AUX_INFO = Struct__CRYPT_RETRIEVE_AUX_INFO;
pub type PCRYPT_RETRIEVE_AUX_INFO = *mut Struct__CRYPT_RETRIEVE_AUX_INFO;
pub type PFN_CRYPT_CANCEL_RETRIEVAL =
::std::option::Option<extern "C" fn
(arg1: DWORD, arg2: *mut ::libc::c_void)
-> WINBOOL>;
pub type PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC =
::std::option::Option<extern "C" fn
(arg1: LPVOID, arg2: DWORD, arg3: LPCSTR,
arg4: LPSTR, arg5: LPVOID)>;
#[repr(C)]
pub struct Struct__CRYPT_ASYNC_RETRIEVAL_COMPLETION {
pub pfnCompletion: PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC,
pub pvCompletion: LPVOID,
}
pub type CRYPT_ASYNC_RETRIEVAL_COMPLETION =
Struct__CRYPT_ASYNC_RETRIEVAL_COMPLETION;
pub type PCRYPT_ASYNC_RETRIEVAL_COMPLETION =
*mut Struct__CRYPT_ASYNC_RETRIEVAL_COMPLETION;
pub type PFN_CANCEL_ASYNC_RETRIEVAL_FUNC =
::std::option::Option<extern "C" fn(arg1: HCRYPTASYNC) -> WINBOOL>;
#[repr(C)]
pub struct Struct__CRYPT_URL_ARRAY {
pub cUrl: DWORD,
pub rgwszUrl: *mut LPWSTR,
}
pub type CRYPT_URL_ARRAY = Struct__CRYPT_URL_ARRAY;
pub type PCRYPT_URL_ARRAY = *mut Struct__CRYPT_URL_ARRAY;
#[repr(C)]
pub struct Struct__CRYPT_URL_INFO {
pub cbSize: DWORD,
pub dwSyncDeltaTime: DWORD,
pub cGroup: DWORD,
pub rgcGroupEntry: *mut DWORD,
}
pub type CRYPT_URL_INFO = Struct__CRYPT_URL_INFO;
pub type PCRYPT_URL_INFO = *mut Struct__CRYPT_URL_INFO;
#[repr(C)]
pub struct Struct__CERT_CRL_CONTEXT_PAIR {
pub pCertContext: PCCERT_CONTEXT,
pub pCrlContext: PCCRL_CONTEXT,
}
pub type CERT_CRL_CONTEXT_PAIR = Struct__CERT_CRL_CONTEXT_PAIR;
pub type PCERT_CRL_CONTEXT_PAIR = *mut Struct__CERT_CRL_CONTEXT_PAIR;
pub type PCCERT_CRL_CONTEXT_PAIR = *const CERT_CRL_CONTEXT_PAIR;
#[repr(C)]
pub struct Struct__CRYPTPROTECT_PROMPTSTRUCT {
pub cbSize: DWORD,
pub dwPromptFlags: DWORD,
pub hwndApp: HWND,
pub szPrompt: LPCWSTR,
}
pub type CRYPTPROTECT_PROMPTSTRUCT = Struct__CRYPTPROTECT_PROMPTSTRUCT;
pub type PCRYPTPROTECT_PROMPTSTRUCT = *mut Struct__CRYPTPROTECT_PROMPTSTRUCT;
pub type PFN_CRYPT_ENUM_KEYID_PROP =
::std::option::Option<extern "C" fn
(arg1: *const CRYPT_HASH_BLOB, arg2: DWORD,
arg3: *mut ::libc::c_void,
arg4: *mut ::libc::c_void, arg5: DWORD,
arg6: *mut DWORD,
arg7: *mut *mut ::libc::c_void,
arg8: *mut DWORD) -> WINBOOL>;
pub type HCERTCHAINENGINE = HANDLE;
#[repr(C)]
pub struct Struct__CERT_CHAIN_ENGINE_CONFIG {
pub cbSize: DWORD,
pub hRestrictedRoot: HCERTSTORE,
pub hRestrictedTrust: HCERTSTORE,
pub hRestrictedOther: HCERTSTORE,
pub cAdditionalStore: DWORD,
pub rghAdditionalStore: *mut HCERTSTORE,
pub dwFlags: DWORD,
pub dwUrlRetrievalTimeout: DWORD,
pub MaximumCachedCertificates: DWORD,
pub CycleDetectionModulus: DWORD,
}
pub type CERT_CHAIN_ENGINE_CONFIG = Struct__CERT_CHAIN_ENGINE_CONFIG;
pub type PCERT_CHAIN_ENGINE_CONFIG = *mut Struct__CERT_CHAIN_ENGINE_CONFIG;
#[repr(C)]
pub struct Struct__CERT_TRUST_STATUS {
pub dwErrorStatus: DWORD,
pub dwInfoStatus: DWORD,
}
pub type CERT_TRUST_STATUS = Struct__CERT_TRUST_STATUS;
pub type PCERT_TRUST_STATUS = *mut Struct__CERT_TRUST_STATUS;
#[repr(C)]
pub struct Struct__CERT_REVOCATION_INFO {
pub cbSize: DWORD,
pub dwRevocationResult: DWORD,
pub pszRevocationOid: LPCSTR,
pub pvOidSpecificInfo: LPVOID,
pub fHasFreshnessTime: WINBOOL,
pub dwFreshnessTime: DWORD,
pub pCrlInfo: PCERT_REVOCATION_CRL_INFO,
}
pub type CERT_REVOCATION_INFO = Struct__CERT_REVOCATION_INFO;
pub type PCERT_REVOCATION_INFO = *mut Struct__CERT_REVOCATION_INFO;
#[repr(C)]
pub struct Struct__CERT_TRUST_LIST_INFO {
pub cbSize: DWORD,
pub pCtlEntry: PCTL_ENTRY,
pub pCtlContext: PCCTL_CONTEXT,
}
pub type CERT_TRUST_LIST_INFO = Struct__CERT_TRUST_LIST_INFO;
pub type PCERT_TRUST_LIST_INFO = *mut Struct__CERT_TRUST_LIST_INFO;
#[repr(C)]
pub struct Struct__CERT_CHAIN_ELEMENT {
pub cbSize: DWORD,
pub pCertContext: PCCERT_CONTEXT,
pub TrustStatus: CERT_TRUST_STATUS,
pub pRevocationInfo: PCERT_REVOCATION_INFO,
pub pIssuanceUsage: PCERT_ENHKEY_USAGE,
pub pApplicationUsage: PCERT_ENHKEY_USAGE,
pub pwszExtendedErrorInfo: LPCWSTR,
}
pub type CERT_CHAIN_ELEMENT = Struct__CERT_CHAIN_ELEMENT;
pub type PCERT_CHAIN_ELEMENT = *mut Struct__CERT_CHAIN_ELEMENT;
#[repr(C)]
pub struct Struct__CERT_SIMPLE_CHAIN {
pub cbSize: DWORD,
pub TrustStatus: CERT_TRUST_STATUS,
pub cElement: DWORD,
pub rgpElement: *mut PCERT_CHAIN_ELEMENT,
pub pTrustListInfo: PCERT_TRUST_LIST_INFO,
pub fHasRevocationFreshnessTime: WINBOOL,
pub dwRevocationFreshnessTime: DWORD,
}
pub type CERT_SIMPLE_CHAIN = Struct__CERT_SIMPLE_CHAIN;
pub type PCERT_SIMPLE_CHAIN = *mut Struct__CERT_SIMPLE_CHAIN;
pub type CERT_CHAIN_CONTEXT = Struct__CERT_CHAIN_CONTEXT;
pub type PCERT_CHAIN_CONTEXT = *mut Struct__CERT_CHAIN_CONTEXT;
pub type PCCERT_CHAIN_CONTEXT = *const CERT_CHAIN_CONTEXT;
#[repr(C)]
pub struct Struct__CERT_CHAIN_CONTEXT {
pub cbSize: DWORD,
pub TrustStatus: CERT_TRUST_STATUS,
pub cChain: DWORD,
pub rgpChain: *mut PCERT_SIMPLE_CHAIN,
pub cLowerQualityChainContext: DWORD,
pub rgpLowerQualityChainContext: *mut PCCERT_CHAIN_CONTEXT,
pub fHasRevocationFreshnessTime: WINBOOL,
pub dwRevocationFreshnessTime: DWORD,
}
#[repr(C)]
pub struct Struct__CERT_USAGE_MATCH {
pub dwType: DWORD,
pub Usage: CERT_ENHKEY_USAGE,
}
pub type CERT_USAGE_MATCH = Struct__CERT_USAGE_MATCH;
pub type PCERT_USAGE_MATCH = *mut Struct__CERT_USAGE_MATCH;
#[repr(C)]
pub struct Struct__CTL_USAGE_MATCH {
pub dwType: DWORD,
pub Usage: CTL_USAGE,
}
pub type CTL_USAGE_MATCH = Struct__CTL_USAGE_MATCH;
pub type PCTL_USAGE_MATCH = *mut Struct__CTL_USAGE_MATCH;
#[repr(C)]
pub struct Struct__CERT_CHAIN_PARA {
pub cbSize: DWORD,
pub RequestedUsage: CERT_USAGE_MATCH,
}
pub type CERT_CHAIN_PARA = Struct__CERT_CHAIN_PARA;
pub type PCERT_CHAIN_PARA = *mut Struct__CERT_CHAIN_PARA;
#[repr(C)]
pub struct Struct__CRL_REVOCATION_INFO {
pub pCrlEntry: PCRL_ENTRY,
pub pCrlContext: PCCRL_CONTEXT,
pub pCrlIssuerChain: PCCERT_CHAIN_CONTEXT,
}
pub type CRL_REVOCATION_INFO = Struct__CRL_REVOCATION_INFO;
pub type PCRL_REVOCATION_INFO = *mut Struct__CRL_REVOCATION_INFO;
pub type PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK =
::std::option::Option<extern "C" fn
(arg1: PCCERT_CONTEXT,
arg2: *mut ::libc::c_void) -> WINBOOL>;
#[repr(C)]
pub struct Struct__CERT_CHAIN_FIND_BY_ISSUER_PARA {
pub cbSize: DWORD,
pub pszUsageIdentifier: LPCSTR,
pub dwKeySpec: DWORD,
pub dwAcquirePrivateKeyFlags: DWORD,
pub cIssuer: DWORD,
pub rgIssuer: *mut CERT_NAME_BLOB,
pub pfnFindCallback: PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK,
pub pvFindArg: *mut ::libc::c_void,
}
pub type CERT_CHAIN_FIND_ISSUER_PARA = Struct__CERT_CHAIN_FIND_BY_ISSUER_PARA;
pub type PCERT_CHAIN_FIND_ISSUER_PARA =
*mut Struct__CERT_CHAIN_FIND_BY_ISSUER_PARA;
pub type CERT_CHAIN_FIND_BY_ISSUER_PARA =
Struct__CERT_CHAIN_FIND_BY_ISSUER_PARA;
pub type PCERT_CHAIN_FIND_BY_ISSUER_PARA =
*mut Struct__CERT_CHAIN_FIND_BY_ISSUER_PARA;
#[repr(C)]
pub struct Struct__CERT_CHAIN_POLICY_PARA {
pub cbSize: DWORD,
pub dwFlags: DWORD,
pub pvExtraPolicyPara: *mut ::libc::c_void,
}
pub type CERT_CHAIN_POLICY_PARA = Struct__CERT_CHAIN_POLICY_PARA;
pub type PCERT_CHAIN_POLICY_PARA = *mut Struct__CERT_CHAIN_POLICY_PARA;
#[repr(C)]
pub struct Struct__CERT_CHAIN_POLICY_STATUS {
pub cbSize: DWORD,
pub dwError: DWORD,
pub lChainIndex: LONG,
pub lElementIndex: LONG,
pub pvExtraPolicyStatus: *mut ::libc::c_void,
}
pub type CERT_CHAIN_POLICY_STATUS = Struct__CERT_CHAIN_POLICY_STATUS;
pub type PCERT_CHAIN_POLICY_STATUS = *mut Struct__CERT_CHAIN_POLICY_STATUS;
#[repr(C)]
pub struct Struct__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA {
pub cbSize: DWORD,
pub dwRegPolicySettings: DWORD,
pub pSignerInfo: PCMSG_SIGNER_INFO,
}
pub type AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA =
Struct__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA;
pub type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA =
*mut Struct__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA;
#[repr(C)]
pub struct Struct__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS {
pub cbSize: DWORD,
pub fCommercial: WINBOOL,
}
pub type AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS =
Struct__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS;
pub type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS =
*mut Struct__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS;
#[repr(C)]
pub struct Struct__AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA {
pub cbSize: DWORD,
pub dwRegPolicySettings: DWORD,
pub fCommercial: WINBOOL,
}
pub type AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA =
Struct__AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA;
pub type PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA =
*mut Struct__AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA;
#[repr(C)]
pub struct Struct__HTTPSPolicyCallbackData {
pub dwAuthType: DWORD,
pub fdwChecks: DWORD,
pub pwszServerName: *mut WCHAR,
}
#[repr(C)]
pub struct Union_Unnamed232 {
pub data: [u32, ..1u],
}
impl Union_Unnamed232 {
pub fn cbStruct(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn cbSize(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
}
pub type HTTPSPolicyCallbackData = Struct__HTTPSPolicyCallbackData;
pub type PHTTPSPolicyCallbackData = *mut Struct__HTTPSPolicyCallbackData;
pub type SSL_EXTRA_CERT_CHAIN_POLICY_PARA = Struct__HTTPSPolicyCallbackData;
pub type PSSL_EXTRA_CERT_CHAIN_POLICY_PARA =
*mut Struct__HTTPSPolicyCallbackData;
#[repr(C)]
pub struct Struct__CERTIFICATE_BLOB {
pub dwCertEncodingType: DWORD,
pub cbData: DWORD,
pub pbData: PBYTE,
}
pub type EFS_CERTIFICATE_BLOB = Struct__CERTIFICATE_BLOB;
pub type PEFS_CERTIFICATE_BLOB = *mut Struct__CERTIFICATE_BLOB;
#[repr(C)]
pub struct Struct__EFS_HASH_BLOB {
pub cbData: DWORD,
pub pbData: PBYTE,
}
pub type EFS_HASH_BLOB = Struct__EFS_HASH_BLOB;
pub type PEFS_HASH_BLOB = *mut Struct__EFS_HASH_BLOB;
#[repr(C)]
pub struct Struct__EFS_RPC_BLOB {
pub cbData: DWORD,
pub pbData: PBYTE,
}
pub type EFS_RPC_BLOB = Struct__EFS_RPC_BLOB;
pub type PEFS_RPC_BLOB = *mut Struct__EFS_RPC_BLOB;
#[repr(C)]
pub struct Struct__EFS_KEY_INFO {
pub dwVersion: DWORD,
pub Entropy: ULONG,
pub Algorithm: ALG_ID,
pub KeyLength: ULONG,
}
pub type EFS_KEY_INFO = Struct__EFS_KEY_INFO;
pub type PEFS_KEY_INFO = *mut Struct__EFS_KEY_INFO;
#[repr(C)]
pub struct Struct__ENCRYPTION_CERTIFICATE {
pub cbTotalLength: DWORD,
pub pUserSid: *mut SID,
pub pCertBlob: PEFS_CERTIFICATE_BLOB,
}
pub type ENCRYPTION_CERTIFICATE = Struct__ENCRYPTION_CERTIFICATE;
pub type PENCRYPTION_CERTIFICATE = *mut Struct__ENCRYPTION_CERTIFICATE;
#[repr(C)]
pub struct Struct__ENCRYPTION_CERTIFICATE_HASH {
pub cbTotalLength: DWORD,
pub pUserSid: *mut SID,
pub pHash: PEFS_HASH_BLOB,
pub lpDisplayInformation: LPWSTR,
}
pub type ENCRYPTION_CERTIFICATE_HASH = Struct__ENCRYPTION_CERTIFICATE_HASH;
pub type PENCRYPTION_CERTIFICATE_HASH =
*mut Struct__ENCRYPTION_CERTIFICATE_HASH;
#[repr(C)]
pub struct Struct__ENCRYPTION_CERTIFICATE_HASH_LIST {
pub nCert_Hash: DWORD,
pub pUsers: *mut PENCRYPTION_CERTIFICATE_HASH,
}
pub type ENCRYPTION_CERTIFICATE_HASH_LIST =
Struct__ENCRYPTION_CERTIFICATE_HASH_LIST;
pub type PENCRYPTION_CERTIFICATE_HASH_LIST =
*mut Struct__ENCRYPTION_CERTIFICATE_HASH_LIST;
#[repr(C)]
pub struct Struct__ENCRYPTION_CERTIFICATE_LIST {
pub nUsers: DWORD,
pub pUsers: *mut PENCRYPTION_CERTIFICATE,
}
pub type ENCRYPTION_CERTIFICATE_LIST = Struct__ENCRYPTION_CERTIFICATE_LIST;
pub type PENCRYPTION_CERTIFICATE_LIST =
*mut Struct__ENCRYPTION_CERTIFICATE_LIST;
#[repr(C)]
pub struct Struct_Unnamed233 {
pub LookupContext: RPC_NS_HANDLE,
pub ProposedHandle: RPC_BINDING_HANDLE,
pub Bindings: *mut RPC_BINDING_VECTOR,
}
pub type RPC_IMPORT_CONTEXT_P = Struct_Unnamed233;
pub type PRPC_IMPORT_CONTEXT_P = *mut Struct_Unnamed233;
pub type byte = ::libc::c_uchar;
pub type cs_byte = byte;
pub type boolean = ::libc::c_uchar;
pub type NDR_CCONTEXT = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__NDR_SCONTEXT {
pub pad: [*mut ::libc::c_void, ..2u],
pub userContext: *mut ::libc::c_void,
}
pub type NDR_SCONTEXT = *mut Struct__NDR_SCONTEXT;
pub type NDR_RUNDOWN =
::std::option::Option<extern "C" fn(arg1: *mut ::libc::c_void)>;
pub type NDR_NOTIFY_ROUTINE = ::std::option::Option<extern "C" fn()>;
pub type NDR_NOTIFY2_ROUTINE =
::std::option::Option<extern "C" fn(arg1: boolean)>;
#[repr(C)]
pub struct Struct__SCONTEXT_QUEUE {
pub NumberOfObjects: ::libc::c_ulong,
pub ArrayOfObjects: *mut NDR_SCONTEXT,
}
pub type SCONTEXT_QUEUE = Struct__SCONTEXT_QUEUE;
pub type PSCONTEXT_QUEUE = *mut Struct__SCONTEXT_QUEUE;
pub type error_status_t = ::libc::c_ulong;
pub type RPC_BUFPTR = *mut ::libc::c_uchar;
pub type RPC_LENGTH = ::libc::c_ulong;
pub type EXPR_EVAL =
::std::option::Option<extern "C" fn
(arg1: *mut Struct__MIDL_STUB_MESSAGE)>;
pub type PFORMAT_STRING = *const ::libc::c_uchar;
#[repr(C)]
pub struct Struct_Unnamed234 {
pub Dimension: ::libc::c_long,
pub BufferConformanceMark: *mut ::libc::c_ulong,
pub BufferVarianceMark: *mut ::libc::c_ulong,
pub MaxCountArray: *mut ::libc::c_ulong,
pub OffsetArray: *mut ::libc::c_ulong,
pub ActualCountArray: *mut ::libc::c_ulong,
}
pub type ARRAY_INFO = Struct_Unnamed234;
pub type PARRAY_INFO = *mut Struct_Unnamed234;
pub enum Struct__NDR_ASYNC_MESSAGE { }
pub type PNDR_ASYNC_MESSAGE = *mut Struct__NDR_ASYNC_MESSAGE;
pub enum Struct__NDR_CORRELATION_INFO { }
pub type PNDR_CORRELATION_INFO = *mut Struct__NDR_CORRELATION_INFO;
#[repr(C)]
pub struct Struct_Unnamed235 {
pub WireCodeset: ::libc::c_ulong,
pub DesiredReceivingCodeset: ::libc::c_ulong,
pub CSArrayInfo: *mut ::libc::c_void,
}
pub type CS_STUB_INFO = Struct_Unnamed235;
pub type MIDL_SYNTAX_INFO = Struct__MIDL_SYNTAX_INFO;
pub type PMIDL_SYNTAX_INFO = *mut Struct__MIDL_SYNTAX_INFO;
pub enum Struct_NDR_ALLOC_ALL_NODES_CONTEXT { }
pub enum Struct_NDR_POINTER_QUEUE_STATE { }
pub enum Struct__NDR_PROC_CONTEXT { }
#[repr(C)]
pub struct Struct__MIDL_STUB_MESSAGE {
pub RpcMsg: PRPC_MESSAGE,
pub Buffer: *mut ::libc::c_uchar,
pub BufferStart: *mut ::libc::c_uchar,
pub BufferEnd: *mut ::libc::c_uchar,
pub BufferMark: *mut ::libc::c_uchar,
pub BufferLength: ::libc::c_ulong,
pub MemorySize: ::libc::c_ulong,
pub Memory: *mut ::libc::c_uchar,
pub IsClient: ::libc::c_uchar,
pub Pad: ::libc::c_uchar,
pub uFlags2: ::libc::c_ushort,
pub ReuseBuffer: ::libc::c_int,
pub pAllocAllNodesContext: *mut Struct_NDR_ALLOC_ALL_NODES_CONTEXT,
pub pPointerQueueState: *mut Struct_NDR_POINTER_QUEUE_STATE,
pub IgnoreEmbeddedPointers: ::libc::c_int,
pub PointerBufferMark: *mut ::libc::c_uchar,
pub fBufferValid: ::libc::c_uchar,
pub uFlags: ::libc::c_uchar,
pub UniquePtrCount: ::libc::c_ushort,
pub MaxCount: ULONG_PTR,
pub Offset: ::libc::c_ulong,
pub ActualCount: ::libc::c_ulong,
pub pfnAllocate: ::std::option::Option<extern "C" fn(arg1: size_t)
-> *mut ::libc::c_void>,
pub pfnFree: ::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void)>,
pub StackTop: *mut ::libc::c_uchar,
pub pPresentedType: *mut ::libc::c_uchar,
pub pTransmitType: *mut ::libc::c_uchar,
pub SavedHandle: handle_t,
pub StubDesc: *const Struct__MIDL_STUB_DESC,
pub FullPtrXlatTables: *mut Struct__FULL_PTR_XLAT_TABLES,
pub FullPtrRefId: ::libc::c_ulong,
pub PointerLength: ::libc::c_ulong,
pub fInDontFree: ::libc::c_int,
pub fDontCallFreeInst: ::libc::c_int,
pub fInOnlyParam: ::libc::c_int,
pub fHasReturn: ::libc::c_int,
pub fHasExtensions: ::libc::c_int,
pub fHasNewCorrDesc: ::libc::c_int,
pub fIsOicfServer: ::libc::c_int,
pub fHasMemoryValidateCallback: ::libc::c_int,
pub fUnused: ::libc::c_int,
pub fUnused2: ::libc::c_int,
pub dwDestContext: ::libc::c_ulong,
pub pvDestContext: *mut ::libc::c_void,
pub SavedContextHandles: *mut NDR_SCONTEXT,
pub ParamNumber: ::libc::c_long,
pub pRpcChannelBuffer: *mut Struct_IRpcChannelBuffer,
pub pArrayInfo: PARRAY_INFO,
pub SizePtrCountArray: *mut ::libc::c_ulong,
pub SizePtrOffsetArray: *mut ::libc::c_ulong,
pub SizePtrLengthArray: *mut ::libc::c_ulong,
pub pArgQueue: *mut ::libc::c_void,
pub dwStubPhase: ::libc::c_ulong,
pub LowStackMark: *mut ::libc::c_void,
pub pAsyncMsg: PNDR_ASYNC_MESSAGE,
pub pCorrInfo: PNDR_CORRELATION_INFO,
pub pCorrMemory: *mut ::libc::c_uchar,
pub pMemoryList: *mut ::libc::c_void,
pub pCSInfo: *mut CS_STUB_INFO,
pub ConformanceMark: *mut ::libc::c_uchar,
pub VarianceMark: *mut ::libc::c_uchar,
pub Unused: INT_PTR,
pub pContext: *mut Struct__NDR_PROC_CONTEXT,
pub pUserMarshalList: *mut ::libc::c_void,
pub Reserved51_2: INT_PTR,
pub Reserved51_3: INT_PTR,
pub Reserved51_4: INT_PTR,
pub Reserved51_5: INT_PTR,
}
pub type MIDL_STUB_MESSAGE = Struct__MIDL_STUB_MESSAGE;
pub type PMIDL_STUB_MESSAGE = *mut Struct__MIDL_STUB_MESSAGE;
pub type GENERIC_BINDING_ROUTINE =
::std::option::Option<extern "C" fn(arg1: *mut ::libc::c_void)
-> *mut ::libc::c_void>;
pub type GENERIC_UNBIND_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void,
arg2: *mut ::libc::c_uchar)>;
#[repr(C)]
pub struct Struct__GENERIC_BINDING_ROUTINE_PAIR {
pub pfnBind: GENERIC_BINDING_ROUTINE,
pub pfnUnbind: GENERIC_UNBIND_ROUTINE,
}
pub type GENERIC_BINDING_ROUTINE_PAIR = Struct__GENERIC_BINDING_ROUTINE_PAIR;
pub type PGENERIC_BINDING_ROUTINE_PAIR =
*mut Struct__GENERIC_BINDING_ROUTINE_PAIR;
#[repr(C)]
pub struct Struct___GENERIC_BINDING_INFO {
pub pObj: *mut ::libc::c_void,
pub Size: ::libc::c_uint,
pub pfnBind: GENERIC_BINDING_ROUTINE,
pub pfnUnbind: GENERIC_UNBIND_ROUTINE,
}
pub type GENERIC_BINDING_INFO = Struct___GENERIC_BINDING_INFO;
pub type PGENERIC_BINDING_INFO = *mut Struct___GENERIC_BINDING_INFO;
pub type XMIT_HELPER_ROUTINE =
::std::option::Option<extern "C" fn(arg1: PMIDL_STUB_MESSAGE)>;
#[repr(C)]
pub struct Struct__XMIT_ROUTINE_QUINTUPLE {
pub pfnTranslateToXmit: XMIT_HELPER_ROUTINE,
pub pfnTranslateFromXmit: XMIT_HELPER_ROUTINE,
pub pfnFreeXmit: XMIT_HELPER_ROUTINE,
pub pfnFreeInst: XMIT_HELPER_ROUTINE,
}
pub type XMIT_ROUTINE_QUINTUPLE = Struct__XMIT_ROUTINE_QUINTUPLE;
pub type PXMIT_ROUTINE_QUINTUPLE = *mut Struct__XMIT_ROUTINE_QUINTUPLE;
pub type USER_MARSHAL_SIZING_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: *mut ULONG, arg2: ULONG,
arg3: *mut ::libc::c_void) -> ULONG>;
pub type USER_MARSHAL_MARSHALLING_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: *mut ULONG, arg2: *mut ::libc::c_uchar,
arg3: *mut ::libc::c_void)
-> *mut ::libc::c_uchar>;
pub type USER_MARSHAL_UNMARSHALLING_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: *mut ULONG, arg2: *mut ::libc::c_uchar,
arg3: *mut ::libc::c_void)
-> *mut ::libc::c_uchar>;
pub type USER_MARSHAL_FREEING_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: *mut ULONG, arg2: *mut ::libc::c_void)>;
#[repr(C)]
pub struct Struct__USER_MARSHAL_ROUTINE_QUADRUPLE {
pub pfnBufferSize: USER_MARSHAL_SIZING_ROUTINE,
pub pfnMarshall: USER_MARSHAL_MARSHALLING_ROUTINE,
pub pfnUnmarshall: USER_MARSHAL_UNMARSHALLING_ROUTINE,
pub pfnFree: USER_MARSHAL_FREEING_ROUTINE,
}
pub type USER_MARSHAL_ROUTINE_QUADRUPLE =
Struct__USER_MARSHAL_ROUTINE_QUADRUPLE;
pub type Enum__USER_MARSHAL_CB_TYPE = ::libc::c_uint;
pub const USER_MARSHAL_CB_BUFFER_SIZE: ::libc::c_uint = 0;
pub const USER_MARSHAL_CB_MARSHALL: ::libc::c_uint = 1;
pub const USER_MARSHAL_CB_UNMARSHALL: ::libc::c_uint = 2;
pub const USER_MARSHAL_CB_FREE: ::libc::c_uint = 3;
pub type USER_MARSHAL_CB_TYPE = Enum__USER_MARSHAL_CB_TYPE;
#[repr(C)]
pub struct Struct__USER_MARSHAL_CB {
pub Flags: ::libc::c_ulong,
pub pStubMsg: PMIDL_STUB_MESSAGE,
pub pReserve: PFORMAT_STRING,
pub Signature: ::libc::c_ulong,
pub CBType: USER_MARSHAL_CB_TYPE,
pub pFormat: PFORMAT_STRING,
pub pTypeFormat: PFORMAT_STRING,
}
pub type USER_MARSHAL_CB = Struct__USER_MARSHAL_CB;
#[repr(C)]
pub struct Struct__MALLOC_FREE_STRUCT {
pub pfnAllocate: ::std::option::Option<extern "C" fn(arg1: size_t)
-> *mut ::libc::c_void>,
pub pfnFree: ::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void)>,
}
pub type MALLOC_FREE_STRUCT = Struct__MALLOC_FREE_STRUCT;
#[repr(C)]
pub struct Struct__COMM_FAULT_OFFSETS {
pub CommOffset: ::libc::c_short,
pub FaultOffset: ::libc::c_short,
}
pub type COMM_FAULT_OFFSETS = Struct__COMM_FAULT_OFFSETS;
pub type Enum__IDL_CS_CONVERT = ::libc::c_uint;
pub const IDL_CS_NO_CONVERT: ::libc::c_uint = 0;
pub const IDL_CS_IN_PLACE_CONVERT: ::libc::c_uint = 1;
pub const IDL_CS_NEW_BUFFER_CONVERT: ::libc::c_uint = 2;
pub type IDL_CS_CONVERT = Enum__IDL_CS_CONVERT;
pub type CS_TYPE_NET_SIZE_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: RPC_BINDING_HANDLE,
arg2: ::libc::c_ulong, arg3: ::libc::c_ulong,
arg4: *mut IDL_CS_CONVERT,
arg5: *mut ::libc::c_ulong,
arg6: *mut error_status_t)>;
pub type CS_TYPE_LOCAL_SIZE_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: RPC_BINDING_HANDLE,
arg2: ::libc::c_ulong, arg3: ::libc::c_ulong,
arg4: *mut IDL_CS_CONVERT,
arg5: *mut ::libc::c_ulong,
arg6: *mut error_status_t)>;
pub type CS_TYPE_TO_NETCS_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: RPC_BINDING_HANDLE,
arg2: ::libc::c_ulong,
arg3: *mut ::libc::c_void,
arg4: ::libc::c_ulong, arg5: *mut byte,
arg6: *mut ::libc::c_ulong,
arg7: *mut error_status_t)>;
pub type CS_TYPE_FROM_NETCS_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: RPC_BINDING_HANDLE,
arg2: ::libc::c_ulong, arg3: *mut byte,
arg4: ::libc::c_ulong, arg5: ::libc::c_ulong,
arg6: *mut ::libc::c_void,
arg7: *mut ::libc::c_ulong,
arg8: *mut error_status_t)>;
pub type CS_TAG_GETTING_ROUTINE =
::std::option::Option<extern "C" fn
(arg1: RPC_BINDING_HANDLE, arg2: ::libc::c_int,
arg3: *mut ::libc::c_ulong,
arg4: *mut ::libc::c_ulong,
arg5: *mut ::libc::c_ulong,
arg6: *mut error_status_t)>;
#[repr(C)]
pub struct Struct__NDR_CS_SIZE_CONVERT_ROUTINES {
pub pfnNetSize: CS_TYPE_NET_SIZE_ROUTINE,
pub pfnToNetCs: CS_TYPE_TO_NETCS_ROUTINE,
pub pfnLocalSize: CS_TYPE_LOCAL_SIZE_ROUTINE,
pub pfnFromNetCs: CS_TYPE_FROM_NETCS_ROUTINE,
}
pub type NDR_CS_SIZE_CONVERT_ROUTINES = Struct__NDR_CS_SIZE_CONVERT_ROUTINES;
#[repr(C)]
pub struct Struct__NDR_CS_ROUTINES {
pub pSizeConvertRoutines: *mut NDR_CS_SIZE_CONVERT_ROUTINES,
pub pTagGettingRoutines: *mut CS_TAG_GETTING_ROUTINE,
}
pub type NDR_CS_ROUTINES = Struct__NDR_CS_ROUTINES;
#[repr(C)]
pub struct Struct__MIDL_STUB_DESC {
pub RpcInterfaceInformation: *mut ::libc::c_void,
pub pfnAllocate: ::std::option::Option<extern "C" fn(arg1: size_t)
-> *mut ::libc::c_void>,
pub pfnFree: ::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void)>,
pub IMPLICIT_HANDLE_INFO: Union_Unnamed236,
pub apfnNdrRundownRoutines: *const NDR_RUNDOWN,
pub aGenericBindingRoutinePairs: *const GENERIC_BINDING_ROUTINE_PAIR,
pub apfnExprEval: *const EXPR_EVAL,
pub aXmitQuintuple: *const XMIT_ROUTINE_QUINTUPLE,
pub pFormatTypes: *const ::libc::c_uchar,
pub fCheckBounds: ::libc::c_int,
pub Version: ::libc::c_ulong,
pub pMallocFreeStruct: *mut MALLOC_FREE_STRUCT,
pub MIDLVersion: ::libc::c_long,
pub CommFaultOffsets: *const COMM_FAULT_OFFSETS,
pub aUserMarshalQuadruple: *const USER_MARSHAL_ROUTINE_QUADRUPLE,
pub NotifyRoutineTable: *const NDR_NOTIFY_ROUTINE,
pub mFlags: ULONG_PTR,
pub CsRoutineTables: *const NDR_CS_ROUTINES,
pub Reserved4: *mut ::libc::c_void,
pub Reserved5: ULONG_PTR,
}
#[repr(C)]
pub struct Union_Unnamed236 {
pub data: [u64, ..1u],
}
impl Union_Unnamed236 {
pub fn pAutoHandle(&mut self) -> *mut *mut handle_t {
unsafe { ::std::mem::transmute(self) }
}
pub fn pPrimitiveHandle(&mut self) -> *mut *mut handle_t {
unsafe { ::std::mem::transmute(self) }
}
pub fn pGenericBindingInfo(&mut self) -> *mut PGENERIC_BINDING_INFO {
unsafe { ::std::mem::transmute(self) }
}
}
pub type MIDL_STUB_DESC = Struct__MIDL_STUB_DESC;
pub type PMIDL_STUB_DESC = *const MIDL_STUB_DESC;
pub type PMIDL_XMIT_TYPE = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__MIDL_FORMAT_STRING {
pub Pad: ::libc::c_short,
pub Format: *mut ::libc::c_uchar,
}
pub type MIDL_FORMAT_STRING = Struct__MIDL_FORMAT_STRING;
pub type STUB_THUNK =
::std::option::Option<extern "C" fn(arg1: PMIDL_STUB_MESSAGE)>;
pub type SERVER_ROUTINE =
::std::option::Option<extern "C" fn() -> ::libc::c_long>;
#[repr(C)]
pub struct Struct__MIDL_SERVER_INFO_ {
pub pStubDesc: PMIDL_STUB_DESC,
pub DispatchTable: *const SERVER_ROUTINE,
pub ProcString: PFORMAT_STRING,
pub FmtStringOffset: *const ::libc::c_ushort,
pub ThunkTable: *const STUB_THUNK,
pub pTransferSyntax: PRPC_SYNTAX_IDENTIFIER,
pub nCount: ULONG_PTR,
pub pSyntaxInfo: PMIDL_SYNTAX_INFO,
}
pub type MIDL_SERVER_INFO = Struct__MIDL_SERVER_INFO_;
pub type PMIDL_SERVER_INFO = *mut Struct__MIDL_SERVER_INFO_;
#[repr(C)]
pub struct Struct__MIDL_STUBLESS_PROXY_INFO {
pub pStubDesc: PMIDL_STUB_DESC,
pub ProcFormatString: PFORMAT_STRING,
pub FormatStringOffset: *const ::libc::c_ushort,
pub pTransferSyntax: PRPC_SYNTAX_IDENTIFIER,
pub nCount: ULONG_PTR,
pub pSyntaxInfo: PMIDL_SYNTAX_INFO,
}
pub type MIDL_STUBLESS_PROXY_INFO = Struct__MIDL_STUBLESS_PROXY_INFO;
pub type PMIDL_STUBLESS_PROXY_INFO = *mut MIDL_STUBLESS_PROXY_INFO;
#[repr(C)]
pub struct Struct__MIDL_SYNTAX_INFO {
pub TransferSyntax: RPC_SYNTAX_IDENTIFIER,
pub DispatchTable: *mut RPC_DISPATCH_TABLE,
pub ProcString: PFORMAT_STRING,
pub FmtStringOffset: *const ::libc::c_ushort,
pub TypeString: PFORMAT_STRING,
pub aUserMarshalQuadruple: *const ::libc::c_void,
pub pReserved1: ULONG_PTR,
pub pReserved2: ULONG_PTR,
}
pub type PARAM_OFFSETTABLE = *mut ::libc::c_ushort;
pub type PPARAM_OFFSETTABLE = *mut ::libc::c_ushort;
#[repr(C)]
pub struct Union__CLIENT_CALL_RETURN {
pub data: [u64, ..1u],
}
impl Union__CLIENT_CALL_RETURN {
pub fn Pointer(&mut self) -> *mut *mut ::libc::c_void {
unsafe { ::std::mem::transmute(self) }
}
pub fn Simple(&mut self) -> *mut LONG_PTR {
unsafe { ::std::mem::transmute(self) }
}
}
pub type CLIENT_CALL_RETURN = Union__CLIENT_CALL_RETURN;
pub type Enum_Unnamed237 = ::libc::c_uint;
pub const XLAT_SERVER: ::libc::c_uint = 1;
pub const XLAT_CLIENT: ::libc::c_uint = 2;
pub type XLAT_SIDE = Enum_Unnamed237;
#[repr(C)]
pub struct Struct__FULL_PTR_TO_REFID_ELEMENT {
pub Next: *mut Struct__FULL_PTR_TO_REFID_ELEMENT,
pub Pointer: *mut ::libc::c_void,
pub RefId: ::libc::c_ulong,
pub State: ::libc::c_uchar,
}
pub type FULL_PTR_TO_REFID_ELEMENT = Struct__FULL_PTR_TO_REFID_ELEMENT;
pub type PFULL_PTR_TO_REFID_ELEMENT = *mut Struct__FULL_PTR_TO_REFID_ELEMENT;
#[repr(C)]
pub struct Struct__FULL_PTR_XLAT_TABLES {
pub RefIdToPointer: Struct_Unnamed238,
pub PointerToRefId: Struct_Unnamed239,
pub NextRefId: ::libc::c_ulong,
pub XlatSide: XLAT_SIDE,
}
#[repr(C)]
pub struct Struct_Unnamed238 {
pub XlatTable: *mut *mut ::libc::c_void,
pub StateTable: *mut ::libc::c_uchar,
pub NumberOfEntries: ::libc::c_ulong,
}
#[repr(C)]
pub struct Struct_Unnamed239 {
pub XlatTable: *mut PFULL_PTR_TO_REFID_ELEMENT,
pub NumberOfBuckets: ::libc::c_ulong,
pub HashMask: ::libc::c_ulong,
}
pub type FULL_PTR_XLAT_TABLES = Struct__FULL_PTR_XLAT_TABLES;
pub type PFULL_PTR_XLAT_TABLES = *mut Struct__FULL_PTR_XLAT_TABLES;
pub type Enum_Unnamed240 = ::libc::c_uint;
pub const STUB_UNMARSHAL: ::libc::c_uint = 0;
pub const STUB_CALL_SERVER: ::libc::c_uint = 1;
pub const STUB_MARSHAL: ::libc::c_uint = 2;
pub const STUB_CALL_SERVER_NO_HRESULT: ::libc::c_uint = 3;
pub type STUB_PHASE = Enum_Unnamed240;
pub type Enum_Unnamed241 = ::libc::c_uint;
pub const PROXY_CALCSIZE: ::libc::c_uint = 0;
pub const PROXY_GETBUFFER: ::libc::c_uint = 1;
pub const PROXY_MARSHAL: ::libc::c_uint = 2;
pub const PROXY_SENDRECEIVE: ::libc::c_uint = 3;
pub const PROXY_UNMARSHAL: ::libc::c_uint = 4;
pub type PROXY_PHASE = Enum_Unnamed241;
pub type RPC_SS_THREAD_HANDLE = *mut ::libc::c_void;
pub type RPC_CLIENT_ALLOC = ::libc::c_void;
pub type RPC_CLIENT_FREE = ::libc::c_void;
#[repr(C)]
pub struct Struct__NDR_USER_MARSHAL_INFO_LEVEL1 {
pub Buffer: *mut ::libc::c_void,
pub BufferSize: ::libc::c_ulong,
pub pfnAllocate: ::std::option::Option<extern "C" fn(arg1: size_t)
-> *mut ::libc::c_void>,
pub pfnFree: ::std::option::Option<extern "C" fn
(arg1: *mut ::libc::c_void)>,
pub pRpcChannelBuffer: *mut Struct_IRpcChannelBuffer,
pub Reserved: [ULONG_PTR, ..5u],
}
pub type NDR_USER_MARSHAL_INFO_LEVEL1 = Struct__NDR_USER_MARSHAL_INFO_LEVEL1;
#[repr(C)]
pub struct Struct__NDR_USER_MARSHAL_INFO {
pub InformationLevel: ::libc::c_ulong,
}
#[repr(C)]
pub struct Union_Unnamed242 {
pub data: [u64, ..10u],
}
impl Union_Unnamed242 {
pub fn Level1(&mut self) -> *mut NDR_USER_MARSHAL_INFO_LEVEL1 {
unsafe { ::std::mem::transmute(self) }
}
}
pub type NDR_USER_MARSHAL_INFO = Struct__NDR_USER_MARSHAL_INFO;
pub type Enum_tagREGCLS = ::libc::c_uint;
pub const REGCLS_SINGLEUSE: ::libc::c_uint = 0;
pub const REGCLS_MULTIPLEUSE: ::libc::c_uint = 1;
pub const REGCLS_MULTI_SEPARATE: ::libc::c_uint = 2;
pub const REGCLS_SUSPENDED: ::libc::c_uint = 4;
pub const REGCLS_SURROGATE: ::libc::c_uint = 8;
pub type REGCLS = Enum_tagREGCLS;
pub type IRpcStubBuffer = Struct_IRpcStubBuffer;
pub type IRpcChannelBuffer = Struct_IRpcChannelBuffer;
pub type Enum_tagCOINITBASE = ::libc::c_uint;
pub const COINITBASE_MULTITHREADED: ::libc::c_uint = 0;
pub type COINITBASE = Enum_tagCOINITBASE;
pub type OLECHAR = WCHAR;
pub type LPOLESTR = *mut OLECHAR;
pub type LPCOLESTR = *const OLECHAR;
pub type DOUBLE = ::libc::c_double;
#[repr(C)]
pub struct Struct__COAUTHIDENTITY {
pub User: *mut USHORT,
pub UserLength: ULONG,
pub Domain: *mut USHORT,
pub DomainLength: ULONG,
pub Password: *mut USHORT,
pub PasswordLength: ULONG,
pub Flags: ULONG,
}
pub type COAUTHIDENTITY = Struct__COAUTHIDENTITY;
#[repr(C)]
pub struct Struct__COAUTHINFO {
pub dwAuthnSvc: DWORD,
pub dwAuthzSvc: DWORD,
pub pwszServerPrincName: LPWSTR,
pub dwAuthnLevel: DWORD,
pub dwImpersonationLevel: DWORD,
pub pAuthIdentityData: *mut COAUTHIDENTITY,
pub dwCapabilities: DWORD,
}
pub type COAUTHINFO = Struct__COAUTHINFO;
pub type SCODE = LONG;
pub type PSCODE = *mut SCODE;
pub type Enum_tagMEMCTX = ::libc::c_int;
pub const MEMCTX_TASK: ::libc::c_int = 1;
pub const MEMCTX_SHARED: ::libc::c_int = 2;
pub const MEMCTX_MACSYSTEM: ::libc::c_int = 3;
pub const MEMCTX_UNKNOWN: ::libc::c_int = -1;
pub const MEMCTX_SAME: ::libc::c_int = -2;
pub type MEMCTX = Enum_tagMEMCTX;
pub type Enum_tagCLSCTX = ::libc::c_int;
pub const CLSCTX_INPROC_SERVER: ::libc::c_int = 1;
pub const CLSCTX_INPROC_HANDLER: ::libc::c_int = 2;
pub const CLSCTX_LOCAL_SERVER: ::libc::c_int = 4;
pub const CLSCTX_INPROC_SERVER16: ::libc::c_int = 8;
pub const CLSCTX_REMOTE_SERVER: ::libc::c_int = 16;
pub const CLSCTX_INPROC_HANDLER16: ::libc::c_int = 32;
pub const CLSCTX_RESERVED1: ::libc::c_int = 64;
pub const CLSCTX_RESERVED2: ::libc::c_int = 128;
pub const CLSCTX_RESERVED3: ::libc::c_int = 256;
pub const CLSCTX_RESERVED4: ::libc::c_int = 512;
pub const CLSCTX_NO_CODE_DOWNLOAD: ::libc::c_int = 1024;
pub const CLSCTX_RESERVED5: ::libc::c_int = 2048;
pub const CLSCTX_NO_CUSTOM_MARSHAL: ::libc::c_int = 4096;
pub const CLSCTX_ENABLE_CODE_DOWNLOAD: ::libc::c_int = 8192;
pub const CLSCTX_NO_FAILURE_LOG: ::libc::c_int = 16384;
pub const CLSCTX_DISABLE_AAA: ::libc::c_int = 32768;
pub const CLSCTX_ENABLE_AAA: ::libc::c_int = 65536;
pub const CLSCTX_FROM_DEFAULT_CONTEXT: ::libc::c_int = 131072;
pub const CLSCTX_ACTIVATE_32_BIT_SERVER: ::libc::c_int = 262144;
pub const CLSCTX_ACTIVATE_64_BIT_SERVER: ::libc::c_int = 524288;
pub const CLSCTX_ENABLE_CLOAKING: ::libc::c_int = 1048576;
pub const CLSCTX_APPCONTAINER: ::libc::c_int = 4194304;
pub const CLSCTX_ACTIVATE_AAA_AS_IU: ::libc::c_int = 8388608;
pub const CLSCTX_PS_DLL: ::libc::c_int = -2147483648;
pub type CLSCTX = Enum_tagCLSCTX;
pub type Enum_tagMSHLFLAGS = ::libc::c_uint;
pub const MSHLFLAGS_NORMAL: ::libc::c_uint = 0;
pub const MSHLFLAGS_TABLESTRONG: ::libc::c_uint = 1;
pub const MSHLFLAGS_TABLEWEAK: ::libc::c_uint = 2;
pub const MSHLFLAGS_NOPING: ::libc::c_uint = 4;
pub const MSHLFLAGS_RESERVED1: ::libc::c_uint = 8;
pub const MSHLFLAGS_RESERVED2: ::libc::c_uint = 16;
pub const MSHLFLAGS_RESERVED3: ::libc::c_uint = 32;
pub const MSHLFLAGS_RESERVED4: ::libc::c_uint = 64;
pub type MSHLFLAGS = Enum_tagMSHLFLAGS;
pub type Enum_tagMSHCTX = ::libc::c_uint;
pub const MSHCTX_LOCAL: ::libc::c_uint = 0;
pub const MSHCTX_NOSHAREDMEM: ::libc::c_uint = 1;
pub const MSHCTX_DIFFERENTMACHINE: ::libc::c_uint = 2;
pub const MSHCTX_INPROC: ::libc::c_uint = 3;
pub const MSHCTX_CROSSCTX: ::libc::c_uint = 4;
pub type MSHCTX = Enum_tagMSHCTX;
#[repr(C)]
pub struct Struct__BYTE_BLOB {
pub clSize: ULONG,
pub abData: [byte, ..1u],
}
pub type BYTE_BLOB = Struct__BYTE_BLOB;
pub type UP_BYTE_BLOB = *mut BYTE_BLOB;
#[repr(C)]
pub struct Struct__WORD_BLOB {
pub clSize: ULONG,
pub asData: [::libc::c_ushort, ..1u],
}
pub type WORD_BLOB = Struct__WORD_BLOB;
pub type UP_WORD_BLOB = *mut WORD_BLOB;
#[repr(C)]
pub struct Struct__DWORD_BLOB {
pub clSize: ULONG,
pub alData: [ULONG, ..1u],
}
pub type DWORD_BLOB = Struct__DWORD_BLOB;
pub type UP_DWORD_BLOB = *mut DWORD_BLOB;
#[repr(C)]
pub struct Struct__FLAGGED_BYTE_BLOB {
pub fFlags: ULONG,
pub clSize: ULONG,
pub abData: [byte, ..1u],
}
pub type FLAGGED_BYTE_BLOB = Struct__FLAGGED_BYTE_BLOB;
pub type UP_FLAGGED_BYTE_BLOB = *mut FLAGGED_BYTE_BLOB;
#[repr(C)]
pub struct Struct__FLAGGED_WORD_BLOB {
pub fFlags: ULONG,
pub clSize: ULONG,
pub asData: [::libc::c_ushort, ..1u],
}
pub type FLAGGED_WORD_BLOB = Struct__FLAGGED_WORD_BLOB;
pub type UP_FLAGGED_WORD_BLOB = *mut FLAGGED_WORD_BLOB;
#[repr(C)]
pub struct Struct__BYTE_SIZEDARR {
pub clSize: ULONG,
pub pData: *mut byte,
}
pub type BYTE_SIZEDARR = Struct__BYTE_SIZEDARR;
#[repr(C)]
pub struct Struct__SHORT_SIZEDARR {
pub clSize: ULONG,
pub pData: *mut ::libc::c_ushort,
}
pub type WORD_SIZEDARR = Struct__SHORT_SIZEDARR;
#[repr(C)]
pub struct Struct__LONG_SIZEDARR {
pub clSize: ULONG,
pub pData: *mut ULONG,
}
pub type DWORD_SIZEDARR = Struct__LONG_SIZEDARR;
#[repr(C)]
pub struct Struct__HYPER_SIZEDARR {
pub clSize: ULONG,
pub pData: *mut ::libc::c_longlong,
}
pub type HYPER_SIZEDARR = Struct__HYPER_SIZEDARR;
#[repr(C)]
pub struct Struct_tagBLOB {
pub cbSize: ULONG,
pub pBlobData: *mut BYTE,
}
pub type BLOB = Struct_tagBLOB;
pub type LPBLOB = *mut Struct_tagBLOB;
pub type IUnknown = Struct_IUnknown;
pub type AsyncIUnknown = Struct_AsyncIUnknown;
pub type IClassFactory = Struct_IClassFactory;
pub type LPUNKNOWN = *mut IUnknown;
#[repr(C)]
pub struct Struct_IUnknownVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IUnknown,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IUnknown)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IUnknown)
-> ULONG>,
}
pub type IUnknownVtbl = Struct_IUnknownVtbl;
#[repr(C)]
pub struct Struct_IUnknown {
pub lpVtbl: *mut IUnknownVtbl,
}
#[repr(C)]
pub struct Struct_AsyncIUnknownVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIUnknown,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut AsyncIUnknown)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut AsyncIUnknown)
-> ULONG>,
pub Begin_QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIUnknown,
arg2: *const IID)
-> HRESULT>,
pub Finish_QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIUnknown,
arg2:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub Begin_AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIUnknown)
-> HRESULT>,
pub Finish_AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIUnknown)
-> ULONG>,
pub Begin_Release: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIUnknown)
-> HRESULT>,
pub Finish_Release: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIUnknown)
-> ULONG>,
}
pub type AsyncIUnknownVtbl = Struct_AsyncIUnknownVtbl;
#[repr(C)]
pub struct Struct_AsyncIUnknown {
pub lpVtbl: *mut AsyncIUnknownVtbl,
}
pub type LPCLASSFACTORY = *mut IClassFactory;
#[repr(C)]
pub struct Struct_IClassFactoryVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IClassFactory,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IClassFactory)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IClassFactory)
-> ULONG>,
pub CreateInstance: ::std::option::Option<extern "C" fn
(arg1: *mut IClassFactory,
arg2: *mut IUnknown,
arg3: *const IID,
arg4:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub LockServer: ::std::option::Option<extern "C" fn
(arg1: *mut IClassFactory,
arg2: WINBOOL) -> HRESULT>,
}
pub type IClassFactoryVtbl = Struct_IClassFactoryVtbl;
#[repr(C)]
pub struct Struct_IClassFactory {
pub lpVtbl: *mut IClassFactoryVtbl,
}
pub type IMarshal = Struct_IMarshal;
pub type INoMarshal = Struct_INoMarshal;
pub type IAgileObject = Struct_IAgileObject;
pub type IMarshal2 = Struct_IMarshal2;
pub type IMalloc = Struct_IMalloc;
pub type IStdMarshalInfo = Struct_IStdMarshalInfo;
pub type IExternalConnection = Struct_IExternalConnection;
pub type IMultiQI = Struct_IMultiQI;
pub type AsyncIMultiQI = Struct_AsyncIMultiQI;
pub type IInternalUnknown = Struct_IInternalUnknown;
pub type IEnumUnknown = Struct_IEnumUnknown;
pub type IEnumString = Struct_IEnumString;
pub type ISequentialStream = Struct_ISequentialStream;
pub type IStream = Struct_IStream;
pub type IRpcChannelBuffer2 = Struct_IRpcChannelBuffer2;
pub type IAsyncRpcChannelBuffer = Struct_IAsyncRpcChannelBuffer;
pub type IRpcChannelBuffer3 = Struct_IRpcChannelBuffer3;
pub type IRpcSyntaxNegotiate = Struct_IRpcSyntaxNegotiate;
pub type IRpcProxyBuffer = Struct_IRpcProxyBuffer;
pub type IPSFactoryBuffer = Struct_IPSFactoryBuffer;
pub type IChannelHook = Struct_IChannelHook;
pub type IClientSecurity = Struct_IClientSecurity;
pub type IServerSecurity = Struct_IServerSecurity;
pub type IRpcOptions = Struct_IRpcOptions;
pub type IGlobalOptions = Struct_IGlobalOptions;
pub type ISurrogate = Struct_ISurrogate;
pub type IGlobalInterfaceTable = Struct_IGlobalInterfaceTable;
pub type ISynchronize = Struct_ISynchronize;
pub type ISynchronizeHandle = Struct_ISynchronizeHandle;
pub type ISynchronizeEvent = Struct_ISynchronizeEvent;
pub type ISynchronizeContainer = Struct_ISynchronizeContainer;
pub type ISynchronizeMutex = Struct_ISynchronizeMutex;
pub type ICancelMethodCalls = Struct_ICancelMethodCalls;
pub type IAsyncManager = Struct_IAsyncManager;
pub type ICallFactory = Struct_ICallFactory;
pub type IRpcHelper = Struct_IRpcHelper;
pub type IReleaseMarshalBuffers = Struct_IReleaseMarshalBuffers;
pub type IWaitMultiple = Struct_IWaitMultiple;
pub type IAddrTrackingControl = Struct_IAddrTrackingControl;
pub type IAddrExclusionControl = Struct_IAddrExclusionControl;
pub type IPipeByte = Struct_IPipeByte;
pub type IPipeLong = Struct_IPipeLong;
pub type IPipeDouble = Struct_IPipeDouble;
pub enum Struct_IEnumContextProps { }
pub type IEnumContextProps = Struct_IEnumContextProps;
pub enum Struct_IContext { }
pub type IContext = Struct_IContext;
pub type IComThreadingInfo = Struct_IComThreadingInfo;
pub type IProcessInitControl = Struct_IProcessInitControl;
pub type IFastRundown = Struct_IFastRundown;
pub type IMarshalingStream = Struct_IMarshalingStream;
#[repr(C)]
pub struct Struct__COSERVERINFO {
pub dwReserved1: DWORD,
pub pwszName: LPWSTR,
pub pAuthInfo: *mut COAUTHINFO,
pub dwReserved2: DWORD,
}
pub type COSERVERINFO = Struct__COSERVERINFO;
pub type LPMARSHAL = *mut IMarshal;
#[repr(C)]
pub struct Struct_IMarshalVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IMarshal)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IMarshal)
-> ULONG>,
pub GetUnmarshalClass: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal,
arg2: *const IID,
arg3:
*mut ::libc::c_void,
arg4: DWORD,
arg5:
*mut ::libc::c_void,
arg6: DWORD,
arg7: *mut CLSID)
-> HRESULT>,
pub GetMarshalSizeMax: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal,
arg2: *const IID,
arg3:
*mut ::libc::c_void,
arg4: DWORD,
arg5:
*mut ::libc::c_void,
arg6: DWORD,
arg7: *mut DWORD)
-> HRESULT>,
pub MarshalInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal,
arg2: *mut IStream,
arg3: *const IID,
arg4:
*mut ::libc::c_void,
arg5: DWORD,
arg6:
*mut ::libc::c_void,
arg7: DWORD) -> HRESULT>,
pub UnmarshalInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal,
arg2: *mut IStream,
arg3: *const IID,
arg4:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub ReleaseMarshalData: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal,
arg2: *mut IStream)
-> HRESULT>,
pub DisconnectObject: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal,
arg2: DWORD) -> HRESULT>,
}
pub type IMarshalVtbl = Struct_IMarshalVtbl;
#[repr(C)]
pub struct Struct_IMarshal {
pub lpVtbl: *mut IMarshalVtbl,
}
#[repr(C)]
pub struct Struct_INoMarshalVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut INoMarshal,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut INoMarshal)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut INoMarshal)
-> ULONG>,
}
pub type INoMarshalVtbl = Struct_INoMarshalVtbl;
#[repr(C)]
pub struct Struct_INoMarshal {
pub lpVtbl: *mut INoMarshalVtbl,
}
#[repr(C)]
pub struct Struct_IAgileObjectVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IAgileObject,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IAgileObject)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IAgileObject)
-> ULONG>,
}
pub type IAgileObjectVtbl = Struct_IAgileObjectVtbl;
#[repr(C)]
pub struct Struct_IAgileObject {
pub lpVtbl: *mut IAgileObjectVtbl,
}
pub type LPMARSHAL2 = *mut IMarshal2;
#[repr(C)]
pub struct Struct_IMarshal2Vtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal2,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IMarshal2)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IMarshal2)
-> ULONG>,
pub GetUnmarshalClass: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal2,
arg2: *const IID,
arg3:
*mut ::libc::c_void,
arg4: DWORD,
arg5:
*mut ::libc::c_void,
arg6: DWORD,
arg7: *mut CLSID)
-> HRESULT>,
pub GetMarshalSizeMax: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal2,
arg2: *const IID,
arg3:
*mut ::libc::c_void,
arg4: DWORD,
arg5:
*mut ::libc::c_void,
arg6: DWORD,
arg7: *mut DWORD)
-> HRESULT>,
pub MarshalInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal2,
arg2: *mut IStream,
arg3: *const IID,
arg4:
*mut ::libc::c_void,
arg5: DWORD,
arg6:
*mut ::libc::c_void,
arg7: DWORD) -> HRESULT>,
pub UnmarshalInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal2,
arg2: *mut IStream,
arg3: *const IID,
arg4:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub ReleaseMarshalData: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal2,
arg2: *mut IStream)
-> HRESULT>,
pub DisconnectObject: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshal2,
arg2: DWORD) -> HRESULT>,
}
pub type IMarshal2Vtbl = Struct_IMarshal2Vtbl;
#[repr(C)]
pub struct Struct_IMarshal2 {
pub lpVtbl: *mut IMarshal2Vtbl,
}
pub type LPMALLOC = *mut IMalloc;
#[repr(C)]
pub struct Struct_IMallocVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMalloc,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IMalloc)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IMalloc)
-> ULONG>,
pub Alloc: ::std::option::Option<extern "C" fn
(arg1: *mut IMalloc, arg2: SIZE_T)
-> *mut ::libc::c_void>,
pub Realloc: ::std::option::Option<extern "C" fn
(arg1: *mut IMalloc,
arg2: *mut ::libc::c_void,
arg3: SIZE_T)
-> *mut ::libc::c_void>,
pub Free: ::std::option::Option<extern "C" fn
(arg1: *mut IMalloc,
arg2: *mut ::libc::c_void)>,
pub GetSize: ::std::option::Option<extern "C" fn
(arg1: *mut IMalloc,
arg2: *mut ::libc::c_void)
-> SIZE_T>,
pub DidAlloc: ::std::option::Option<extern "C" fn
(arg1: *mut IMalloc,
arg2: *mut ::libc::c_void)
-> ::libc::c_int>,
pub HeapMinimize: ::std::option::Option<extern "C" fn
(arg1: *mut IMalloc)>,
}
pub type IMallocVtbl = Struct_IMallocVtbl;
#[repr(C)]
pub struct Struct_IMalloc {
pub lpVtbl: *mut IMallocVtbl,
}
pub type LPSTDMARSHALINFO = *mut IStdMarshalInfo;
#[repr(C)]
pub struct Struct_IStdMarshalInfoVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IStdMarshalInfo,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IStdMarshalInfo)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IStdMarshalInfo)
-> ULONG>,
pub GetClassForHandler: ::std::option::Option<extern "C" fn
(arg1:
*mut IStdMarshalInfo,
arg2: DWORD,
arg3:
*mut ::libc::c_void,
arg4: *mut CLSID)
-> HRESULT>,
}
pub type IStdMarshalInfoVtbl = Struct_IStdMarshalInfoVtbl;
#[repr(C)]
pub struct Struct_IStdMarshalInfo {
pub lpVtbl: *mut IStdMarshalInfoVtbl,
}
pub type LPEXTERNALCONNECTION = *mut IExternalConnection;
pub type Enum_tagEXTCONN = ::libc::c_uint;
pub const EXTCONN_STRONG: ::libc::c_uint = 1;
pub const EXTCONN_WEAK: ::libc::c_uint = 2;
pub const EXTCONN_CALLABLE: ::libc::c_uint = 4;
pub type EXTCONN = Enum_tagEXTCONN;
#[repr(C)]
pub struct Struct_IExternalConnectionVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IExternalConnection,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IExternalConnection)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IExternalConnection)
-> ULONG>,
pub AddConnection: ::std::option::Option<extern "C" fn
(arg1:
*mut IExternalConnection,
arg2: DWORD, arg3: DWORD)
-> DWORD>,
pub ReleaseConnection: ::std::option::Option<extern "C" fn
(arg1:
*mut IExternalConnection,
arg2: DWORD,
arg3: DWORD,
arg4: WINBOOL)
-> DWORD>,
}
pub type IExternalConnectionVtbl = Struct_IExternalConnectionVtbl;
#[repr(C)]
pub struct Struct_IExternalConnection {
pub lpVtbl: *mut IExternalConnectionVtbl,
}
pub type LPMULTIQI = *mut IMultiQI;
#[repr(C)]
pub struct Struct_tagMULTI_QI {
pub pIID: *const IID,
pub pItf: *mut IUnknown,
pub hr: HRESULT,
}
pub type MULTI_QI = Struct_tagMULTI_QI;
#[repr(C)]
pub struct Struct_IMultiQIVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMultiQI,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IMultiQI)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IMultiQI)
-> ULONG>,
pub QueryMultipleInterfaces: ::std::option::Option<extern "C" fn
(arg1:
*mut IMultiQI,
arg2: ULONG,
arg3:
*mut MULTI_QI)
-> HRESULT>,
}
pub type IMultiQIVtbl = Struct_IMultiQIVtbl;
#[repr(C)]
pub struct Struct_IMultiQI {
pub lpVtbl: *mut IMultiQIVtbl,
}
#[repr(C)]
pub struct Struct_AsyncIMultiQIVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIMultiQI,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut AsyncIMultiQI)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut AsyncIMultiQI)
-> ULONG>,
pub Begin_QueryMultipleInterfaces: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIMultiQI,
arg2: ULONG,
arg3:
*mut MULTI_QI)>,
pub Finish_QueryMultipleInterfaces: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIMultiQI,
arg2:
*mut MULTI_QI)
-> HRESULT>,
}
pub type AsyncIMultiQIVtbl = Struct_AsyncIMultiQIVtbl;
#[repr(C)]
pub struct Struct_AsyncIMultiQI {
pub lpVtbl: *mut AsyncIMultiQIVtbl,
}
#[repr(C)]
pub struct Struct_IInternalUnknownVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IInternalUnknown,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IInternalUnknown)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IInternalUnknown)
-> ULONG>,
pub QueryInternalInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IInternalUnknown,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
}
pub type IInternalUnknownVtbl = Struct_IInternalUnknownVtbl;
#[repr(C)]
pub struct Struct_IInternalUnknown {
pub lpVtbl: *mut IInternalUnknownVtbl,
}
pub type LPENUMUNKNOWN = *mut IEnumUnknown;
#[repr(C)]
pub struct Struct_IEnumUnknownVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumUnknown,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IEnumUnknown)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IEnumUnknown)
-> ULONG>,
pub Next: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumUnknown, arg2: ULONG,
arg3: *mut *mut IUnknown,
arg4: *mut ULONG) -> HRESULT>,
pub Skip: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumUnknown, arg2: ULONG)
-> HRESULT>,
pub Reset: ::std::option::Option<extern "C" fn(arg1: *mut IEnumUnknown)
-> HRESULT>,
pub Clone: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumUnknown,
arg2: *mut *mut IEnumUnknown)
-> HRESULT>,
}
pub type IEnumUnknownVtbl = Struct_IEnumUnknownVtbl;
#[repr(C)]
pub struct Struct_IEnumUnknown {
pub lpVtbl: *mut IEnumUnknownVtbl,
}
pub type LPENUMSTRING = *mut IEnumString;
#[repr(C)]
pub struct Struct_IEnumStringVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumString,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IEnumString)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IEnumString)
-> ULONG>,
pub Next: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumString, arg2: ULONG,
arg3: *mut LPOLESTR,
arg4: *mut ULONG) -> HRESULT>,
pub Skip: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumString, arg2: ULONG)
-> HRESULT>,
pub Reset: ::std::option::Option<extern "C" fn(arg1: *mut IEnumString)
-> HRESULT>,
pub Clone: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumString,
arg2: *mut *mut IEnumString)
-> HRESULT>,
}
pub type IEnumStringVtbl = Struct_IEnumStringVtbl;
#[repr(C)]
pub struct Struct_IEnumString {
pub lpVtbl: *mut IEnumStringVtbl,
}
#[repr(C)]
pub struct Struct_ISequentialStreamVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut ISequentialStream,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut ISequentialStream)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut ISequentialStream)
-> ULONG>,
pub Read: ::std::option::Option<extern "C" fn
(arg1: *mut ISequentialStream,
arg2: *mut ::libc::c_void,
arg3: ULONG, arg4: *mut ULONG)
-> HRESULT>,
pub Write: ::std::option::Option<extern "C" fn
(arg1: *mut ISequentialStream,
arg2: *const ::libc::c_void,
arg3: ULONG, arg4: *mut ULONG)
-> HRESULT>,
}
pub type ISequentialStreamVtbl = Struct_ISequentialStreamVtbl;
#[repr(C)]
pub struct Struct_ISequentialStream {
pub lpVtbl: *mut ISequentialStreamVtbl,
}
pub type LPSTREAM = *mut IStream;
#[repr(C)]
pub struct Struct_tagSTATSTG {
pub pwcsName: LPOLESTR,
pub _type: DWORD,
pub cbSize: ULARGE_INTEGER,
pub mtime: FILETIME,
pub ctime: FILETIME,
pub atime: FILETIME,
pub grfMode: DWORD,
pub grfLocksSupported: DWORD,
pub clsid: CLSID,
pub grfStateBits: DWORD,
pub reserved: DWORD,
}
pub type STATSTG = Struct_tagSTATSTG;
pub type Enum_tagSTGTY = ::libc::c_uint;
pub const STGTY_STORAGE: ::libc::c_uint = 1;
pub const STGTY_STREAM: ::libc::c_uint = 2;
pub const STGTY_LOCKBYTES: ::libc::c_uint = 3;
pub const STGTY_PROPERTY: ::libc::c_uint = 4;
pub type STGTY = Enum_tagSTGTY;
pub type Enum_tagSTREAM_SEEK = ::libc::c_uint;
pub const STREAM_SEEK_SET: ::libc::c_uint = 0;
pub const STREAM_SEEK_CUR: ::libc::c_uint = 1;
pub const STREAM_SEEK_END: ::libc::c_uint = 2;
pub type STREAM_SEEK = Enum_tagSTREAM_SEEK;
pub type Enum_tagLOCKTYPE = ::libc::c_uint;
pub const LOCK_WRITE: ::libc::c_uint = 1;
pub const LOCK_EXCLUSIVE: ::libc::c_uint = 2;
pub const LOCK_ONLYONCE: ::libc::c_uint = 4;
pub type LOCKTYPE = Enum_tagLOCKTYPE;
#[repr(C)]
pub struct Struct_IStreamVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IStream)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IStream)
-> ULONG>,
pub Read: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: *mut ::libc::c_void,
arg3: ULONG, arg4: *mut ULONG)
-> HRESULT>,
pub Write: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: *const ::libc::c_void,
arg3: ULONG, arg4: *mut ULONG)
-> HRESULT>,
pub Seek: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: LARGE_INTEGER, arg3: DWORD,
arg4: *mut ULARGE_INTEGER)
-> HRESULT>,
pub SetSize: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: ULARGE_INTEGER) -> HRESULT>,
pub CopyTo: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: *mut IStream,
arg3: ULARGE_INTEGER,
arg4: *mut ULARGE_INTEGER,
arg5: *mut ULARGE_INTEGER)
-> HRESULT>,
pub Commit: ::std::option::Option<extern "C" fn
(arg1: *mut IStream, arg2: DWORD)
-> HRESULT>,
pub Revert: ::std::option::Option<extern "C" fn(arg1: *mut IStream)
-> HRESULT>,
pub LockRegion: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: ULARGE_INTEGER,
arg3: ULARGE_INTEGER,
arg4: DWORD) -> HRESULT>,
pub UnlockRegion: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: ULARGE_INTEGER,
arg3: ULARGE_INTEGER,
arg4: DWORD) -> HRESULT>,
pub Stat: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: *mut STATSTG, arg3: DWORD)
-> HRESULT>,
pub Clone: ::std::option::Option<extern "C" fn
(arg1: *mut IStream,
arg2: *mut *mut IStream)
-> HRESULT>,
}
pub type IStreamVtbl = Struct_IStreamVtbl;
#[repr(C)]
pub struct Struct_IStream {
pub lpVtbl: *mut IStreamVtbl,
}
pub type RPCOLEDATAREP = ULONG;
#[repr(C)]
pub struct Struct_tagRPCOLEMESSAGE {
pub reserved1: *mut ::libc::c_void,
pub dataRepresentation: RPCOLEDATAREP,
pub Buffer: *mut ::libc::c_void,
pub cbBuffer: ULONG,
pub iMethod: ULONG,
pub reserved2: [*mut ::libc::c_void, ..5u],
pub rpcFlags: ULONG,
}
pub type RPCOLEMESSAGE = Struct_tagRPCOLEMESSAGE;
pub type PRPCOLEMESSAGE = *mut RPCOLEMESSAGE;
#[repr(C)]
pub struct Struct_IRpcChannelBufferVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcChannelBuffer,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer)
-> ULONG>,
pub GetBuffer: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer,
arg2: *mut RPCOLEMESSAGE,
arg3: *const IID) -> HRESULT>,
pub SendReceive: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut ULONG) -> HRESULT>,
pub FreeBuffer: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer,
arg2: *mut RPCOLEMESSAGE)
-> HRESULT>,
pub GetDestCtx: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer,
arg2: *mut DWORD,
arg3: *mut *mut ::libc::c_void)
-> HRESULT>,
pub IsConnected: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer)
-> HRESULT>,
}
pub type IRpcChannelBufferVtbl = Struct_IRpcChannelBufferVtbl;
#[repr(C)]
pub struct Struct_IRpcChannelBuffer {
pub lpVtbl: *mut IRpcChannelBufferVtbl,
}
#[repr(C)]
pub struct Struct_IRpcChannelBuffer2Vtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcChannelBuffer2,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer2)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer2)
-> ULONG>,
pub GetBuffer: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer2,
arg2: *mut RPCOLEMESSAGE,
arg3: *const IID) -> HRESULT>,
pub SendReceive: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer2,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut ULONG) -> HRESULT>,
pub FreeBuffer: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer2,
arg2: *mut RPCOLEMESSAGE)
-> HRESULT>,
pub GetDestCtx: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer2,
arg2: *mut DWORD,
arg3: *mut *mut ::libc::c_void)
-> HRESULT>,
pub IsConnected: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer2)
-> HRESULT>,
pub GetProtocolVersion: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcChannelBuffer2,
arg2: *mut DWORD)
-> HRESULT>,
}
pub type IRpcChannelBuffer2Vtbl = Struct_IRpcChannelBuffer2Vtbl;
#[repr(C)]
pub struct Struct_IRpcChannelBuffer2 {
pub lpVtbl: *mut IRpcChannelBuffer2Vtbl,
}
#[repr(C)]
pub struct Struct_IAsyncRpcChannelBufferVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IAsyncRpcChannelBuffer,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IAsyncRpcChannelBuffer)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IAsyncRpcChannelBuffer)
-> ULONG>,
pub GetBuffer: ::std::option::Option<extern "C" fn
(arg1:
*mut IAsyncRpcChannelBuffer,
arg2: *mut RPCOLEMESSAGE,
arg3: *const IID) -> HRESULT>,
pub SendReceive: ::std::option::Option<extern "C" fn
(arg1:
*mut IAsyncRpcChannelBuffer,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut ULONG) -> HRESULT>,
pub FreeBuffer: ::std::option::Option<extern "C" fn
(arg1:
*mut IAsyncRpcChannelBuffer,
arg2: *mut RPCOLEMESSAGE)
-> HRESULT>,
pub GetDestCtx: ::std::option::Option<extern "C" fn
(arg1:
*mut IAsyncRpcChannelBuffer,
arg2: *mut DWORD,
arg3: *mut *mut ::libc::c_void)
-> HRESULT>,
pub IsConnected: ::std::option::Option<extern "C" fn
(arg1:
*mut IAsyncRpcChannelBuffer)
-> HRESULT>,
pub GetProtocolVersion: ::std::option::Option<extern "C" fn
(arg1:
*mut IAsyncRpcChannelBuffer,
arg2: *mut DWORD)
-> HRESULT>,
pub Send: ::std::option::Option<extern "C" fn
(arg1: *mut IAsyncRpcChannelBuffer,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut ISynchronize,
arg4: *mut ULONG) -> HRESULT>,
pub Receive: ::std::option::Option<extern "C" fn
(arg1: *mut IAsyncRpcChannelBuffer,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut ULONG) -> HRESULT>,
pub GetDestCtxEx: ::std::option::Option<extern "C" fn
(arg1:
*mut IAsyncRpcChannelBuffer,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut DWORD,
arg4:
*mut *mut ::libc::c_void)
-> HRESULT>,
}
pub type IAsyncRpcChannelBufferVtbl = Struct_IAsyncRpcChannelBufferVtbl;
#[repr(C)]
pub struct Struct_IAsyncRpcChannelBuffer {
pub lpVtbl: *mut IAsyncRpcChannelBufferVtbl,
}
#[repr(C)]
pub struct Struct_IRpcChannelBuffer3Vtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcChannelBuffer3,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3)
-> ULONG>,
pub GetBuffer: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE,
arg3: *const IID) -> HRESULT>,
pub SendReceive: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut ULONG) -> HRESULT>,
pub FreeBuffer: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE)
-> HRESULT>,
pub GetDestCtx: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3,
arg2: *mut DWORD,
arg3: *mut *mut ::libc::c_void)
-> HRESULT>,
pub IsConnected: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3)
-> HRESULT>,
pub GetProtocolVersion: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcChannelBuffer3,
arg2: *mut DWORD)
-> HRESULT>,
pub Send: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut ULONG) -> HRESULT>,
pub Receive: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE,
arg3: ULONG, arg4: *mut ULONG)
-> HRESULT>,
pub Cancel: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE)
-> HRESULT>,
pub GetCallContext: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE,
arg3: *const IID,
arg4:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub GetDestCtxEx: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut DWORD,
arg4:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub GetState: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut DWORD) -> HRESULT>,
pub RegisterAsync: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcChannelBuffer3,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut IAsyncManager)
-> HRESULT>,
}
pub type IRpcChannelBuffer3Vtbl = Struct_IRpcChannelBuffer3Vtbl;
#[repr(C)]
pub struct Struct_IRpcChannelBuffer3 {
pub lpVtbl: *mut IRpcChannelBuffer3Vtbl,
}
#[repr(C)]
pub struct Struct_IRpcSyntaxNegotiateVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcSyntaxNegotiate,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcSyntaxNegotiate)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcSyntaxNegotiate)
-> ULONG>,
pub NegotiateSyntax: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcSyntaxNegotiate,
arg2: *mut RPCOLEMESSAGE)
-> HRESULT>,
}
pub type IRpcSyntaxNegotiateVtbl = Struct_IRpcSyntaxNegotiateVtbl;
#[repr(C)]
pub struct Struct_IRpcSyntaxNegotiate {
pub lpVtbl: *mut IRpcSyntaxNegotiateVtbl,
}
#[repr(C)]
pub struct Struct_IRpcProxyBufferVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcProxyBuffer,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcProxyBuffer)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcProxyBuffer)
-> ULONG>,
pub Connect: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcProxyBuffer,
arg2: *mut IRpcChannelBuffer)
-> HRESULT>,
pub Disconnect: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcProxyBuffer)>,
}
pub type IRpcProxyBufferVtbl = Struct_IRpcProxyBufferVtbl;
#[repr(C)]
pub struct Struct_IRpcProxyBuffer {
pub lpVtbl: *mut IRpcProxyBufferVtbl,
}
#[repr(C)]
pub struct Struct_IRpcStubBufferVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcStubBuffer,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IRpcStubBuffer)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcStubBuffer)
-> ULONG>,
pub Connect: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcStubBuffer,
arg2: *mut IUnknown) -> HRESULT>,
pub Disconnect: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcStubBuffer)>,
pub Invoke: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcStubBuffer,
arg2: *mut RPCOLEMESSAGE,
arg3: *mut IRpcChannelBuffer)
-> HRESULT>,
pub IsIIDSupported: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcStubBuffer,
arg2: *const IID)
-> *mut IRpcStubBuffer>,
pub CountRefs: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcStubBuffer)
-> ULONG>,
pub DebugServerQueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcStubBuffer,
arg2:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub DebugServerRelease: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcStubBuffer,
arg2:
*mut ::libc::c_void)>,
}
pub type IRpcStubBufferVtbl = Struct_IRpcStubBufferVtbl;
#[repr(C)]
pub struct Struct_IRpcStubBuffer {
pub lpVtbl: *mut IRpcStubBufferVtbl,
}
#[repr(C)]
pub struct Struct_IPSFactoryBufferVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IPSFactoryBuffer,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IPSFactoryBuffer)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IPSFactoryBuffer)
-> ULONG>,
pub CreateProxy: ::std::option::Option<extern "C" fn
(arg1: *mut IPSFactoryBuffer,
arg2: *mut IUnknown,
arg3: *const IID,
arg4:
*mut *mut IRpcProxyBuffer,
arg5:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub CreateStub: ::std::option::Option<extern "C" fn
(arg1: *mut IPSFactoryBuffer,
arg2: *const IID,
arg3: *mut IUnknown,
arg4: *mut *mut IRpcStubBuffer)
-> HRESULT>,
}
pub type IPSFactoryBufferVtbl = Struct_IPSFactoryBufferVtbl;
#[repr(C)]
pub struct Struct_IPSFactoryBuffer {
pub lpVtbl: *mut IPSFactoryBufferVtbl,
}
#[repr(C)]
pub struct Struct_SChannelHookCallInfo {
pub iid: IID,
pub cbSize: DWORD,
pub uCausality: GUID,
pub dwServerPid: DWORD,
pub iMethod: DWORD,
pub pObject: *mut ::libc::c_void,
}
pub type SChannelHookCallInfo = Struct_SChannelHookCallInfo;
#[repr(C)]
pub struct Struct_IChannelHookVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IChannelHook,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IChannelHook)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IChannelHook)
-> ULONG>,
pub ClientGetSize: ::std::option::Option<extern "C" fn
(arg1: *mut IChannelHook,
arg2: *const GUID,
arg3: *const IID,
arg4: *mut ULONG)>,
pub ClientFillBuffer: ::std::option::Option<extern "C" fn
(arg1: *mut IChannelHook,
arg2: *const GUID,
arg3: *const IID,
arg4: *mut ULONG,
arg5:
*mut ::libc::c_void)>,
pub ClientNotify: ::std::option::Option<extern "C" fn
(arg1: *mut IChannelHook,
arg2: *const GUID,
arg3: *const IID,
arg4: ULONG,
arg5: *mut ::libc::c_void,
arg6: DWORD, arg7: HRESULT)>,
pub ServerNotify: ::std::option::Option<extern "C" fn
(arg1: *mut IChannelHook,
arg2: *const GUID,
arg3: *const IID,
arg4: ULONG,
arg5: *mut ::libc::c_void,
arg6: DWORD)>,
pub ServerGetSize: ::std::option::Option<extern "C" fn
(arg1: *mut IChannelHook,
arg2: *const GUID,
arg3: *const IID,
arg4: HRESULT,
arg5: *mut ULONG)>,
pub ServerFillBuffer: ::std::option::Option<extern "C" fn
(arg1: *mut IChannelHook,
arg2: *const GUID,
arg3: *const IID,
arg4: *mut ULONG,
arg5:
*mut ::libc::c_void,
arg6: HRESULT)>,
}
pub type IChannelHookVtbl = Struct_IChannelHookVtbl;
#[repr(C)]
pub struct Struct_IChannelHook {
pub lpVtbl: *mut IChannelHookVtbl,
}
#[repr(C)]
pub struct Struct_tagSOLE_AUTHENTICATION_SERVICE {
pub dwAuthnSvc: DWORD,
pub dwAuthzSvc: DWORD,
pub pPrincipalName: *mut OLECHAR,
pub hr: HRESULT,
}
pub type SOLE_AUTHENTICATION_SERVICE = Struct_tagSOLE_AUTHENTICATION_SERVICE;
pub type PSOLE_AUTHENTICATION_SERVICE = *mut SOLE_AUTHENTICATION_SERVICE;
pub type Enum_tagEOLE_AUTHENTICATION_CAPABILITIES = ::libc::c_uint;
pub const EOAC_NONE: ::libc::c_uint = 0;
pub const EOAC_MUTUAL_AUTH: ::libc::c_uint = 1;
pub const EOAC_STATIC_CLOAKING: ::libc::c_uint = 32;
pub const EOAC_DYNAMIC_CLOAKING: ::libc::c_uint = 64;
pub const EOAC_ANY_AUTHORITY: ::libc::c_uint = 128;
pub const EOAC_MAKE_FULLSIC: ::libc::c_uint = 256;
pub const EOAC_DEFAULT: ::libc::c_uint = 2048;
pub const EOAC_SECURE_REFS: ::libc::c_uint = 2;
pub const EOAC_ACCESS_CONTROL: ::libc::c_uint = 4;
pub const EOAC_APPID: ::libc::c_uint = 8;
pub const EOAC_DYNAMIC: ::libc::c_uint = 16;
pub const EOAC_REQUIRE_FULLSIC: ::libc::c_uint = 512;
pub const EOAC_AUTO_IMPERSONATE: ::libc::c_uint = 1024;
pub const EOAC_NO_CUSTOM_MARSHAL: ::libc::c_uint = 8192;
pub const EOAC_DISABLE_AAA: ::libc::c_uint = 4096;
pub type EOLE_AUTHENTICATION_CAPABILITIES =
Enum_tagEOLE_AUTHENTICATION_CAPABILITIES;
#[repr(C)]
pub struct Struct_tagSOLE_AUTHENTICATION_INFO {
pub dwAuthnSvc: DWORD,
pub dwAuthzSvc: DWORD,
pub pAuthInfo: *mut ::libc::c_void,
}
pub type SOLE_AUTHENTICATION_INFO = Struct_tagSOLE_AUTHENTICATION_INFO;
pub type PSOLE_AUTHENTICATION_INFO = *mut Struct_tagSOLE_AUTHENTICATION_INFO;
#[repr(C)]
pub struct Struct_tagSOLE_AUTHENTICATION_LIST {
pub cAuthInfo: DWORD,
pub aAuthInfo: *mut SOLE_AUTHENTICATION_INFO,
}
pub type SOLE_AUTHENTICATION_LIST = Struct_tagSOLE_AUTHENTICATION_LIST;
pub type PSOLE_AUTHENTICATION_LIST = *mut Struct_tagSOLE_AUTHENTICATION_LIST;
#[repr(C)]
pub struct Struct_IClientSecurityVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IClientSecurity,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IClientSecurity)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IClientSecurity)
-> ULONG>,
pub QueryBlanket: ::std::option::Option<extern "C" fn
(arg1: *mut IClientSecurity,
arg2: *mut IUnknown,
arg3: *mut DWORD,
arg4: *mut DWORD,
arg5: *mut *mut OLECHAR,
arg6: *mut DWORD,
arg7: *mut DWORD,
arg8:
*mut *mut ::libc::c_void,
arg9: *mut DWORD)
-> HRESULT>,
pub SetBlanket: ::std::option::Option<extern "C" fn
(arg1: *mut IClientSecurity,
arg2: *mut IUnknown,
arg3: DWORD, arg4: DWORD,
arg5: *mut OLECHAR,
arg6: DWORD, arg7: DWORD,
arg8: *mut ::libc::c_void,
arg9: DWORD) -> HRESULT>,
pub CopyProxy: ::std::option::Option<extern "C" fn
(arg1: *mut IClientSecurity,
arg2: *mut IUnknown,
arg3: *mut *mut IUnknown)
-> HRESULT>,
}
pub type IClientSecurityVtbl = Struct_IClientSecurityVtbl;
#[repr(C)]
pub struct Struct_IClientSecurity {
pub lpVtbl: *mut IClientSecurityVtbl,
}
#[repr(C)]
pub struct Struct_IServerSecurityVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IServerSecurity,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IServerSecurity)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IServerSecurity)
-> ULONG>,
pub QueryBlanket: ::std::option::Option<extern "C" fn
(arg1: *mut IServerSecurity,
arg2: *mut DWORD,
arg3: *mut DWORD,
arg4: *mut *mut OLECHAR,
arg5: *mut DWORD,
arg6: *mut DWORD,
arg7:
*mut *mut ::libc::c_void,
arg8: *mut DWORD)
-> HRESULT>,
pub ImpersonateClient: ::std::option::Option<extern "C" fn
(arg1:
*mut IServerSecurity)
-> HRESULT>,
pub RevertToSelf: ::std::option::Option<extern "C" fn
(arg1: *mut IServerSecurity)
-> HRESULT>,
pub IsImpersonating: ::std::option::Option<extern "C" fn
(arg1:
*mut IServerSecurity)
-> WINBOOL>,
}
pub type IServerSecurityVtbl = Struct_IServerSecurityVtbl;
#[repr(C)]
pub struct Struct_IServerSecurity {
pub lpVtbl: *mut IServerSecurityVtbl,
}
pub type Enum_tagRPCOPT_PROPERTIES = ::libc::c_uint;
pub const COMBND_RPCTIMEOUT: ::libc::c_uint = 1;
pub const COMBND_SERVER_LOCALITY: ::libc::c_uint = 2;
pub const COMBND_RESERVED1: ::libc::c_uint = 4;
pub type RPCOPT_PROPERTIES = Enum_tagRPCOPT_PROPERTIES;
pub type Enum_tagRPCOPT_SERVER_LOCALITY_VALUES = ::libc::c_uint;
pub const SERVER_LOCALITY_PROCESS_LOCAL: ::libc::c_uint = 0;
pub const SERVER_LOCALITY_MACHINE_LOCAL: ::libc::c_uint = 1;
pub const SERVER_LOCALITY_REMOTE: ::libc::c_uint = 2;
pub type RPCOPT_SERVER_LOCALITY_VALUES =
Enum_tagRPCOPT_SERVER_LOCALITY_VALUES;
#[repr(C)]
pub struct Struct_IRpcOptionsVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcOptions,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IRpcOptions)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IRpcOptions)
-> ULONG>,
pub Set: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcOptions,
arg2: *mut IUnknown,
arg3: RPCOPT_PROPERTIES,
arg4: ULONG_PTR) -> HRESULT>,
pub Query: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcOptions,
arg2: *mut IUnknown,
arg3: RPCOPT_PROPERTIES,
arg4: *mut ULONG_PTR) -> HRESULT>,
}
pub type IRpcOptionsVtbl = Struct_IRpcOptionsVtbl;
#[repr(C)]
pub struct Struct_IRpcOptions {
pub lpVtbl: *mut IRpcOptionsVtbl,
}
pub type Enum_tagGLOBALOPT_PROPERTIES = ::libc::c_uint;
pub const COMGLB_EXCEPTION_HANDLING: ::libc::c_uint = 1;
pub const COMGLB_APPID: ::libc::c_uint = 2;
pub const COMGLB_RPC_THREADPOOL_SETTING: ::libc::c_uint = 3;
pub const COMGLB_RO_SETTINGS: ::libc::c_uint = 4;
pub const COMGLB_UNMARSHALING_POLICY: ::libc::c_uint = 5;
pub type GLOBALOPT_PROPERTIES = Enum_tagGLOBALOPT_PROPERTIES;
pub type Enum_tagGLOBALOPT_EH_VALUES = ::libc::c_uint;
pub const COMGLB_EXCEPTION_HANDLE: ::libc::c_uint = 0;
pub const COMGLB_EXCEPTION_DONOT_HANDLE_FATAL: ::libc::c_uint = 1;
pub const COMGLB_EXCEPTION_DONOT_HANDLE: ::libc::c_uint = 1;
pub const COMGLB_EXCEPTION_DONOT_HANDLE_ANY: ::libc::c_uint = 2;
pub type GLOBALOPT_EH_VALUES = Enum_tagGLOBALOPT_EH_VALUES;
pub type Enum_tagGLOBALOPT_RPCTP_VALUES = ::libc::c_uint;
pub const COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL: ::libc::c_uint = 0;
pub const COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL: ::libc::c_uint = 1;
pub type GLOBALOPT_RPCTP_VALUES = Enum_tagGLOBALOPT_RPCTP_VALUES;
pub type Enum_tagGLOBALOPT_RO_FLAGS = ::libc::c_uint;
pub const COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES: ::libc::c_uint = 1;
pub const COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES:
::libc::c_uint =
2;
pub const COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES:
::libc::c_uint =
4;
pub const COMGLB_FAST_RUNDOWN: ::libc::c_uint = 8;
pub const COMGLB_RESERVED1: ::libc::c_uint = 16;
pub const COMGLB_RESERVED2: ::libc::c_uint = 32;
pub const COMGLB_RESERVED3: ::libc::c_uint = 64;
pub const COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES:
::libc::c_uint =
128;
pub type GLOBALOPT_RO_FLAGS = Enum_tagGLOBALOPT_RO_FLAGS;
pub type Enum_tagGLOBALOPT_UNMARSHALING_POLICY_VALUES = ::libc::c_uint;
pub const COMGLB_UNMARSHALING_POLICY_NORMAL: ::libc::c_uint = 0;
pub const COMGLB_UNMARSHALING_POLICY_STRONG: ::libc::c_uint = 1;
pub const COMGLB_UNMARSHALING_POLICY_HYBRID: ::libc::c_uint = 2;
pub type GLOBALOPT_UNMARSHALING_POLICY_VALUES =
Enum_tagGLOBALOPT_UNMARSHALING_POLICY_VALUES;
#[repr(C)]
pub struct Struct_IGlobalOptionsVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IGlobalOptions,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IGlobalOptions)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IGlobalOptions)
-> ULONG>,
pub Set: ::std::option::Option<extern "C" fn
(arg1: *mut IGlobalOptions,
arg2: GLOBALOPT_PROPERTIES,
arg3: ULONG_PTR) -> HRESULT>,
pub Query: ::std::option::Option<extern "C" fn
(arg1: *mut IGlobalOptions,
arg2: GLOBALOPT_PROPERTIES,
arg3: *mut ULONG_PTR) -> HRESULT>,
}
pub type IGlobalOptionsVtbl = Struct_IGlobalOptionsVtbl;
#[repr(C)]
pub struct Struct_IGlobalOptions {
pub lpVtbl: *mut IGlobalOptionsVtbl,
}
pub type LPSURROGATE = *mut ISurrogate;
#[repr(C)]
pub struct Struct_ISurrogateVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut ISurrogate,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut ISurrogate)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut ISurrogate)
-> ULONG>,
pub LoadDllServer: ::std::option::Option<extern "C" fn
(arg1: *mut ISurrogate,
arg2: *const IID)
-> HRESULT>,
pub FreeSurrogate: ::std::option::Option<extern "C" fn
(arg1: *mut ISurrogate)
-> HRESULT>,
}
pub type ISurrogateVtbl = Struct_ISurrogateVtbl;
#[repr(C)]
pub struct Struct_ISurrogate {
pub lpVtbl: *mut ISurrogateVtbl,
}
pub type LPGLOBALINTERFACETABLE = *mut IGlobalInterfaceTable;
#[repr(C)]
pub struct Struct_IGlobalInterfaceTableVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IGlobalInterfaceTable,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IGlobalInterfaceTable)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IGlobalInterfaceTable)
-> ULONG>,
pub RegisterInterfaceInGlobal: ::std::option::Option<extern "C" fn
(arg1:
*mut IGlobalInterfaceTable,
arg2:
*mut IUnknown,
arg3:
*const IID,
arg4:
*mut DWORD)
-> HRESULT>,
pub RevokeInterfaceFromGlobal: ::std::option::Option<extern "C" fn
(arg1:
*mut IGlobalInterfaceTable,
arg2: DWORD)
-> HRESULT>,
pub GetInterfaceFromGlobal: ::std::option::Option<extern "C" fn
(arg1:
*mut IGlobalInterfaceTable,
arg2: DWORD,
arg3: *const IID,
arg4:
*mut *mut ::libc::c_void)
-> HRESULT>,
}
pub type IGlobalInterfaceTableVtbl = Struct_IGlobalInterfaceTableVtbl;
#[repr(C)]
pub struct Struct_IGlobalInterfaceTable {
pub lpVtbl: *mut IGlobalInterfaceTableVtbl,
}
#[repr(C)]
pub struct Struct_ISynchronizeVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronize,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut ISynchronize)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut ISynchronize)
-> ULONG>,
pub Wait: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronize, arg2: DWORD,
arg3: DWORD) -> HRESULT>,
pub Signal: ::std::option::Option<extern "C" fn(arg1: *mut ISynchronize)
-> HRESULT>,
pub Reset: ::std::option::Option<extern "C" fn(arg1: *mut ISynchronize)
-> HRESULT>,
}
pub type ISynchronizeVtbl = Struct_ISynchronizeVtbl;
#[repr(C)]
pub struct Struct_ISynchronize {
pub lpVtbl: *mut ISynchronizeVtbl,
}
#[repr(C)]
pub struct Struct_ISynchronizeHandleVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut ISynchronizeHandle,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeHandle)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeHandle)
-> ULONG>,
pub GetHandle: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeHandle,
arg2: *mut HANDLE) -> HRESULT>,
}
pub type ISynchronizeHandleVtbl = Struct_ISynchronizeHandleVtbl;
#[repr(C)]
pub struct Struct_ISynchronizeHandle {
pub lpVtbl: *mut ISynchronizeHandleVtbl,
}
#[repr(C)]
pub struct Struct_ISynchronizeEventVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut ISynchronizeEvent,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeEvent)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeEvent)
-> ULONG>,
pub GetHandle: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeEvent,
arg2: *mut HANDLE) -> HRESULT>,
pub SetEventHandle: ::std::option::Option<extern "C" fn
(arg1:
*mut ISynchronizeEvent,
arg2: *mut HANDLE)
-> HRESULT>,
}
pub type ISynchronizeEventVtbl = Struct_ISynchronizeEventVtbl;
#[repr(C)]
pub struct Struct_ISynchronizeEvent {
pub lpVtbl: *mut ISynchronizeEventVtbl,
}
#[repr(C)]
pub struct Struct_ISynchronizeContainerVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut ISynchronizeContainer,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeContainer)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeContainer)
-> ULONG>,
pub AddSynchronize: ::std::option::Option<extern "C" fn
(arg1:
*mut ISynchronizeContainer,
arg2: *mut ISynchronize)
-> HRESULT>,
pub WaitMultiple: ::std::option::Option<extern "C" fn
(arg1:
*mut ISynchronizeContainer,
arg2: DWORD, arg3: DWORD,
arg4: *mut *mut ISynchronize)
-> HRESULT>,
}
pub type ISynchronizeContainerVtbl = Struct_ISynchronizeContainerVtbl;
#[repr(C)]
pub struct Struct_ISynchronizeContainer {
pub lpVtbl: *mut ISynchronizeContainerVtbl,
}
#[repr(C)]
pub struct Struct_ISynchronizeMutexVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut ISynchronizeMutex,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeMutex)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeMutex)
-> ULONG>,
pub Wait: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeMutex,
arg2: DWORD, arg3: DWORD)
-> HRESULT>,
pub Signal: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeMutex)
-> HRESULT>,
pub Reset: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeMutex)
-> HRESULT>,
pub ReleaseMutex: ::std::option::Option<extern "C" fn
(arg1: *mut ISynchronizeMutex)
-> HRESULT>,
}
pub type ISynchronizeMutexVtbl = Struct_ISynchronizeMutexVtbl;
#[repr(C)]
pub struct Struct_ISynchronizeMutex {
pub lpVtbl: *mut ISynchronizeMutexVtbl,
}
pub type LPCANCELMETHODCALLS = *mut ICancelMethodCalls;
#[repr(C)]
pub struct Struct_ICancelMethodCallsVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut ICancelMethodCalls,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut ICancelMethodCalls)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut ICancelMethodCalls)
-> ULONG>,
pub Cancel: ::std::option::Option<extern "C" fn
(arg1: *mut ICancelMethodCalls,
arg2: ULONG) -> HRESULT>,
pub TestCancel: ::std::option::Option<extern "C" fn
(arg1: *mut ICancelMethodCalls)
-> HRESULT>,
}
pub type ICancelMethodCallsVtbl = Struct_ICancelMethodCallsVtbl;
#[repr(C)]
pub struct Struct_ICancelMethodCalls {
pub lpVtbl: *mut ICancelMethodCallsVtbl,
}
pub type Enum_tagDCOM_CALL_STATE = ::libc::c_uint;
pub const DCOM_NONE: ::libc::c_uint = 0;
pub const DCOM_CALL_COMPLETE: ::libc::c_uint = 1;
pub const DCOM_CALL_CANCELED: ::libc::c_uint = 2;
pub type DCOM_CALL_STATE = Enum_tagDCOM_CALL_STATE;
#[repr(C)]
pub struct Struct_IAsyncManagerVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IAsyncManager,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IAsyncManager)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IAsyncManager)
-> ULONG>,
pub CompleteCall: ::std::option::Option<extern "C" fn
(arg1: *mut IAsyncManager,
arg2: HRESULT) -> HRESULT>,
pub GetCallContext: ::std::option::Option<extern "C" fn
(arg1: *mut IAsyncManager,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub GetState: ::std::option::Option<extern "C" fn
(arg1: *mut IAsyncManager,
arg2: *mut ULONG) -> HRESULT>,
}
pub type IAsyncManagerVtbl = Struct_IAsyncManagerVtbl;
#[repr(C)]
pub struct Struct_IAsyncManager {
pub lpVtbl: *mut IAsyncManagerVtbl,
}
#[repr(C)]
pub struct Struct_ICallFactoryVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut ICallFactory,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut ICallFactory)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut ICallFactory)
-> ULONG>,
pub CreateCall: ::std::option::Option<extern "C" fn
(arg1: *mut ICallFactory,
arg2: *const IID,
arg3: *mut IUnknown,
arg4: *const IID,
arg5: *mut *mut IUnknown)
-> HRESULT>,
}
pub type ICallFactoryVtbl = Struct_ICallFactoryVtbl;
#[repr(C)]
pub struct Struct_ICallFactory {
pub lpVtbl: *mut ICallFactoryVtbl,
}
#[repr(C)]
pub struct Struct_IRpcHelperVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcHelper,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IRpcHelper)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IRpcHelper)
-> ULONG>,
pub GetDCOMProtocolVersion: ::std::option::Option<extern "C" fn
(arg1:
*mut IRpcHelper,
arg2: *mut DWORD)
-> HRESULT>,
pub GetIIDFromOBJREF: ::std::option::Option<extern "C" fn
(arg1: *mut IRpcHelper,
arg2:
*mut ::libc::c_void,
arg3: *mut *mut IID)
-> HRESULT>,
}
pub type IRpcHelperVtbl = Struct_IRpcHelperVtbl;
#[repr(C)]
pub struct Struct_IRpcHelper {
pub lpVtbl: *mut IRpcHelperVtbl,
}
#[repr(C)]
pub struct Struct_IReleaseMarshalBuffersVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IReleaseMarshalBuffers,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IReleaseMarshalBuffers)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IReleaseMarshalBuffers)
-> ULONG>,
pub ReleaseMarshalBuffer: ::std::option::Option<extern "C" fn
(arg1:
*mut IReleaseMarshalBuffers,
arg2:
*mut RPCOLEMESSAGE,
arg3: DWORD,
arg4: *mut IUnknown)
-> HRESULT>,
}
pub type IReleaseMarshalBuffersVtbl = Struct_IReleaseMarshalBuffersVtbl;
#[repr(C)]
pub struct Struct_IReleaseMarshalBuffers {
pub lpVtbl: *mut IReleaseMarshalBuffersVtbl,
}
#[repr(C)]
pub struct Struct_IWaitMultipleVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IWaitMultiple,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IWaitMultiple)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IWaitMultiple)
-> ULONG>,
pub WaitMultiple: ::std::option::Option<extern "C" fn
(arg1: *mut IWaitMultiple,
arg2: DWORD,
arg3: *mut *mut ISynchronize)
-> HRESULT>,
pub AddSynchronize: ::std::option::Option<extern "C" fn
(arg1: *mut IWaitMultiple,
arg2: *mut ISynchronize)
-> HRESULT>,
}
pub type IWaitMultipleVtbl = Struct_IWaitMultipleVtbl;
#[repr(C)]
pub struct Struct_IWaitMultiple {
pub lpVtbl: *mut IWaitMultipleVtbl,
}
pub type LPADDRTRACKINGCONTROL = *mut IAddrTrackingControl;
#[repr(C)]
pub struct Struct_IAddrTrackingControlVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IAddrTrackingControl,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IAddrTrackingControl)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IAddrTrackingControl)
-> ULONG>,
pub EnableCOMDynamicAddrTracking: ::std::option::Option<extern "C" fn
(arg1:
*mut IAddrTrackingControl)
-> HRESULT>,
pub DisableCOMDynamicAddrTracking: ::std::option::Option<extern "C" fn
(arg1:
*mut IAddrTrackingControl)
-> HRESULT>,
}
pub type IAddrTrackingControlVtbl = Struct_IAddrTrackingControlVtbl;
#[repr(C)]
pub struct Struct_IAddrTrackingControl {
pub lpVtbl: *mut IAddrTrackingControlVtbl,
}
pub type LPADDREXCLUSIONCONTROL = *mut IAddrExclusionControl;
#[repr(C)]
pub struct Struct_IAddrExclusionControlVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IAddrExclusionControl,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IAddrExclusionControl)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IAddrExclusionControl)
-> ULONG>,
pub GetCurrentAddrExclusionList: ::std::option::Option<extern "C" fn
(arg1:
*mut IAddrExclusionControl,
arg2:
*const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub UpdateAddrExclusionList: ::std::option::Option<extern "C" fn
(arg1:
*mut IAddrExclusionControl,
arg2:
*mut IUnknown)
-> HRESULT>,
}
pub type IAddrExclusionControlVtbl = Struct_IAddrExclusionControlVtbl;
#[repr(C)]
pub struct Struct_IAddrExclusionControl {
pub lpVtbl: *mut IAddrExclusionControlVtbl,
}
#[repr(C)]
pub struct Struct_IPipeByteVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IPipeByte,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IPipeByte)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IPipeByte)
-> ULONG>,
pub Pull: ::std::option::Option<extern "C" fn
(arg1: *mut IPipeByte,
arg2: *mut BYTE, arg3: ULONG,
arg4: *mut ULONG) -> HRESULT>,
pub Push: ::std::option::Option<extern "C" fn
(arg1: *mut IPipeByte,
arg2: *mut BYTE, arg3: ULONG)
-> HRESULT>,
}
pub type IPipeByteVtbl = Struct_IPipeByteVtbl;
#[repr(C)]
pub struct Struct_IPipeByte {
pub lpVtbl: *mut IPipeByteVtbl,
}
#[repr(C)]
pub struct Struct_IPipeLongVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IPipeLong,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IPipeLong)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IPipeLong)
-> ULONG>,
pub Pull: ::std::option::Option<extern "C" fn
(arg1: *mut IPipeLong,
arg2: *mut LONG, arg3: ULONG,
arg4: *mut ULONG) -> HRESULT>,
pub Push: ::std::option::Option<extern "C" fn
(arg1: *mut IPipeLong,
arg2: *mut LONG, arg3: ULONG)
-> HRESULT>,
}
pub type IPipeLongVtbl = Struct_IPipeLongVtbl;
#[repr(C)]
pub struct Struct_IPipeLong {
pub lpVtbl: *mut IPipeLongVtbl,
}
#[repr(C)]
pub struct Struct_IPipeDoubleVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IPipeDouble,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IPipeDouble)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IPipeDouble)
-> ULONG>,
pub Pull: ::std::option::Option<extern "C" fn
(arg1: *mut IPipeDouble,
arg2: *mut DOUBLE, arg3: ULONG,
arg4: *mut ULONG) -> HRESULT>,
pub Push: ::std::option::Option<extern "C" fn
(arg1: *mut IPipeDouble,
arg2: *mut DOUBLE, arg3: ULONG)
-> HRESULT>,
}
pub type IPipeDoubleVtbl = Struct_IPipeDoubleVtbl;
#[repr(C)]
pub struct Struct_IPipeDouble {
pub lpVtbl: *mut IPipeDoubleVtbl,
}
pub type Enum__APTTYPEQUALIFIER = ::libc::c_uint;
pub const APTTYPEQUALIFIER_NONE: ::libc::c_uint = 0;
pub const APTTYPEQUALIFIER_IMPLICIT_MTA: ::libc::c_uint = 1;
pub const APTTYPEQUALIFIER_NA_ON_MTA: ::libc::c_uint = 2;
pub const APTTYPEQUALIFIER_NA_ON_STA: ::libc::c_uint = 3;
pub const APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA: ::libc::c_uint = 4;
pub const APTTYPEQUALIFIER_NA_ON_MAINSTA: ::libc::c_uint = 5;
pub const APTTYPEQUALIFIER_APPLICATION_STA: ::libc::c_uint = 6;
pub type APTTYPEQUALIFIER = Enum__APTTYPEQUALIFIER;
pub type Enum__APTTYPE = ::libc::c_int;
pub const APTTYPE_CURRENT: ::libc::c_int = -1;
pub const APTTYPE_STA: ::libc::c_int = 0;
pub const APTTYPE_MTA: ::libc::c_int = 1;
pub const APTTYPE_NA: ::libc::c_int = 2;
pub const APTTYPE_MAINSTA: ::libc::c_int = 3;
pub type APTTYPE = Enum__APTTYPE;
pub type Enum__THDTYPE = ::libc::c_uint;
pub const THDTYPE_BLOCKMESSAGES: ::libc::c_uint = 0;
pub const THDTYPE_PROCESSMESSAGES: ::libc::c_uint = 1;
pub type THDTYPE = Enum__THDTYPE;
pub type APARTMENTID = DWORD;
#[repr(C)]
pub struct Struct_IComThreadingInfoVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IComThreadingInfo,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IComThreadingInfo)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IComThreadingInfo)
-> ULONG>,
pub GetCurrentApartmentType: ::std::option::Option<extern "C" fn
(arg1:
*mut IComThreadingInfo,
arg2:
*mut APTTYPE)
-> HRESULT>,
pub GetCurrentThreadType: ::std::option::Option<extern "C" fn
(arg1:
*mut IComThreadingInfo,
arg2: *mut THDTYPE)
-> HRESULT>,
pub GetCurrentLogicalThreadId: ::std::option::Option<extern "C" fn
(arg1:
*mut IComThreadingInfo,
arg2: *mut GUID)
-> HRESULT>,
pub SetCurrentLogicalThreadId: ::std::option::Option<extern "C" fn
(arg1:
*mut IComThreadingInfo,
arg2:
*const GUID)
-> HRESULT>,
}
pub type IComThreadingInfoVtbl = Struct_IComThreadingInfoVtbl;
#[repr(C)]
pub struct Struct_IComThreadingInfo {
pub lpVtbl: *mut IComThreadingInfoVtbl,
}
#[repr(C)]
pub struct Struct_IProcessInitControlVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IProcessInitControl,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IProcessInitControl)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IProcessInitControl)
-> ULONG>,
pub ResetInitializerTimeout: ::std::option::Option<extern "C" fn
(arg1:
*mut IProcessInitControl,
arg2: DWORD)
-> HRESULT>,
}
pub type IProcessInitControlVtbl = Struct_IProcessInitControlVtbl;
#[repr(C)]
pub struct Struct_IProcessInitControl {
pub lpVtbl: *mut IProcessInitControlVtbl,
}
#[repr(C)]
pub struct Struct_IFastRundownVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IFastRundown,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IFastRundown)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IFastRundown)
-> ULONG>,
}
pub type IFastRundownVtbl = Struct_IFastRundownVtbl;
#[repr(C)]
pub struct Struct_IFastRundown {
pub lpVtbl: *mut IFastRundownVtbl,
}
pub type Enum_CO_MARSHALING_CONTEXT_ATTRIBUTES = ::libc::c_uint;
pub const CO_MARSHALING_SOURCE_IS_APP_CONTAINER: ::libc::c_uint = 0;
pub type CO_MARSHALING_CONTEXT_ATTRIBUTES =
Enum_CO_MARSHALING_CONTEXT_ATTRIBUTES;
#[repr(C)]
pub struct Struct_IMarshalingStreamVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IMarshalingStream,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream)
-> ULONG>,
pub Read: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: *mut ::libc::c_void,
arg3: ULONG, arg4: *mut ULONG)
-> HRESULT>,
pub Write: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: *const ::libc::c_void,
arg3: ULONG, arg4: *mut ULONG)
-> HRESULT>,
pub Seek: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: LARGE_INTEGER, arg3: DWORD,
arg4: *mut ULARGE_INTEGER)
-> HRESULT>,
pub SetSize: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: ULARGE_INTEGER) -> HRESULT>,
pub CopyTo: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: *mut IStream,
arg3: ULARGE_INTEGER,
arg4: *mut ULARGE_INTEGER,
arg5: *mut ULARGE_INTEGER)
-> HRESULT>,
pub Commit: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: DWORD) -> HRESULT>,
pub Revert: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream)
-> HRESULT>,
pub LockRegion: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: ULARGE_INTEGER,
arg3: ULARGE_INTEGER,
arg4: DWORD) -> HRESULT>,
pub UnlockRegion: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: ULARGE_INTEGER,
arg3: ULARGE_INTEGER,
arg4: DWORD) -> HRESULT>,
pub Stat: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: *mut STATSTG, arg3: DWORD)
-> HRESULT>,
pub Clone: ::std::option::Option<extern "C" fn
(arg1: *mut IMarshalingStream,
arg2: *mut *mut IStream)
-> HRESULT>,
pub GetMarshalingContextAttribute: ::std::option::Option<extern "C" fn
(arg1:
*mut IMarshalingStream,
arg2:
CO_MARSHALING_CONTEXT_ATTRIBUTES,
arg3:
*mut ULONG_PTR)
-> HRESULT>,
}
pub type IMarshalingStreamVtbl = Struct_IMarshalingStreamVtbl;
#[repr(C)]
pub struct Struct_IMarshalingStream {
pub lpVtbl: *mut IMarshalingStreamVtbl,
}
pub type Enum_tagSTDMSHLFLAGS = ::libc::c_uint;
pub const SMEXF_SERVER: ::libc::c_uint = 1;
pub const SMEXF_HANDLER: ::libc::c_uint = 2;
pub type STDMSHLFLAGS = Enum_tagSTDMSHLFLAGS;
pub type PROPVARIANT = Struct_tagPROPVARIANT;
pub type Enum_tagCOWAIT_FLAGS = ::libc::c_uint;
pub const COWAIT_DEFAULT: ::libc::c_uint = 0;
pub const COWAIT_WAITALL: ::libc::c_uint = 1;
pub const COWAIT_ALERTABLE: ::libc::c_uint = 2;
pub const COWAIT_INPUTAVAILABLE: ::libc::c_uint = 4;
pub const COWAIT_DISPATCH_CALLS: ::libc::c_uint = 8;
pub const COWAIT_DISPATCH_WINDOW_MESSAGES: ::libc::c_uint = 16;
pub type COWAIT_FLAGS = Enum_tagCOWAIT_FLAGS;
pub type LPFNGETCLASSOBJECT =
::std::option::Option<extern "C" fn
(arg1: *const IID, arg2: *const IID,
arg3: *mut LPVOID) -> HRESULT>;
pub type LPFNCANUNLOADNOW = ::std::option::Option<extern "C" fn() -> HRESULT>;
pub type Enum_tagCOINIT = ::libc::c_uint;
pub const COINIT_APARTMENTTHREADED: ::libc::c_uint = 2;
pub const COINIT_MULTITHREADED: ::libc::c_uint = 0;
pub const COINIT_DISABLE_OLE1DDE: ::libc::c_uint = 4;
pub const COINIT_SPEED_OVER_MEMORY: ::libc::c_uint = 8;
pub type COINIT = Enum_tagCOINIT;
pub type STGFMT = DWORD;
pub type IMallocSpy = Struct_IMallocSpy;
pub type IBindCtx = Struct_IBindCtx;
pub type IEnumMoniker = Struct_IEnumMoniker;
pub type IRunnableObject = Struct_IRunnableObject;
pub type IRunningObjectTable = Struct_IRunningObjectTable;
pub type IPersist = Struct_IPersist;
pub type IPersistStream = Struct_IPersistStream;
pub type IMoniker = Struct_IMoniker;
pub type IROTData = Struct_IROTData;
pub type IEnumSTATSTG = Struct_IEnumSTATSTG;
pub type IStorage = Struct_IStorage;
pub type IPersistFile = Struct_IPersistFile;
pub type IPersistStorage = Struct_IPersistStorage;
pub type ILockBytes = Struct_ILockBytes;
pub type IEnumFORMATETC = Struct_IEnumFORMATETC;
pub type IEnumSTATDATA = Struct_IEnumSTATDATA;
pub type IRootStorage = Struct_IRootStorage;
pub type IAdviseSink = Struct_IAdviseSink;
pub type AsyncIAdviseSink = Struct_AsyncIAdviseSink;
pub type IAdviseSink2 = Struct_IAdviseSink2;
pub type AsyncIAdviseSink2 = Struct_AsyncIAdviseSink2;
pub type IDataObject = Struct_IDataObject;
pub type IDataAdviseHolder = Struct_IDataAdviseHolder;
pub type IMessageFilter = Struct_IMessageFilter;
pub type IClassActivator = Struct_IClassActivator;
pub type IFillLockBytes = Struct_IFillLockBytes;
pub type IProgressNotify = Struct_IProgressNotify;
pub type ILayoutStorage = Struct_ILayoutStorage;
pub type IBlockingLock = Struct_IBlockingLock;
pub type ITimeAndNoticeControl = Struct_ITimeAndNoticeControl;
pub type IOplockStorage = Struct_IOplockStorage;
pub type IDirectWriterLock = Struct_IDirectWriterLock;
pub type IUrlMon = Struct_IUrlMon;
pub type IForegroundTransfer = Struct_IForegroundTransfer;
pub type IThumbnailExtractor = Struct_IThumbnailExtractor;
pub type IDummyHICONIncluder = Struct_IDummyHICONIncluder;
pub type IProcessLock = Struct_IProcessLock;
pub type ISurrogateService = Struct_ISurrogateService;
pub type IInitializeSpy = Struct_IInitializeSpy;
pub type IApartmentShutdown = Struct_IApartmentShutdown;
#[repr(C)]
pub struct Struct_tagRemHGLOBAL {
pub fNullHGlobal: LONG,
pub cbData: ULONG,
pub data: [byte, ..1u],
}
pub type RemHGLOBAL = Struct_tagRemHGLOBAL;
#[repr(C)]
pub struct Struct_tagRemHMETAFILEPICT {
pub mm: LONG,
pub xExt: LONG,
pub yExt: LONG,
pub cbData: ULONG,
pub data: [byte, ..1u],
}
pub type RemHMETAFILEPICT = Struct_tagRemHMETAFILEPICT;
#[repr(C)]
pub struct Struct_tagRemHENHMETAFILE {
pub cbData: ULONG,
pub data: [byte, ..1u],
}
pub type RemHENHMETAFILE = Struct_tagRemHENHMETAFILE;
#[repr(C)]
pub struct Struct_tagRemHBITMAP {
pub cbData: ULONG,
pub data: [byte, ..1u],
}
pub type RemHBITMAP = Struct_tagRemHBITMAP;
#[repr(C)]
pub struct Struct_tagRemHPALETTE {
pub cbData: ULONG,
pub data: [byte, ..1u],
}
pub type RemHPALETTE = Struct_tagRemHPALETTE;
#[repr(C)]
pub struct Struct_tagRemBRUSH {
pub cbData: ULONG,
pub data: [byte, ..1u],
}
pub type RemHBRUSH = Struct_tagRemBRUSH;
pub type Enum_tagDVASPECT = ::libc::c_uint;
pub const DVASPECT_CONTENT: ::libc::c_uint = 1;
pub const DVASPECT_THUMBNAIL: ::libc::c_uint = 2;
pub const DVASPECT_ICON: ::libc::c_uint = 4;
pub const DVASPECT_DOCPRINT: ::libc::c_uint = 8;
pub type DVASPECT = Enum_tagDVASPECT;
pub type Enum_tagSTGC = ::libc::c_uint;
pub const STGC_DEFAULT: ::libc::c_uint = 0;
pub const STGC_OVERWRITE: ::libc::c_uint = 1;
pub const STGC_ONLYIFCURRENT: ::libc::c_uint = 2;
pub const STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE: ::libc::c_uint = 4;
pub const STGC_CONSOLIDATE: ::libc::c_uint = 8;
pub type STGC = Enum_tagSTGC;
pub type Enum_tagSTGMOVE = ::libc::c_uint;
pub const STGMOVE_MOVE: ::libc::c_uint = 0;
pub const STGMOVE_COPY: ::libc::c_uint = 1;
pub const STGMOVE_SHALLOWCOPY: ::libc::c_uint = 2;
pub type STGMOVE = Enum_tagSTGMOVE;
pub type Enum_tagSTATFLAG = ::libc::c_uint;
pub const STATFLAG_DEFAULT: ::libc::c_uint = 0;
pub const STATFLAG_NONAME: ::libc::c_uint = 1;
pub const STATFLAG_NOOPEN: ::libc::c_uint = 2;
pub type STATFLAG = Enum_tagSTATFLAG;
pub type HCONTEXT = *mut ::libc::c_void;
#[repr(C)]
pub struct Struct__userCLIPFORMAT {
pub fContext: LONG,
pub u: Union_Unnamed243,
}
#[repr(C)]
pub struct Union_Unnamed243 {
pub data: [u64, ..1u],
}
impl Union_Unnamed243 {
pub fn dwValue(&mut self) -> *mut DWORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn pwszName(&mut self) -> *mut *mut wchar_t {
unsafe { ::std::mem::transmute(self) }
}
}
pub type userCLIPFORMAT = Struct__userCLIPFORMAT;
pub type wireCLIPFORMAT = *mut userCLIPFORMAT;
pub type CLIPFORMAT = WORD;
#[repr(C)]
pub struct Struct__GDI_NONREMOTE {
pub fContext: LONG,
pub u: Union_Unnamed244,
}
#[repr(C)]
pub struct Union_Unnamed244 {
pub data: [u64, ..1u],
}
impl Union_Unnamed244 {
pub fn hInproc(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn hRemote(&mut self) -> *mut *mut DWORD_BLOB {
unsafe { ::std::mem::transmute(self) }
}
}
pub type GDI_NONREMOTE = Struct__GDI_NONREMOTE;
#[repr(C)]
pub struct Struct__userHGLOBAL {
pub fContext: LONG,
pub u: Union_Unnamed245,
}
#[repr(C)]
pub struct Union_Unnamed245 {
pub data: [u64, ..1u],
}
impl Union_Unnamed245 {
pub fn hInproc(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn hRemote(&mut self) -> *mut *mut FLAGGED_BYTE_BLOB {
unsafe { ::std::mem::transmute(self) }
}
pub fn hInproc64(&mut self) -> *mut INT64 {
unsafe { ::std::mem::transmute(self) }
}
}
pub type userHGLOBAL = Struct__userHGLOBAL;
pub type wireHGLOBAL = *mut userHGLOBAL;
#[repr(C)]
pub struct Struct__userHMETAFILE {
pub fContext: LONG,
pub u: Union_Unnamed246,
}
#[repr(C)]
pub struct Union_Unnamed246 {
pub data: [u64, ..1u],
}
impl Union_Unnamed246 {
pub fn hInproc(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn hRemote(&mut self) -> *mut *mut BYTE_BLOB {
unsafe { ::std::mem::transmute(self) }
}
pub fn hInproc64(&mut self) -> *mut INT64 {
unsafe { ::std::mem::transmute(self) }
}
}
pub type userHMETAFILE = Struct__userHMETAFILE;
#[repr(C)]
pub struct Struct__remoteMETAFILEPICT {
pub mm: LONG,
pub xExt: LONG,
pub yExt: LONG,
pub hMF: *mut userHMETAFILE,
}
pub type remoteMETAFILEPICT = Struct__remoteMETAFILEPICT;
#[repr(C)]
pub struct Struct__userHMETAFILEPICT {
pub fContext: LONG,
pub u: Union_Unnamed247,
}
#[repr(C)]
pub struct Union_Unnamed247 {
pub data: [u64, ..1u],
}
impl Union_Unnamed247 {
pub fn hInproc(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn hRemote(&mut self) -> *mut *mut remoteMETAFILEPICT {
unsafe { ::std::mem::transmute(self) }
}
pub fn hInproc64(&mut self) -> *mut INT64 {
unsafe { ::std::mem::transmute(self) }
}
}
pub type userHMETAFILEPICT = Struct__userHMETAFILEPICT;
#[repr(C)]
pub struct Struct__userHENHMETAFILE {
pub fContext: LONG,
pub u: Union_Unnamed248,
}
#[repr(C)]
pub struct Union_Unnamed248 {
pub data: [u64, ..1u],
}
impl Union_Unnamed248 {
pub fn hInproc(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn hRemote(&mut self) -> *mut *mut BYTE_BLOB {
unsafe { ::std::mem::transmute(self) }
}
pub fn hInproc64(&mut self) -> *mut INT64 {
unsafe { ::std::mem::transmute(self) }
}
}
pub type userHENHMETAFILE = Struct__userHENHMETAFILE;
#[repr(C)]
pub struct Struct__userBITMAP {
pub bmType: LONG,
pub bmWidth: LONG,
pub bmHeight: LONG,
pub bmWidthBytes: LONG,
pub bmPlanes: WORD,
pub bmBitsPixel: WORD,
pub cbSize: ULONG,
pub pBuffer: [byte, ..1u],
}
pub type userBITMAP = Struct__userBITMAP;
#[repr(C)]
pub struct Struct__userHBITMAP {
pub fContext: LONG,
pub u: Union_Unnamed249,
}
#[repr(C)]
pub struct Union_Unnamed249 {
pub data: [u64, ..1u],
}
impl Union_Unnamed249 {
pub fn hInproc(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn hRemote(&mut self) -> *mut *mut userBITMAP {
unsafe { ::std::mem::transmute(self) }
}
pub fn hInproc64(&mut self) -> *mut INT64 {
unsafe { ::std::mem::transmute(self) }
}
}
pub type userHBITMAP = Struct__userHBITMAP;
#[repr(C)]
pub struct Struct__userHPALETTE {
pub fContext: LONG,
pub u: Union_Unnamed250,
}
#[repr(C)]
pub struct Union_Unnamed250 {
pub data: [u64, ..1u],
}
impl Union_Unnamed250 {
pub fn hInproc(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn hRemote(&mut self) -> *mut *mut LOGPALETTE {
unsafe { ::std::mem::transmute(self) }
}
pub fn hInproc64(&mut self) -> *mut INT64 {
unsafe { ::std::mem::transmute(self) }
}
}
pub type userHPALETTE = Struct__userHPALETTE;
#[repr(C)]
pub struct Struct__RemotableHandle {
pub fContext: LONG,
pub u: Union_Unnamed251,
}
#[repr(C)]
pub struct Union_Unnamed251 {
pub data: [u32, ..1u],
}
impl Union_Unnamed251 {
pub fn hInproc(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn hRemote(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
}
pub type RemotableHandle = Struct__RemotableHandle;
pub type wireHWND = *mut RemotableHandle;
pub type wireHMENU = *mut RemotableHandle;
pub type wireHACCEL = *mut RemotableHandle;
pub type wireHBRUSH = *mut RemotableHandle;
pub type wireHFONT = *mut RemotableHandle;
pub type wireHDC = *mut RemotableHandle;
pub type wireHICON = *mut RemotableHandle;
pub type wireHRGN = *mut RemotableHandle;
pub type wireHMONITOR = *mut RemotableHandle;
pub type wireHBITMAP = *mut userHBITMAP;
pub type wireHPALETTE = *mut userHPALETTE;
pub type wireHENHMETAFILE = *mut userHENHMETAFILE;
pub type wireHMETAFILE = *mut userHMETAFILE;
pub type wireHMETAFILEPICT = *mut userHMETAFILEPICT;
pub type HMETAFILEPICT = *mut ::libc::c_void;
pub type DATE = ::libc::c_double;
#[repr(C)]
pub struct Union_tagCY {
pub data: [u64, ..1u],
}
impl Union_tagCY {
pub fn int64(&mut self) -> *mut LONGLONG {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed252 {
pub Lo: ::libc::c_ulong,
pub Hi: ::libc::c_long,
}
pub type CY = Union_tagCY;
pub type LPCY = *mut CY;
#[repr(C)]
pub struct Struct_tagDEC {
pub wReserved: USHORT,
pub Hi32: ULONG,
}
#[repr(C)]
pub struct Union_Unnamed253 {
pub data: [u16, ..1u],
}
impl Union_Unnamed253 {
pub fn signscale(&mut self) -> *mut USHORT {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed254 {
pub scale: BYTE,
pub sign: BYTE,
}
#[repr(C)]
pub struct Union_Unnamed255 {
pub data: [u64, ..1u],
}
impl Union_Unnamed255 {
pub fn Lo64(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed256 {
pub Lo32: ULONG,
pub Mid32: ULONG,
}
pub type DECIMAL = Struct_tagDEC;
pub type LPDECIMAL = *mut DECIMAL;
pub type wireBSTR = *mut FLAGGED_WORD_BLOB;
pub type BSTR = *mut OLECHAR;
pub type LPBSTR = *mut BSTR;
pub type VARIANT_BOOL = ::libc::c_short;
#[repr(C)]
pub struct Struct_tagBSTRBLOB {
pub cbSize: ULONG,
pub pData: *mut BYTE,
}
pub type BSTRBLOB = Struct_tagBSTRBLOB;
pub type LPBSTRBLOB = *mut Struct_tagBSTRBLOB;
#[repr(C)]
pub struct Struct_tagCLIPDATA {
pub cbSize: ULONG,
pub ulClipFmt: LONG,
pub pClipData: *mut BYTE,
}
pub type CLIPDATA = Struct_tagCLIPDATA;
pub type VARTYPE = ::libc::c_ushort;
pub type Enum_VARENUM = ::libc::c_uint;
pub const VT_EMPTY: ::libc::c_uint = 0;
pub const VT_NULL: ::libc::c_uint = 1;
pub const VT_I2: ::libc::c_uint = 2;
pub const VT_I4: ::libc::c_uint = 3;
pub const VT_R4: ::libc::c_uint = 4;
pub const VT_R8: ::libc::c_uint = 5;
pub const VT_CY: ::libc::c_uint = 6;
pub const VT_DATE: ::libc::c_uint = 7;
pub const VT_BSTR: ::libc::c_uint = 8;
pub const VT_DISPATCH: ::libc::c_uint = 9;
pub const VT_ERROR: ::libc::c_uint = 10;
pub const VT_BOOL: ::libc::c_uint = 11;
pub const VT_VARIANT: ::libc::c_uint = 12;
pub const VT_UNKNOWN: ::libc::c_uint = 13;
pub const VT_DECIMAL: ::libc::c_uint = 14;
pub const VT_I1: ::libc::c_uint = 16;
pub const VT_UI1: ::libc::c_uint = 17;
pub const VT_UI2: ::libc::c_uint = 18;
pub const VT_UI4: ::libc::c_uint = 19;
pub const VT_I8: ::libc::c_uint = 20;
pub const VT_UI8: ::libc::c_uint = 21;
pub const VT_INT: ::libc::c_uint = 22;
pub const VT_UINT: ::libc::c_uint = 23;
pub const VT_VOID: ::libc::c_uint = 24;
pub const VT_HRESULT: ::libc::c_uint = 25;
pub const VT_PTR: ::libc::c_uint = 26;
pub const VT_SAFEARRAY: ::libc::c_uint = 27;
pub const VT_CARRAY: ::libc::c_uint = 28;
pub const VT_USERDEFINED: ::libc::c_uint = 29;
pub const VT_LPSTR: ::libc::c_uint = 30;
pub const VT_LPWSTR: ::libc::c_uint = 31;
pub const VT_RECORD: ::libc::c_uint = 36;
pub const VT_INT_PTR: ::libc::c_uint = 37;
pub const VT_UINT_PTR: ::libc::c_uint = 38;
pub const VT_FILETIME: ::libc::c_uint = 64;
pub const VT_BLOB: ::libc::c_uint = 65;
pub const VT_STREAM: ::libc::c_uint = 66;
pub const VT_STORAGE: ::libc::c_uint = 67;
pub const VT_STREAMED_OBJECT: ::libc::c_uint = 68;
pub const VT_STORED_OBJECT: ::libc::c_uint = 69;
pub const VT_BLOB_OBJECT: ::libc::c_uint = 70;
pub const VT_CF: ::libc::c_uint = 71;
pub const VT_CLSID: ::libc::c_uint = 72;
pub const VT_VERSIONED_STREAM: ::libc::c_uint = 73;
pub const VT_BSTR_BLOB: ::libc::c_uint = 4095;
pub const VT_VECTOR: ::libc::c_uint = 4096;
pub const VT_ARRAY: ::libc::c_uint = 8192;
pub const VT_BYREF: ::libc::c_uint = 16384;
pub const VT_RESERVED: ::libc::c_uint = 32768;
pub const VT_ILLEGAL: ::libc::c_uint = 65535;
pub const VT_ILLEGALMASKED: ::libc::c_uint = 4095;
pub const VT_TYPEMASK: ::libc::c_uint = 4095;
pub type PROPID = ULONG;
#[repr(C)]
pub struct Struct__tagpropertykey {
pub fmtid: GUID,
pub pid: DWORD,
}
pub type PROPERTYKEY = Struct__tagpropertykey;
#[repr(C)]
pub struct Struct_tagCSPLATFORM {
pub dwPlatformId: DWORD,
pub dwVersionHi: DWORD,
pub dwVersionLo: DWORD,
pub dwProcessorArch: DWORD,
}
pub type CSPLATFORM = Struct_tagCSPLATFORM;
#[repr(C)]
pub struct Struct_tagQUERYCONTEXT {
pub dwContext: DWORD,
pub Platform: CSPLATFORM,
pub Locale: LCID,
pub dwVersionHi: DWORD,
pub dwVersionLo: DWORD,
}
pub type QUERYCONTEXT = Struct_tagQUERYCONTEXT;
pub type Enum_tagTYSPEC = ::libc::c_uint;
pub const TYSPEC_CLSID: ::libc::c_uint = 0;
pub const TYSPEC_FILEEXT: ::libc::c_uint = 1;
pub const TYSPEC_MIMETYPE: ::libc::c_uint = 2;
pub const TYSPEC_FILENAME: ::libc::c_uint = 3;
pub const TYSPEC_PROGID: ::libc::c_uint = 4;
pub const TYSPEC_PACKAGENAME: ::libc::c_uint = 5;
pub const TYSPEC_OBJECTID: ::libc::c_uint = 6;
pub type TYSPEC = Enum_tagTYSPEC;
#[repr(C)]
pub struct Struct___WIDL_wtypes_generated_name_00000000 {
pub tyspec: DWORD,
pub tagged_union: Union_Unnamed257,
}
#[repr(C)]
pub struct Union_Unnamed257 {
pub data: [u64, ..4u],
}
impl Union_Unnamed257 {
pub fn clsid(&mut self) -> *mut CLSID {
unsafe { ::std::mem::transmute(self) }
}
pub fn pFileExt(&mut self) -> *mut LPOLESTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn pMimeType(&mut self) -> *mut LPOLESTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn pProgId(&mut self) -> *mut LPOLESTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn pFileName(&mut self) -> *mut LPOLESTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn ByName(&mut self) -> *mut Struct_Unnamed258 {
unsafe { ::std::mem::transmute(self) }
}
pub fn ByObjectId(&mut self) -> *mut Struct_Unnamed259 {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed258 {
pub pPackageName: LPOLESTR,
pub PolicyId: GUID,
}
#[repr(C)]
pub struct Struct_Unnamed259 {
pub ObjectId: GUID,
pub PolicyId: GUID,
}
pub type uCLSSPEC = Struct___WIDL_wtypes_generated_name_00000000;
pub type LPMALLOCSPY = *mut IMallocSpy;
#[repr(C)]
pub struct Struct_IMallocSpyVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IMallocSpy)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IMallocSpy)
-> ULONG>,
pub PreAlloc: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: SIZE_T) -> SIZE_T>,
pub PostAlloc: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: *mut ::libc::c_void)
-> *mut ::libc::c_void>,
pub PreFree: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: *mut ::libc::c_void,
arg3: WINBOOL)
-> *mut ::libc::c_void>,
pub PostFree: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: WINBOOL)>,
pub PreRealloc: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: *mut ::libc::c_void,
arg3: SIZE_T,
arg4: *mut *mut ::libc::c_void,
arg5: WINBOOL) -> SIZE_T>,
pub PostRealloc: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: *mut ::libc::c_void,
arg3: WINBOOL)
-> *mut ::libc::c_void>,
pub PreGetSize: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: *mut ::libc::c_void,
arg3: WINBOOL)
-> *mut ::libc::c_void>,
pub PostGetSize: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: SIZE_T, arg3: WINBOOL)
-> SIZE_T>,
pub PreDidAlloc: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: *mut ::libc::c_void,
arg3: WINBOOL)
-> *mut ::libc::c_void>,
pub PostDidAlloc: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy,
arg2: *mut ::libc::c_void,
arg3: WINBOOL,
arg4: ::libc::c_int)
-> ::libc::c_int>,
pub PreHeapMinimize: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy)>,
pub PostHeapMinimize: ::std::option::Option<extern "C" fn
(arg1: *mut IMallocSpy)>,
}
pub type IMallocSpyVtbl = Struct_IMallocSpyVtbl;
#[repr(C)]
pub struct Struct_IMallocSpy {
pub lpVtbl: *mut IMallocSpyVtbl,
}
pub type LPBC = *mut IBindCtx;
pub type LPBINDCTX = *mut IBindCtx;
#[repr(C)]
pub struct Struct_tagBIND_OPTS {
pub cbStruct: DWORD,
pub grfFlags: DWORD,
pub grfMode: DWORD,
pub dwTickCountDeadline: DWORD,
}
pub type BIND_OPTS = Struct_tagBIND_OPTS;
pub type LPBIND_OPTS = *mut Struct_tagBIND_OPTS;
#[repr(C)]
pub struct Struct_tagBIND_OPTS2 {
pub cbStruct: DWORD,
pub grfFlags: DWORD,
pub grfMode: DWORD,
pub dwTickCountDeadline: DWORD,
pub dwTrackFlags: DWORD,
pub dwClassContext: DWORD,
pub locale: LCID,
pub pServerInfo: *mut COSERVERINFO,
}
pub type BIND_OPTS2 = Struct_tagBIND_OPTS2;
pub type LPBIND_OPTS2 = *mut Struct_tagBIND_OPTS2;
#[repr(C)]
pub struct Struct_tagBIND_OPTS3 {
pub cbStruct: DWORD,
pub grfFlags: DWORD,
pub grfMode: DWORD,
pub dwTickCountDeadline: DWORD,
pub dwTrackFlags: DWORD,
pub dwClassContext: DWORD,
pub locale: LCID,
pub pServerInfo: *mut COSERVERINFO,
pub hwnd: HWND,
}
pub type BIND_OPTS3 = Struct_tagBIND_OPTS3;
pub type LPBIND_OPTS3 = *mut Struct_tagBIND_OPTS3;
pub type Enum_tagBIND_FLAGS = ::libc::c_uint;
pub const BIND_MAYBOTHERUSER: ::libc::c_uint = 1;
pub const BIND_JUSTTESTEXISTENCE: ::libc::c_uint = 2;
pub type BIND_FLAGS = Enum_tagBIND_FLAGS;
#[repr(C)]
pub struct Struct_IBindCtxVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IBindCtx)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IBindCtx)
-> ULONG>,
pub RegisterObjectBound: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2: *mut IUnknown)
-> HRESULT>,
pub RevokeObjectBound: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2: *mut IUnknown)
-> HRESULT>,
pub ReleaseBoundObjects: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx)
-> HRESULT>,
pub SetBindOptions: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2: *mut BIND_OPTS)
-> HRESULT>,
pub GetBindOptions: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2: *mut BIND_OPTS)
-> HRESULT>,
pub GetRunningObjectTable: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2:
*mut *mut IRunningObjectTable)
-> HRESULT>,
pub RegisterObjectParam: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2: LPOLESTR,
arg3: *mut IUnknown)
-> HRESULT>,
pub GetObjectParam: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2: LPOLESTR,
arg3: *mut *mut IUnknown)
-> HRESULT>,
pub EnumObjectParam: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2:
*mut *mut IEnumString)
-> HRESULT>,
pub RevokeObjectParam: ::std::option::Option<extern "C" fn
(arg1: *mut IBindCtx,
arg2: LPOLESTR)
-> HRESULT>,
}
pub type IBindCtxVtbl = Struct_IBindCtxVtbl;
#[repr(C)]
pub struct Struct_IBindCtx {
pub lpVtbl: *mut IBindCtxVtbl,
}
pub type LPENUMMONIKER = *mut IEnumMoniker;
#[repr(C)]
pub struct Struct_IEnumMonikerVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumMoniker,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IEnumMoniker)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IEnumMoniker)
-> ULONG>,
pub Next: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumMoniker, arg2: ULONG,
arg3: *mut *mut IMoniker,
arg4: *mut ULONG) -> HRESULT>,
pub Skip: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumMoniker, arg2: ULONG)
-> HRESULT>,
pub Reset: ::std::option::Option<extern "C" fn(arg1: *mut IEnumMoniker)
-> HRESULT>,
pub Clone: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumMoniker,
arg2: *mut *mut IEnumMoniker)
-> HRESULT>,
}
pub type IEnumMonikerVtbl = Struct_IEnumMonikerVtbl;
#[repr(C)]
pub struct Struct_IEnumMoniker {
pub lpVtbl: *mut IEnumMonikerVtbl,
}
pub type LPRUNNABLEOBJECT = *mut IRunnableObject;
#[repr(C)]
pub struct Struct_IRunnableObjectVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IRunnableObject,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IRunnableObject)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IRunnableObject)
-> ULONG>,
pub GetRunningClass: ::std::option::Option<extern "C" fn
(arg1:
*mut IRunnableObject,
arg2: LPCLSID)
-> HRESULT>,
pub Run: ::std::option::Option<extern "C" fn
(arg1: *mut IRunnableObject,
arg2: LPBINDCTX) -> HRESULT>,
pub IsRunning: ::std::option::Option<extern "C" fn
(arg1: *mut IRunnableObject)
-> WINBOOL>,
pub LockRunning: ::std::option::Option<extern "C" fn
(arg1: *mut IRunnableObject,
arg2: WINBOOL, arg3: WINBOOL)
-> HRESULT>,
pub SetContainedObject: ::std::option::Option<extern "C" fn
(arg1:
*mut IRunnableObject,
arg2: WINBOOL)
-> HRESULT>,
}
pub type IRunnableObjectVtbl = Struct_IRunnableObjectVtbl;
#[repr(C)]
pub struct Struct_IRunnableObject {
pub lpVtbl: *mut IRunnableObjectVtbl,
}
pub type LPRUNNINGOBJECTTABLE = *mut IRunningObjectTable;
#[repr(C)]
pub struct Struct_IRunningObjectTableVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IRunningObjectTable,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IRunningObjectTable)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IRunningObjectTable)
-> ULONG>,
pub Register: ::std::option::Option<extern "C" fn
(arg1: *mut IRunningObjectTable,
arg2: DWORD, arg3: *mut IUnknown,
arg4: *mut IMoniker,
arg5: *mut DWORD) -> HRESULT>,
pub Revoke: ::std::option::Option<extern "C" fn
(arg1: *mut IRunningObjectTable,
arg2: DWORD) -> HRESULT>,
pub IsRunning: ::std::option::Option<extern "C" fn
(arg1: *mut IRunningObjectTable,
arg2: *mut IMoniker)
-> HRESULT>,
pub GetObjectA: ::std::option::Option<extern "C" fn
(arg1: *mut IRunningObjectTable,
arg2: *mut IMoniker,
arg3: *mut *mut IUnknown)
-> HRESULT>,
pub NoteChangeTime: ::std::option::Option<extern "C" fn
(arg1:
*mut IRunningObjectTable,
arg2: DWORD,
arg3: *mut FILETIME)
-> HRESULT>,
pub GetTimeOfLastChange: ::std::option::Option<extern "C" fn
(arg1:
*mut IRunningObjectTable,
arg2: *mut IMoniker,
arg3: *mut FILETIME)
-> HRESULT>,
pub EnumRunning: ::std::option::Option<extern "C" fn
(arg1:
*mut IRunningObjectTable,
arg2: *mut *mut IEnumMoniker)
-> HRESULT>,
}
pub type IRunningObjectTableVtbl = Struct_IRunningObjectTableVtbl;
#[repr(C)]
pub struct Struct_IRunningObjectTable {
pub lpVtbl: *mut IRunningObjectTableVtbl,
}
pub type LPPERSIST = *mut IPersist;
#[repr(C)]
pub struct Struct_IPersistVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IPersist,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IPersist)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IPersist)
-> ULONG>,
pub GetClassID: ::std::option::Option<extern "C" fn
(arg1: *mut IPersist,
arg2: *mut CLSID) -> HRESULT>,
}
pub type IPersistVtbl = Struct_IPersistVtbl;
#[repr(C)]
pub struct Struct_IPersist {
pub lpVtbl: *mut IPersistVtbl,
}
pub type LPPERSISTSTREAM = *mut IPersistStream;
#[repr(C)]
pub struct Struct_IPersistStreamVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStream,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IPersistStream)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStream)
-> ULONG>,
pub GetClassID: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStream,
arg2: *mut CLSID) -> HRESULT>,
pub IsDirty: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStream)
-> HRESULT>,
pub Load: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStream,
arg2: *mut IStream) -> HRESULT>,
pub Save: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStream,
arg2: *mut IStream, arg3: WINBOOL)
-> HRESULT>,
pub GetSizeMax: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStream,
arg2: *mut ULARGE_INTEGER)
-> HRESULT>,
}
pub type IPersistStreamVtbl = Struct_IPersistStreamVtbl;
#[repr(C)]
pub struct Struct_IPersistStream {
pub lpVtbl: *mut IPersistStreamVtbl,
}
pub type LPMONIKER = *mut IMoniker;
pub type Enum_tagMKSYS = ::libc::c_uint;
pub const MKSYS_NONE: ::libc::c_uint = 0;
pub const MKSYS_GENERICCOMPOSITE: ::libc::c_uint = 1;
pub const MKSYS_FILEMONIKER: ::libc::c_uint = 2;
pub const MKSYS_ANTIMONIKER: ::libc::c_uint = 3;
pub const MKSYS_ITEMMONIKER: ::libc::c_uint = 4;
pub const MKSYS_POINTERMONIKER: ::libc::c_uint = 5;
pub const MKSYS_CLASSMONIKER: ::libc::c_uint = 7;
pub const MKSYS_OBJREFMONIKER: ::libc::c_uint = 8;
pub const MKSYS_SESSIONMONIKER: ::libc::c_uint = 9;
pub const MKSYS_LUAMONIKER: ::libc::c_uint = 10;
pub type MKSYS = Enum_tagMKSYS;
pub type Enum_tagMKREDUCE = ::libc::c_uint;
pub const MKRREDUCE_ONE: ::libc::c_uint = 196608;
pub const MKRREDUCE_TOUSER: ::libc::c_uint = 131072;
pub const MKRREDUCE_THROUGHUSER: ::libc::c_uint = 65536;
pub const MKRREDUCE_ALL: ::libc::c_uint = 0;
pub type MKRREDUCE = Enum_tagMKREDUCE;
#[repr(C)]
pub struct Struct_IMonikerVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IMoniker)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IMoniker)
-> ULONG>,
pub GetClassID: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut CLSID) -> HRESULT>,
pub IsDirty: ::std::option::Option<extern "C" fn(arg1: *mut IMoniker)
-> HRESULT>,
pub Load: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IStream) -> HRESULT>,
pub Save: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IStream, arg3: WINBOOL)
-> HRESULT>,
pub GetSizeMax: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut ULARGE_INTEGER)
-> HRESULT>,
pub BindToObject: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IBindCtx,
arg3: *mut IMoniker,
arg4: *const IID,
arg5:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub BindToStorage: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IBindCtx,
arg3: *mut IMoniker,
arg4: *const IID,
arg5:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub Reduce: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IBindCtx, arg3: DWORD,
arg4: *mut *mut IMoniker,
arg5: *mut *mut IMoniker)
-> HRESULT>,
pub ComposeWith: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IMoniker,
arg3: WINBOOL,
arg4: *mut *mut IMoniker)
-> HRESULT>,
pub Enum: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker, arg2: WINBOOL,
arg3: *mut *mut IEnumMoniker)
-> HRESULT>,
pub IsEqual: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IMoniker) -> HRESULT>,
pub Hash: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut DWORD) -> HRESULT>,
pub IsRunning: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IBindCtx,
arg3: *mut IMoniker,
arg4: *mut IMoniker)
-> HRESULT>,
pub GetTimeOfLastChange: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IBindCtx,
arg3: *mut IMoniker,
arg4: *mut FILETIME)
-> HRESULT>,
pub Inverse: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut *mut IMoniker)
-> HRESULT>,
pub CommonPrefixWith: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IMoniker,
arg3: *mut *mut IMoniker)
-> HRESULT>,
pub RelativePathTo: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IMoniker,
arg3: *mut *mut IMoniker)
-> HRESULT>,
pub GetDisplayName: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IBindCtx,
arg3: *mut IMoniker,
arg4: *mut LPOLESTR)
-> HRESULT>,
pub ParseDisplayName: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut IBindCtx,
arg3: *mut IMoniker,
arg4: LPOLESTR,
arg5: *mut ULONG,
arg6: *mut *mut IMoniker)
-> HRESULT>,
pub IsSystemMoniker: ::std::option::Option<extern "C" fn
(arg1: *mut IMoniker,
arg2: *mut DWORD)
-> HRESULT>,
}
pub type IMonikerVtbl = Struct_IMonikerVtbl;
#[repr(C)]
pub struct Struct_IMoniker {
pub lpVtbl: *mut IMonikerVtbl,
}
#[repr(C)]
pub struct Struct_IROTDataVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IROTData,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IROTData)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IROTData)
-> ULONG>,
pub GetComparisonData: ::std::option::Option<extern "C" fn
(arg1: *mut IROTData,
arg2: *mut byte,
arg3: ULONG,
arg4: *mut ULONG)
-> HRESULT>,
}
pub type IROTDataVtbl = Struct_IROTDataVtbl;
#[repr(C)]
pub struct Struct_IROTData {
pub lpVtbl: *mut IROTDataVtbl,
}
pub type LPENUMSTATSTG = *mut IEnumSTATSTG;
#[repr(C)]
pub struct Struct_IEnumSTATSTGVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumSTATSTG,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IEnumSTATSTG)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IEnumSTATSTG)
-> ULONG>,
pub Next: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumSTATSTG, arg2: ULONG,
arg3: *mut STATSTG, arg4: *mut ULONG)
-> HRESULT>,
pub Skip: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumSTATSTG, arg2: ULONG)
-> HRESULT>,
pub Reset: ::std::option::Option<extern "C" fn(arg1: *mut IEnumSTATSTG)
-> HRESULT>,
pub Clone: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumSTATSTG,
arg2: *mut *mut IEnumSTATSTG)
-> HRESULT>,
}
pub type IEnumSTATSTGVtbl = Struct_IEnumSTATSTGVtbl;
#[repr(C)]
pub struct Struct_IEnumSTATSTG {
pub lpVtbl: *mut IEnumSTATSTGVtbl,
}
pub type LPSTORAGE = *mut IStorage;
#[repr(C)]
pub struct Struct_tagRemSNB {
pub ulCntStr: ULONG,
pub ulCntChar: ULONG,
pub rgString: [OLECHAR, ..1u],
}
pub type RemSNB = Struct_tagRemSNB;
pub type wireSNB = *mut RemSNB;
pub type SNB = *mut LPOLESTR;
#[repr(C)]
pub struct Struct_IStorageVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IStorage)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IStorage)
-> ULONG>,
pub CreateStream: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const OLECHAR,
arg3: DWORD, arg4: DWORD,
arg5: DWORD,
arg6: *mut *mut IStream)
-> HRESULT>,
pub OpenStream: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const OLECHAR,
arg3: *mut ::libc::c_void,
arg4: DWORD, arg5: DWORD,
arg6: *mut *mut IStream)
-> HRESULT>,
pub CreateStorage: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const OLECHAR,
arg3: DWORD, arg4: DWORD,
arg5: DWORD,
arg6: *mut *mut IStorage)
-> HRESULT>,
pub OpenStorage: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const OLECHAR,
arg3: *mut IStorage,
arg4: DWORD, arg5: SNB,
arg6: DWORD,
arg7: *mut *mut IStorage)
-> HRESULT>,
pub CopyTo: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage, arg2: DWORD,
arg3: *const IID, arg4: SNB,
arg5: *mut IStorage) -> HRESULT>,
pub MoveElementTo: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const OLECHAR,
arg3: *mut IStorage,
arg4: *const OLECHAR,
arg5: DWORD) -> HRESULT>,
pub Commit: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage, arg2: DWORD)
-> HRESULT>,
pub Revert: ::std::option::Option<extern "C" fn(arg1: *mut IStorage)
-> HRESULT>,
pub EnumElements: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: DWORD,
arg3: *mut ::libc::c_void,
arg4: DWORD,
arg5: *mut *mut IEnumSTATSTG)
-> HRESULT>,
pub DestroyElement: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const OLECHAR)
-> HRESULT>,
pub RenameElement: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const OLECHAR,
arg3: *const OLECHAR)
-> HRESULT>,
pub SetElementTimes: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const OLECHAR,
arg3: *const FILETIME,
arg4: *const FILETIME,
arg5: *const FILETIME)
-> HRESULT>,
pub SetClass: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *const IID) -> HRESULT>,
pub SetStateBits: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: DWORD, arg3: DWORD)
-> HRESULT>,
pub Stat: ::std::option::Option<extern "C" fn
(arg1: *mut IStorage,
arg2: *mut STATSTG, arg3: DWORD)
-> HRESULT>,
}
pub type IStorageVtbl = Struct_IStorageVtbl;
#[repr(C)]
pub struct Struct_IStorage {
pub lpVtbl: *mut IStorageVtbl,
}
pub type LPPERSISTFILE = *mut IPersistFile;
#[repr(C)]
pub struct Struct_IPersistFileVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistFile,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IPersistFile)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IPersistFile)
-> ULONG>,
pub GetClassID: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistFile,
arg2: *mut CLSID) -> HRESULT>,
pub IsDirty: ::std::option::Option<extern "C" fn(arg1: *mut IPersistFile)
-> HRESULT>,
pub Load: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistFile,
arg2: LPCOLESTR, arg3: DWORD)
-> HRESULT>,
pub Save: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistFile,
arg2: LPCOLESTR, arg3: WINBOOL)
-> HRESULT>,
pub SaveCompleted: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistFile,
arg2: LPCOLESTR)
-> HRESULT>,
pub GetCurFile: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistFile,
arg2: *mut LPOLESTR)
-> HRESULT>,
}
pub type IPersistFileVtbl = Struct_IPersistFileVtbl;
#[repr(C)]
pub struct Struct_IPersistFile {
pub lpVtbl: *mut IPersistFileVtbl,
}
pub type LPPERSISTSTORAGE = *mut IPersistStorage;
#[repr(C)]
pub struct Struct_IPersistStorageVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStorage,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStorage)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStorage)
-> ULONG>,
pub GetClassID: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStorage,
arg2: *mut CLSID) -> HRESULT>,
pub IsDirty: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStorage)
-> HRESULT>,
pub InitNew: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStorage,
arg2: *mut IStorage) -> HRESULT>,
pub Load: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStorage,
arg2: *mut IStorage) -> HRESULT>,
pub Save: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStorage,
arg2: *mut IStorage, arg3: WINBOOL)
-> HRESULT>,
pub SaveCompleted: ::std::option::Option<extern "C" fn
(arg1: *mut IPersistStorage,
arg2: *mut IStorage)
-> HRESULT>,
pub HandsOffStorage: ::std::option::Option<extern "C" fn
(arg1:
*mut IPersistStorage)
-> HRESULT>,
}
pub type IPersistStorageVtbl = Struct_IPersistStorageVtbl;
#[repr(C)]
pub struct Struct_IPersistStorage {
pub lpVtbl: *mut IPersistStorageVtbl,
}
pub type LPLOCKBYTES = *mut ILockBytes;
#[repr(C)]
pub struct Struct_ILockBytesVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut ILockBytes,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut ILockBytes)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut ILockBytes)
-> ULONG>,
pub ReadAt: ::std::option::Option<extern "C" fn
(arg1: *mut ILockBytes,
arg2: ULARGE_INTEGER,
arg3: *mut ::libc::c_void,
arg4: ULONG, arg5: *mut ULONG)
-> HRESULT>,
pub WriteAt: ::std::option::Option<extern "C" fn
(arg1: *mut ILockBytes,
arg2: ULARGE_INTEGER,
arg3: *const ::libc::c_void,
arg4: ULONG, arg5: *mut ULONG)
-> HRESULT>,
pub Flush: ::std::option::Option<extern "C" fn(arg1: *mut ILockBytes)
-> HRESULT>,
pub SetSize: ::std::option::Option<extern "C" fn
(arg1: *mut ILockBytes,
arg2: ULARGE_INTEGER) -> HRESULT>,
pub LockRegion: ::std::option::Option<extern "C" fn
(arg1: *mut ILockBytes,
arg2: ULARGE_INTEGER,
arg3: ULARGE_INTEGER,
arg4: DWORD) -> HRESULT>,
pub UnlockRegion: ::std::option::Option<extern "C" fn
(arg1: *mut ILockBytes,
arg2: ULARGE_INTEGER,
arg3: ULARGE_INTEGER,
arg4: DWORD) -> HRESULT>,
pub Stat: ::std::option::Option<extern "C" fn
(arg1: *mut ILockBytes,
arg2: *mut STATSTG, arg3: DWORD)
-> HRESULT>,
}
pub type ILockBytesVtbl = Struct_ILockBytesVtbl;
#[repr(C)]
pub struct Struct_ILockBytes {
pub lpVtbl: *mut ILockBytesVtbl,
}
pub type LPENUMFORMATETC = *mut IEnumFORMATETC;
#[repr(C)]
pub struct Struct_tagDVTARGETDEVICE {
pub tdSize: DWORD,
pub tdDriverNameOffset: WORD,
pub tdDeviceNameOffset: WORD,
pub tdPortNameOffset: WORD,
pub tdExtDevmodeOffset: WORD,
pub tdData: [BYTE, ..1u],
}
pub type DVTARGETDEVICE = Struct_tagDVTARGETDEVICE;
pub type LPCLIPFORMAT = *mut CLIPFORMAT;
#[repr(C)]
pub struct Struct_tagFORMATETC {
pub cfFormat: CLIPFORMAT,
pub ptd: *mut DVTARGETDEVICE,
pub dwAspect: DWORD,
pub lindex: LONG,
pub tymed: DWORD,
}
pub type FORMATETC = Struct_tagFORMATETC;
pub type LPFORMATETC = *mut Struct_tagFORMATETC;
#[repr(C)]
pub struct Struct_IEnumFORMATETCVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumFORMATETC,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IEnumFORMATETC)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumFORMATETC)
-> ULONG>,
pub Next: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumFORMATETC,
arg2: ULONG, arg3: *mut FORMATETC,
arg4: *mut ULONG) -> HRESULT>,
pub Skip: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumFORMATETC,
arg2: ULONG) -> HRESULT>,
pub Reset: ::std::option::Option<extern "C" fn(arg1: *mut IEnumFORMATETC)
-> HRESULT>,
pub Clone: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumFORMATETC,
arg2: *mut *mut IEnumFORMATETC)
-> HRESULT>,
}
pub type IEnumFORMATETCVtbl = Struct_IEnumFORMATETCVtbl;
#[repr(C)]
pub struct Struct_IEnumFORMATETC {
pub lpVtbl: *mut IEnumFORMATETCVtbl,
}
pub type LPENUMSTATDATA = *mut IEnumSTATDATA;
pub type Enum_tagADVF = ::libc::c_uint;
pub const ADVF_NODATA: ::libc::c_uint = 1;
pub const ADVF_PRIMEFIRST: ::libc::c_uint = 2;
pub const ADVF_ONLYONCE: ::libc::c_uint = 4;
pub const ADVF_DATAONSTOP: ::libc::c_uint = 64;
pub const ADVFCACHE_NOHANDLER: ::libc::c_uint = 8;
pub const ADVFCACHE_FORCEBUILTIN: ::libc::c_uint = 16;
pub const ADVFCACHE_ONSAVE: ::libc::c_uint = 32;
pub type ADVF = Enum_tagADVF;
#[repr(C)]
pub struct Struct_tagSTATDATA {
pub formatetc: FORMATETC,
pub advf: DWORD,
pub pAdvSink: *mut IAdviseSink,
pub dwConnection: DWORD,
}
pub type STATDATA = Struct_tagSTATDATA;
pub type LPSTATDATA = *mut STATDATA;
#[repr(C)]
pub struct Struct_IEnumSTATDATAVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumSTATDATA,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IEnumSTATDATA)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IEnumSTATDATA)
-> ULONG>,
pub Next: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumSTATDATA,
arg2: ULONG, arg3: *mut STATDATA,
arg4: *mut ULONG) -> HRESULT>,
pub Skip: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumSTATDATA,
arg2: ULONG) -> HRESULT>,
pub Reset: ::std::option::Option<extern "C" fn(arg1: *mut IEnumSTATDATA)
-> HRESULT>,
pub Clone: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumSTATDATA,
arg2: *mut *mut IEnumSTATDATA)
-> HRESULT>,
}
pub type IEnumSTATDATAVtbl = Struct_IEnumSTATDATAVtbl;
#[repr(C)]
pub struct Struct_IEnumSTATDATA {
pub lpVtbl: *mut IEnumSTATDATAVtbl,
}
pub type LPROOTSTORAGE = *mut IRootStorage;
#[repr(C)]
pub struct Struct_IRootStorageVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IRootStorage,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IRootStorage)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IRootStorage)
-> ULONG>,
pub SwitchToFile: ::std::option::Option<extern "C" fn
(arg1: *mut IRootStorage,
arg2: LPOLESTR) -> HRESULT>,
}
pub type IRootStorageVtbl = Struct_IRootStorageVtbl;
#[repr(C)]
pub struct Struct_IRootStorage {
pub lpVtbl: *mut IRootStorageVtbl,
}
pub type LPADVISESINK = *mut IAdviseSink;
pub type Enum_tagTYMED = ::libc::c_uint;
pub const TYMED_HGLOBAL: ::libc::c_uint = 1;
pub const TYMED_FILE: ::libc::c_uint = 2;
pub const TYMED_ISTREAM: ::libc::c_uint = 4;
pub const TYMED_ISTORAGE: ::libc::c_uint = 8;
pub const TYMED_GDI: ::libc::c_uint = 16;
pub const TYMED_MFPICT: ::libc::c_uint = 32;
pub const TYMED_ENHMF: ::libc::c_uint = 64;
pub const TYMED_NULL: ::libc::c_uint = 0;
pub type TYMED = Enum_tagTYMED;
#[repr(C)]
pub struct Struct_tagRemSTGMEDIUM {
pub tymed: DWORD,
pub dwHandleType: DWORD,
pub pData: ULONG,
pub pUnkForRelease: ULONG,
pub cbData: ULONG,
pub data: [byte, ..1u],
}
pub type RemSTGMEDIUM = Struct_tagRemSTGMEDIUM;
#[repr(C)]
pub struct Struct_tagSTGMEDIUM {
pub tymed: DWORD,
pub pUnkForRelease: *mut IUnknown,
}
#[repr(C)]
pub struct Union_Unnamed260 {
pub data: [u64, ..1u],
}
impl Union_Unnamed260 {
pub fn hBitmap(&mut self) -> *mut HBITMAP {
unsafe { ::std::mem::transmute(self) }
}
pub fn hMetaFilePict(&mut self) -> *mut HMETAFILEPICT {
unsafe { ::std::mem::transmute(self) }
}
pub fn hEnhMetaFile(&mut self) -> *mut HENHMETAFILE {
unsafe { ::std::mem::transmute(self) }
}
pub fn hGlobal(&mut self) -> *mut HGLOBAL {
unsafe { ::std::mem::transmute(self) }
}
pub fn lpszFileName(&mut self) -> *mut LPOLESTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn pstm(&mut self) -> *mut *mut IStream {
unsafe { ::std::mem::transmute(self) }
}
pub fn pstg(&mut self) -> *mut *mut IStorage {
unsafe { ::std::mem::transmute(self) }
}
}
pub type uSTGMEDIUM = Struct_tagSTGMEDIUM;
#[repr(C)]
pub struct Struct__GDI_OBJECT {
pub ObjectType: DWORD,
pub u: Union_Unnamed261,
}
#[repr(C)]
pub struct Union_Unnamed261 {
pub data: [u64, ..1u],
}
impl Union_Unnamed261 {
pub fn hBitmap(&mut self) -> *mut wireHBITMAP {
unsafe { ::std::mem::transmute(self) }
}
pub fn hPalette(&mut self) -> *mut wireHPALETTE {
unsafe { ::std::mem::transmute(self) }
}
pub fn hGeneric(&mut self) -> *mut wireHGLOBAL {
unsafe { ::std::mem::transmute(self) }
}
}
pub type GDI_OBJECT = Struct__GDI_OBJECT;
#[repr(C)]
pub struct Struct__userSTGMEDIUM {
pub pUnkForRelease: *mut IUnknown,
}
#[repr(C)]
pub struct Struct__STGMEDIUM_UNION {
pub tymed: DWORD,
pub u: Union_Unnamed262,
}
#[repr(C)]
pub struct Union_Unnamed262 {
pub data: [u64, ..1u],
}
impl Union_Unnamed262 {
pub fn hMetaFilePict(&mut self) -> *mut wireHMETAFILEPICT {
unsafe { ::std::mem::transmute(self) }
}
pub fn hHEnhMetaFile(&mut self) -> *mut wireHENHMETAFILE {
unsafe { ::std::mem::transmute(self) }
}
pub fn hGdiHandle(&mut self) -> *mut *mut GDI_OBJECT {
unsafe { ::std::mem::transmute(self) }
}
pub fn hGlobal(&mut self) -> *mut wireHGLOBAL {
unsafe { ::std::mem::transmute(self) }
}
pub fn lpszFileName(&mut self) -> *mut LPOLESTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn pstm(&mut self) -> *mut *mut BYTE_BLOB {
unsafe { ::std::mem::transmute(self) }
}
pub fn pstg(&mut self) -> *mut *mut BYTE_BLOB {
unsafe { ::std::mem::transmute(self) }
}
}
pub type userSTGMEDIUM = Struct__userSTGMEDIUM;
pub type wireSTGMEDIUM = *mut userSTGMEDIUM;
pub type STGMEDIUM = uSTGMEDIUM;
pub type wireASYNC_STGMEDIUM = *mut userSTGMEDIUM;
pub type ASYNC_STGMEDIUM = STGMEDIUM;
pub type LPSTGMEDIUM = *mut STGMEDIUM;
#[repr(C)]
pub struct Struct__userFLAG_STGMEDIUM {
pub ContextFlags: LONG,
pub fPassOwnership: LONG,
pub Stgmed: userSTGMEDIUM,
}
pub type userFLAG_STGMEDIUM = Struct__userFLAG_STGMEDIUM;
pub type wireFLAG_STGMEDIUM = *mut userFLAG_STGMEDIUM;
#[repr(C)]
pub struct Struct__FLAG_STGMEDIUM {
pub ContextFlags: LONG,
pub fPassOwnership: LONG,
pub Stgmed: STGMEDIUM,
}
pub type FLAG_STGMEDIUM = Struct__FLAG_STGMEDIUM;
#[repr(C)]
pub struct Struct_IAdviseSinkVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IAdviseSink)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IAdviseSink)
-> ULONG>,
pub OnDataChange: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink,
arg2: *mut FORMATETC,
arg3: *mut STGMEDIUM)>,
pub OnViewChange: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink,
arg2: DWORD, arg3: LONG)>,
pub OnRename: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink,
arg2: *mut IMoniker)>,
pub OnSave: ::std::option::Option<extern "C" fn(arg1: *mut IAdviseSink)>,
pub OnClose: ::std::option::Option<extern "C" fn(arg1: *mut IAdviseSink)>,
}
pub type IAdviseSinkVtbl = Struct_IAdviseSinkVtbl;
#[repr(C)]
pub struct Struct_IAdviseSink {
pub lpVtbl: *mut IAdviseSinkVtbl,
}
#[repr(C)]
pub struct Struct_AsyncIAdviseSinkVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIAdviseSink)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIAdviseSink)
-> ULONG>,
pub Begin_OnDataChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink,
arg2: *mut FORMATETC,
arg3: *mut STGMEDIUM)>,
pub Finish_OnDataChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink)>,
pub Begin_OnViewChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink,
arg2: DWORD,
arg3: LONG)>,
pub Finish_OnViewChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink)>,
pub Begin_OnRename: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink,
arg2: *mut IMoniker)>,
pub Finish_OnRename: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink)>,
pub Begin_OnSave: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink)>,
pub Finish_OnSave: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink)>,
pub Begin_OnClose: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink)>,
pub Finish_OnClose: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink)>,
}
pub type AsyncIAdviseSinkVtbl = Struct_AsyncIAdviseSinkVtbl;
#[repr(C)]
pub struct Struct_AsyncIAdviseSink {
pub lpVtbl: *mut AsyncIAdviseSinkVtbl,
}
pub type LPADVISESINK2 = *mut IAdviseSink2;
#[repr(C)]
pub struct Struct_IAdviseSink2Vtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink2,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IAdviseSink2)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IAdviseSink2)
-> ULONG>,
pub OnDataChange: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink2,
arg2: *mut FORMATETC,
arg3: *mut STGMEDIUM)>,
pub OnViewChange: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink2,
arg2: DWORD, arg3: LONG)>,
pub OnRename: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink2,
arg2: *mut IMoniker)>,
pub OnSave: ::std::option::Option<extern "C" fn(arg1: *mut IAdviseSink2)>,
pub OnClose: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink2)>,
pub OnLinkSrcChange: ::std::option::Option<extern "C" fn
(arg1: *mut IAdviseSink2,
arg2: *mut IMoniker)>,
}
pub type IAdviseSink2Vtbl = Struct_IAdviseSink2Vtbl;
#[repr(C)]
pub struct Struct_IAdviseSink2 {
pub lpVtbl: *mut IAdviseSink2Vtbl,
}
#[repr(C)]
pub struct Struct_AsyncIAdviseSink2Vtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIAdviseSink2)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut AsyncIAdviseSink2)
-> ULONG>,
pub Begin_OnDataChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2,
arg2: *mut FORMATETC,
arg3: *mut STGMEDIUM)>,
pub Finish_OnDataChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2)>,
pub Begin_OnViewChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2,
arg2: DWORD,
arg3: LONG)>,
pub Finish_OnViewChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2)>,
pub Begin_OnRename: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2,
arg2: *mut IMoniker)>,
pub Finish_OnRename: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2)>,
pub Begin_OnSave: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2)>,
pub Finish_OnSave: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2)>,
pub Begin_OnClose: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2)>,
pub Finish_OnClose: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2)>,
pub Begin_OnLinkSrcChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2,
arg2:
*mut IMoniker)>,
pub Finish_OnLinkSrcChange: ::std::option::Option<extern "C" fn
(arg1:
*mut AsyncIAdviseSink2)>,
}
pub type AsyncIAdviseSink2Vtbl = Struct_AsyncIAdviseSink2Vtbl;
#[repr(C)]
pub struct Struct_AsyncIAdviseSink2 {
pub lpVtbl: *mut AsyncIAdviseSink2Vtbl,
}
pub type LPDATAOBJECT = *mut IDataObject;
pub type Enum_tagDATADIR = ::libc::c_uint;
pub const DATADIR_GET: ::libc::c_uint = 1;
pub const DATADIR_SET: ::libc::c_uint = 2;
pub type DATADIR = Enum_tagDATADIR;
#[repr(C)]
pub struct Struct_IDataObjectVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IDataObject,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IDataObject)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IDataObject)
-> ULONG>,
pub GetData: ::std::option::Option<extern "C" fn
(arg1: *mut IDataObject,
arg2: *mut FORMATETC,
arg3: *mut STGMEDIUM) -> HRESULT>,
pub GetDataHere: ::std::option::Option<extern "C" fn
(arg1: *mut IDataObject,
arg2: *mut FORMATETC,
arg3: *mut STGMEDIUM)
-> HRESULT>,
pub QueryGetData: ::std::option::Option<extern "C" fn
(arg1: *mut IDataObject,
arg2: *mut FORMATETC)
-> HRESULT>,
pub GetCanonicalFormatEtc: ::std::option::Option<extern "C" fn
(arg1:
*mut IDataObject,
arg2:
*mut FORMATETC,
arg3:
*mut FORMATETC)
-> HRESULT>,
pub SetData: ::std::option::Option<extern "C" fn
(arg1: *mut IDataObject,
arg2: *mut FORMATETC,
arg3: *mut STGMEDIUM,
arg4: WINBOOL) -> HRESULT>,
pub EnumFormatEtc: ::std::option::Option<extern "C" fn
(arg1: *mut IDataObject,
arg2: DWORD,
arg3:
*mut *mut IEnumFORMATETC)
-> HRESULT>,
pub DAdvise: ::std::option::Option<extern "C" fn
(arg1: *mut IDataObject,
arg2: *mut FORMATETC, arg3: DWORD,
arg4: *mut IAdviseSink,
arg5: *mut DWORD) -> HRESULT>,
pub DUnadvise: ::std::option::Option<extern "C" fn
(arg1: *mut IDataObject,
arg2: DWORD) -> HRESULT>,
pub EnumDAdvise: ::std::option::Option<extern "C" fn
(arg1: *mut IDataObject,
arg2: *mut *mut IEnumSTATDATA)
-> HRESULT>,
}
pub type IDataObjectVtbl = Struct_IDataObjectVtbl;
#[repr(C)]
pub struct Struct_IDataObject {
pub lpVtbl: *mut IDataObjectVtbl,
}
pub type LPDATAADVISEHOLDER = *mut IDataAdviseHolder;
#[repr(C)]
pub struct Struct_IDataAdviseHolderVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IDataAdviseHolder,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IDataAdviseHolder)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IDataAdviseHolder)
-> ULONG>,
pub Advise: ::std::option::Option<extern "C" fn
(arg1: *mut IDataAdviseHolder,
arg2: *mut IDataObject,
arg3: *mut FORMATETC, arg4: DWORD,
arg5: *mut IAdviseSink,
arg6: *mut DWORD) -> HRESULT>,
pub Unadvise: ::std::option::Option<extern "C" fn
(arg1: *mut IDataAdviseHolder,
arg2: DWORD) -> HRESULT>,
pub EnumAdvise: ::std::option::Option<extern "C" fn
(arg1: *mut IDataAdviseHolder,
arg2: *mut *mut IEnumSTATDATA)
-> HRESULT>,
pub SendOnDataChange: ::std::option::Option<extern "C" fn
(arg1:
*mut IDataAdviseHolder,
arg2: *mut IDataObject,
arg3: DWORD, arg4: DWORD)
-> HRESULT>,
}
pub type IDataAdviseHolderVtbl = Struct_IDataAdviseHolderVtbl;
#[repr(C)]
pub struct Struct_IDataAdviseHolder {
pub lpVtbl: *mut IDataAdviseHolderVtbl,
}
pub type LPMESSAGEFILTER = *mut IMessageFilter;
pub type Enum_tagCALLTYPE = ::libc::c_uint;
pub const CALLTYPE_TOPLEVEL: ::libc::c_uint = 1;
pub const CALLTYPE_NESTED: ::libc::c_uint = 2;
pub const CALLTYPE_ASYNC: ::libc::c_uint = 3;
pub const CALLTYPE_TOPLEVEL_CALLPENDING: ::libc::c_uint = 4;
pub const CALLTYPE_ASYNC_CALLPENDING: ::libc::c_uint = 5;
pub type CALLTYPE = Enum_tagCALLTYPE;
pub type Enum_tagSERVERCALL = ::libc::c_uint;
pub const SERVERCALL_ISHANDLED: ::libc::c_uint = 0;
pub const SERVERCALL_REJECTED: ::libc::c_uint = 1;
pub const SERVERCALL_RETRYLATER: ::libc::c_uint = 2;
pub type SERVERCALL = Enum_tagSERVERCALL;
pub type Enum_tagPENDINGTYPE = ::libc::c_uint;
pub const PENDINGTYPE_TOPLEVEL: ::libc::c_uint = 1;
pub const PENDINGTYPE_NESTED: ::libc::c_uint = 2;
pub type PENDINGTYPE = Enum_tagPENDINGTYPE;
pub type Enum_tagPENDINGMSG = ::libc::c_uint;
pub const PENDINGMSG_CANCELCALL: ::libc::c_uint = 0;
pub const PENDINGMSG_WAITNOPROCESS: ::libc::c_uint = 1;
pub const PENDINGMSG_WAITDEFPROCESS: ::libc::c_uint = 2;
pub type PENDINGMSG = Enum_tagPENDINGMSG;
#[repr(C)]
pub struct Struct_tagINTERFACEINFO {
pub pUnk: *mut IUnknown,
pub iid: IID,
pub wMethod: WORD,
}
pub type INTERFACEINFO = Struct_tagINTERFACEINFO;
pub type LPINTERFACEINFO = *mut Struct_tagINTERFACEINFO;
#[repr(C)]
pub struct Struct_IMessageFilterVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IMessageFilter,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IMessageFilter)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IMessageFilter)
-> ULONG>,
pub HandleInComingCall: ::std::option::Option<extern "C" fn
(arg1:
*mut IMessageFilter,
arg2: DWORD,
arg3: HTASK,
arg4: DWORD,
arg5: LPINTERFACEINFO)
-> DWORD>,
pub RetryRejectedCall: ::std::option::Option<extern "C" fn
(arg1:
*mut IMessageFilter,
arg2: HTASK,
arg3: DWORD,
arg4: DWORD) -> DWORD>,
pub MessagePending: ::std::option::Option<extern "C" fn
(arg1: *mut IMessageFilter,
arg2: HTASK, arg3: DWORD,
arg4: DWORD) -> DWORD>,
}
pub type IMessageFilterVtbl = Struct_IMessageFilterVtbl;
#[repr(C)]
pub struct Struct_IMessageFilter {
pub lpVtbl: *mut IMessageFilterVtbl,
}
#[repr(C)]
pub struct Struct_IClassActivatorVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IClassActivator,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IClassActivator)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IClassActivator)
-> ULONG>,
pub GetClassObject: ::std::option::Option<extern "C" fn
(arg1: *mut IClassActivator,
arg2: *const IID,
arg3: DWORD, arg4: LCID,
arg5: *const IID,
arg6:
*mut *mut ::libc::c_void)
-> HRESULT>,
}
pub type IClassActivatorVtbl = Struct_IClassActivatorVtbl;
#[repr(C)]
pub struct Struct_IClassActivator {
pub lpVtbl: *mut IClassActivatorVtbl,
}
#[repr(C)]
pub struct Struct_IFillLockBytesVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IFillLockBytes,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IFillLockBytes)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IFillLockBytes)
-> ULONG>,
pub FillAppend: ::std::option::Option<extern "C" fn
(arg1: *mut IFillLockBytes,
arg2: *const ::libc::c_void,
arg3: ULONG, arg4: *mut ULONG)
-> HRESULT>,
pub FillAt: ::std::option::Option<extern "C" fn
(arg1: *mut IFillLockBytes,
arg2: ULARGE_INTEGER,
arg3: *const ::libc::c_void,
arg4: ULONG, arg5: *mut ULONG)
-> HRESULT>,
pub SetFillSize: ::std::option::Option<extern "C" fn
(arg1: *mut IFillLockBytes,
arg2: ULARGE_INTEGER)
-> HRESULT>,
pub Terminate: ::std::option::Option<extern "C" fn
(arg1: *mut IFillLockBytes,
arg2: WINBOOL) -> HRESULT>,
}
pub type IFillLockBytesVtbl = Struct_IFillLockBytesVtbl;
#[repr(C)]
pub struct Struct_IFillLockBytes {
pub lpVtbl: *mut IFillLockBytesVtbl,
}
#[repr(C)]
pub struct Struct_IProgressNotifyVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IProgressNotify,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IProgressNotify)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IProgressNotify)
-> ULONG>,
pub OnProgress: ::std::option::Option<extern "C" fn
(arg1: *mut IProgressNotify,
arg2: DWORD, arg3: DWORD,
arg4: WINBOOL, arg5: WINBOOL)
-> HRESULT>,
}
pub type IProgressNotifyVtbl = Struct_IProgressNotifyVtbl;
#[repr(C)]
pub struct Struct_IProgressNotify {
pub lpVtbl: *mut IProgressNotifyVtbl,
}
#[repr(C)]
pub struct Struct_tagStorageLayout {
pub LayoutType: DWORD,
pub pwcsElementName: *mut OLECHAR,
pub cOffset: LARGE_INTEGER,
pub cBytes: LARGE_INTEGER,
}
pub type StorageLayout = Struct_tagStorageLayout;
#[repr(C)]
pub struct Struct_ILayoutStorageVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut ILayoutStorage,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut ILayoutStorage)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut ILayoutStorage)
-> ULONG>,
pub LayoutScript: ::std::option::Option<extern "C" fn
(arg1: *mut ILayoutStorage,
arg2: *mut StorageLayout,
arg3: DWORD, arg4: DWORD)
-> HRESULT>,
pub BeginMonitor: ::std::option::Option<extern "C" fn
(arg1: *mut ILayoutStorage)
-> HRESULT>,
pub EndMonitor: ::std::option::Option<extern "C" fn
(arg1: *mut ILayoutStorage)
-> HRESULT>,
pub ReLayoutDocfile: ::std::option::Option<extern "C" fn
(arg1: *mut ILayoutStorage,
arg2: *mut OLECHAR)
-> HRESULT>,
pub ReLayoutDocfileOnILockBytes: ::std::option::Option<extern "C" fn
(arg1:
*mut ILayoutStorage,
arg2:
*mut ILockBytes)
-> HRESULT>,
}
pub type ILayoutStorageVtbl = Struct_ILayoutStorageVtbl;
#[repr(C)]
pub struct Struct_ILayoutStorage {
pub lpVtbl: *mut ILayoutStorageVtbl,
}
#[repr(C)]
pub struct Struct_IBlockingLockVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IBlockingLock,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IBlockingLock)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IBlockingLock)
-> ULONG>,
pub Lock: ::std::option::Option<extern "C" fn
(arg1: *mut IBlockingLock,
arg2: DWORD) -> HRESULT>,
pub Unlock: ::std::option::Option<extern "C" fn(arg1: *mut IBlockingLock)
-> HRESULT>,
}
pub type IBlockingLockVtbl = Struct_IBlockingLockVtbl;
#[repr(C)]
pub struct Struct_IBlockingLock {
pub lpVtbl: *mut IBlockingLockVtbl,
}
#[repr(C)]
pub struct Struct_ITimeAndNoticeControlVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut ITimeAndNoticeControl,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut ITimeAndNoticeControl)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut ITimeAndNoticeControl)
-> ULONG>,
pub SuppressChanges: ::std::option::Option<extern "C" fn
(arg1:
*mut ITimeAndNoticeControl,
arg2: DWORD, arg3: DWORD)
-> HRESULT>,
}
pub type ITimeAndNoticeControlVtbl = Struct_ITimeAndNoticeControlVtbl;
#[repr(C)]
pub struct Struct_ITimeAndNoticeControl {
pub lpVtbl: *mut ITimeAndNoticeControlVtbl,
}
#[repr(C)]
pub struct Struct_IOplockStorageVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IOplockStorage,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IOplockStorage)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IOplockStorage)
-> ULONG>,
pub CreateStorageEx: ::std::option::Option<extern "C" fn
(arg1: *mut IOplockStorage,
arg2: LPCWSTR,
arg3: DWORD, arg4: DWORD,
arg5: DWORD,
arg6: *const IID,
arg7:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub OpenStorageEx: ::std::option::Option<extern "C" fn
(arg1: *mut IOplockStorage,
arg2: LPCWSTR, arg3: DWORD,
arg4: DWORD, arg5: DWORD,
arg6: *const IID,
arg7:
*mut *mut ::libc::c_void)
-> HRESULT>,
}
pub type IOplockStorageVtbl = Struct_IOplockStorageVtbl;
#[repr(C)]
pub struct Struct_IOplockStorage {
pub lpVtbl: *mut IOplockStorageVtbl,
}
#[repr(C)]
pub struct Struct_IDirectWriterLockVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IDirectWriterLock,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IDirectWriterLock)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IDirectWriterLock)
-> ULONG>,
pub WaitForWriteAccess: ::std::option::Option<extern "C" fn
(arg1:
*mut IDirectWriterLock,
arg2: DWORD)
-> HRESULT>,
pub ReleaseWriteAccess: ::std::option::Option<extern "C" fn
(arg1:
*mut IDirectWriterLock)
-> HRESULT>,
pub HaveWriteAccess: ::std::option::Option<extern "C" fn
(arg1:
*mut IDirectWriterLock)
-> HRESULT>,
}
pub type IDirectWriterLockVtbl = Struct_IDirectWriterLockVtbl;
#[repr(C)]
pub struct Struct_IDirectWriterLock {
pub lpVtbl: *mut IDirectWriterLockVtbl,
}
#[repr(C)]
pub struct Struct_IUrlMonVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IUrlMon,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IUrlMon)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IUrlMon)
-> ULONG>,
pub AsyncGetClassBits: ::std::option::Option<extern "C" fn
(arg1: *mut IUrlMon,
arg2: *const IID,
arg3: LPCWSTR,
arg4: LPCWSTR,
arg5: DWORD,
arg6: DWORD,
arg7: LPCWSTR,
arg8: *mut IBindCtx,
arg9: DWORD,
arg10: *const IID,
arg11: DWORD)
-> HRESULT>,
}
pub type IUrlMonVtbl = Struct_IUrlMonVtbl;
#[repr(C)]
pub struct Struct_IUrlMon {
pub lpVtbl: *mut IUrlMonVtbl,
}
#[repr(C)]
pub struct Struct_IForegroundTransferVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IForegroundTransfer,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IForegroundTransfer)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IForegroundTransfer)
-> ULONG>,
pub AllowForegroundTransfer: ::std::option::Option<extern "C" fn
(arg1:
*mut IForegroundTransfer,
arg2:
*mut ::libc::c_void)
-> HRESULT>,
}
pub type IForegroundTransferVtbl = Struct_IForegroundTransferVtbl;
#[repr(C)]
pub struct Struct_IForegroundTransfer {
pub lpVtbl: *mut IForegroundTransferVtbl,
}
#[repr(C)]
pub struct Struct_IThumbnailExtractorVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IThumbnailExtractor,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IThumbnailExtractor)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IThumbnailExtractor)
-> ULONG>,
pub ExtractThumbnail: ::std::option::Option<extern "C" fn
(arg1:
*mut IThumbnailExtractor,
arg2: *mut IStorage,
arg3: ULONG, arg4: ULONG,
arg5: *mut ULONG,
arg6: *mut ULONG,
arg7: *mut HBITMAP)
-> HRESULT>,
pub OnFileUpdated: ::std::option::Option<extern "C" fn
(arg1:
*mut IThumbnailExtractor,
arg2: *mut IStorage)
-> HRESULT>,
}
pub type IThumbnailExtractorVtbl = Struct_IThumbnailExtractorVtbl;
#[repr(C)]
pub struct Struct_IThumbnailExtractor {
pub lpVtbl: *mut IThumbnailExtractorVtbl,
}
#[repr(C)]
pub struct Struct_IDummyHICONIncluderVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IDummyHICONIncluder,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IDummyHICONIncluder)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IDummyHICONIncluder)
-> ULONG>,
pub Dummy: ::std::option::Option<extern "C" fn
(arg1: *mut IDummyHICONIncluder,
arg2: HICON, arg3: HDC) -> HRESULT>,
}
pub type IDummyHICONIncluderVtbl = Struct_IDummyHICONIncluderVtbl;
#[repr(C)]
pub struct Struct_IDummyHICONIncluder {
pub lpVtbl: *mut IDummyHICONIncluderVtbl,
}
pub type Enum_tagApplicationType = ::libc::c_uint;
pub const ServerApplication: ::libc::c_uint = 0;
pub const LibraryApplication: ::libc::c_uint = 1;
pub type ApplicationType = Enum_tagApplicationType;
pub type Enum_tagShutdownType = ::libc::c_uint;
pub const IdleShutdown: ::libc::c_uint = 0;
pub const ForcedShutdown: ::libc::c_uint = 1;
pub type ShutdownType = Enum_tagShutdownType;
#[repr(C)]
pub struct Struct_IProcessLockVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IProcessLock,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IProcessLock)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IProcessLock)
-> ULONG>,
pub AddRefOnProcess: ::std::option::Option<extern "C" fn
(arg1: *mut IProcessLock)
-> ULONG>,
pub ReleaseRefOnProcess: ::std::option::Option<extern "C" fn
(arg1:
*mut IProcessLock)
-> ULONG>,
}
pub type IProcessLockVtbl = Struct_IProcessLockVtbl;
#[repr(C)]
pub struct Struct_IProcessLock {
pub lpVtbl: *mut IProcessLockVtbl,
}
#[repr(C)]
pub struct Struct_ISurrogateServiceVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut ISurrogateService,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut ISurrogateService)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut ISurrogateService)
-> ULONG>,
pub Init: ::std::option::Option<extern "C" fn
(arg1: *mut ISurrogateService,
arg2: *const GUID,
arg3: *mut IProcessLock,
arg4: *mut WINBOOL) -> HRESULT>,
pub ApplicationLaunch: ::std::option::Option<extern "C" fn
(arg1:
*mut ISurrogateService,
arg2: *const GUID,
arg3: ApplicationType)
-> HRESULT>,
pub ApplicationFree: ::std::option::Option<extern "C" fn
(arg1:
*mut ISurrogateService,
arg2: *const GUID)
-> HRESULT>,
pub CatalogRefresh: ::std::option::Option<extern "C" fn
(arg1:
*mut ISurrogateService,
arg2: ULONG) -> HRESULT>,
pub ProcessShutdown: ::std::option::Option<extern "C" fn
(arg1:
*mut ISurrogateService,
arg2: ShutdownType)
-> HRESULT>,
}
pub type ISurrogateServiceVtbl = Struct_ISurrogateServiceVtbl;
#[repr(C)]
pub struct Struct_ISurrogateService {
pub lpVtbl: *mut ISurrogateServiceVtbl,
}
pub type LPINITIALIZESPY = *mut IInitializeSpy;
#[repr(C)]
pub struct Struct_IInitializeSpyVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IInitializeSpy,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IInitializeSpy)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IInitializeSpy)
-> ULONG>,
pub PreInitialize: ::std::option::Option<extern "C" fn
(arg1: *mut IInitializeSpy,
arg2: DWORD, arg3: DWORD)
-> HRESULT>,
pub PostInitialize: ::std::option::Option<extern "C" fn
(arg1: *mut IInitializeSpy,
arg2: HRESULT, arg3: DWORD,
arg4: DWORD) -> HRESULT>,
pub PreUninitialize: ::std::option::Option<extern "C" fn
(arg1: *mut IInitializeSpy,
arg2: DWORD) -> HRESULT>,
pub PostUninitialize: ::std::option::Option<extern "C" fn
(arg1:
*mut IInitializeSpy,
arg2: DWORD) -> HRESULT>,
}
pub type IInitializeSpyVtbl = Struct_IInitializeSpyVtbl;
#[repr(C)]
pub struct Struct_IInitializeSpy {
pub lpVtbl: *mut IInitializeSpyVtbl,
}
#[repr(C)]
pub struct Struct_IApartmentShutdownVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IApartmentShutdown,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IApartmentShutdown)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IApartmentShutdown)
-> ULONG>,
pub OnUninitialize: ::std::option::Option<extern "C" fn
(arg1:
*mut IApartmentShutdown,
arg2: UINT64)>,
}
pub type IApartmentShutdownVtbl = Struct_IApartmentShutdownVtbl;
#[repr(C)]
pub struct Struct_IApartmentShutdown {
pub lpVtbl: *mut IApartmentShutdownVtbl,
}
pub type Enum_tagCOMSD = ::libc::c_uint;
pub const SD_LAUNCHPERMISSIONS: ::libc::c_uint = 0;
pub const SD_ACCESSPERMISSIONS: ::libc::c_uint = 1;
pub const SD_LAUNCHRESTRICTIONS: ::libc::c_uint = 2;
pub const SD_ACCESSRESTRICTIONS: ::libc::c_uint = 3;
pub type COMSD = Enum_tagCOMSD;
#[repr(C)]
pub struct Struct_tagSTGOPTIONS {
pub usVersion: USHORT,
pub reserved: USHORT,
pub ulSectorSize: ULONG,
pub pwcsTemplateFile: *const WCHAR,
}
pub type STGOPTIONS = Struct_tagSTGOPTIONS;
pub type IPersistMoniker = Struct_IPersistMoniker;
pub type IMonikerProp = Struct_IMonikerProp;
pub type IBindProtocol = Struct_IBindProtocol;
pub type IBinding = Struct_IBinding;
pub type IBindStatusCallback = Struct_IBindStatusCallback;
pub type IBindStatusCallbackEx = Struct_IBindStatusCallbackEx;
pub type IAuthenticate = Struct_IAuthenticate;
pub type IAuthenticateEx = Struct_IAuthenticateEx;
pub type IHttpNegotiate = Struct_IHttpNegotiate;
pub type IHttpNegotiate2 = Struct_IHttpNegotiate2;
pub type IHttpNegotiate3 = Struct_IHttpNegotiate3;
pub type IWinInetFileStream = Struct_IWinInetFileStream;
pub type IWindowForBindingUI = Struct_IWindowForBindingUI;
pub type ICodeInstall = Struct_ICodeInstall;
pub enum Struct_IUri { }
pub type IUri = Struct_IUri;
pub enum Struct_IUriContainer { }
pub type IUriContainer = Struct_IUriContainer;
pub enum Struct_IUriBuilder { }
pub type IUriBuilder = Struct_IUriBuilder;
pub enum Struct_IUriBuilderFactory { }
pub type IUriBuilderFactory = Struct_IUriBuilderFactory;
pub type IWinInetInfo = Struct_IWinInetInfo;
pub type IHttpSecurity = Struct_IHttpSecurity;
pub type IWinInetHttpInfo = Struct_IWinInetHttpInfo;
pub type IWinInetHttpTimeouts = Struct_IWinInetHttpTimeouts;
pub enum Struct_IWinInetCacheHints { }
pub type IWinInetCacheHints = Struct_IWinInetCacheHints;
pub enum Struct_IWinInetCacheHints2 { }
pub type IWinInetCacheHints2 = Struct_IWinInetCacheHints2;
pub type IBindHost = Struct_IBindHost;
pub type IInternet = Struct_IInternet;
pub type IInternetBindInfo = Struct_IInternetBindInfo;
pub type IInternetBindInfoEx = Struct_IInternetBindInfoEx;
pub type IInternetProtocolRoot = Struct_IInternetProtocolRoot;
pub type IInternetProtocol = Struct_IInternetProtocol;
pub enum Struct_IInternetProtocolEx { }
pub type IInternetProtocolEx = Struct_IInternetProtocolEx;
pub type IInternetProtocolSink = Struct_IInternetProtocolSink;
pub type IInternetProtocolSinkStackable =
Struct_IInternetProtocolSinkStackable;
pub type IInternetSession = Struct_IInternetSession;
pub type IInternetThreadSwitch = Struct_IInternetThreadSwitch;
pub type IInternetPriority = Struct_IInternetPriority;
pub type IInternetProtocolInfo = Struct_IInternetProtocolInfo;
pub type IInternetSecurityMgrSite = Struct_IInternetSecurityMgrSite;
pub type IInternetSecurityManager = Struct_IInternetSecurityManager;
pub enum Struct_IInternetSecurityManagerEx { }
pub type IInternetSecurityManagerEx = Struct_IInternetSecurityManagerEx;
pub enum Struct_IInternetSecurityManagerEx2 { }
pub type IInternetSecurityManagerEx2 = Struct_IInternetSecurityManagerEx2;
pub enum Struct_IZoneIdentifier { }
pub type IZoneIdentifier = Struct_IZoneIdentifier;
pub type IInternetHostSecurityManager = Struct_IInternetHostSecurityManager;
pub type IInternetZoneManager = Struct_IInternetZoneManager;
pub enum Struct_IInternetZoneManagerEx { }
pub type IInternetZoneManagerEx = Struct_IInternetZoneManagerEx;
pub enum Struct_IInternetZoneManagerEx2 { }
pub type IInternetZoneManagerEx2 = Struct_IInternetZoneManagerEx2;
pub type ISoftDistExt = Struct_ISoftDistExt;
pub type ICatalogFileInfo = Struct_ICatalogFileInfo;
pub type IDataFilter = Struct_IDataFilter;
pub type IEncodingFilterFactory = Struct_IEncodingFilterFactory;
pub type IWrappedProtocol = Struct_IWrappedProtocol;
pub type IGetBindHandle = Struct_IGetBindHandle;
pub type IBindCallbackRedirect = Struct_IBindCallbackRedirect;
pub type IOleAdviseHolder = Struct_IOleAdviseHolder;
pub type IOleCache = Struct_IOleCache;
pub type IOleCache2 = Struct_IOleCache2;
pub type IOleCacheControl = Struct_IOleCacheControl;
pub type IParseDisplayName = Struct_IParseDisplayName;
pub type IOleContainer = Struct_IOleContainer;
pub type IOleClientSite = Struct_IOleClientSite;
pub type IOleObject = Struct_IOleObject;
pub type IOleWindow = Struct_IOleWindow;
pub type IOleLink = Struct_IOleLink;
pub type IOleItemContainer = Struct_IOleItemContainer;
pub type IOleInPlaceUIWindow = Struct_IOleInPlaceUIWindow;
pub type IOleInPlaceActiveObject = Struct_IOleInPlaceActiveObject;
pub type IOleInPlaceFrame = Struct_IOleInPlaceFrame;
pub type IOleInPlaceObject = Struct_IOleInPlaceObject;
pub type IOleInPlaceSite = Struct_IOleInPlaceSite;
pub type IContinue = Struct_IContinue;
pub type IViewObject = Struct_IViewObject;
pub type IViewObject2 = Struct_IViewObject2;
pub type IDropSource = Struct_IDropSource;
pub type IDropTarget = Struct_IDropTarget;
pub type IDropSourceNotify = Struct_IDropSourceNotify;
pub type IEnumOLEVERB = Struct_IEnumOLEVERB;
pub type LPOLEADVISEHOLDER = *mut IOleAdviseHolder;
#[repr(C)]
pub struct Struct_IOleAdviseHolderVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleAdviseHolder,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IOleAdviseHolder)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IOleAdviseHolder)
-> ULONG>,
pub Advise: ::std::option::Option<extern "C" fn
(arg1: *mut IOleAdviseHolder,
arg2: *mut IAdviseSink,
arg3: *mut DWORD) -> HRESULT>,
pub Unadvise: ::std::option::Option<extern "C" fn
(arg1: *mut IOleAdviseHolder,
arg2: DWORD) -> HRESULT>,
pub EnumAdvise: ::std::option::Option<extern "C" fn
(arg1: *mut IOleAdviseHolder,
arg2: *mut *mut IEnumSTATDATA)
-> HRESULT>,
pub SendOnRename: ::std::option::Option<extern "C" fn
(arg1: *mut IOleAdviseHolder,
arg2: *mut IMoniker)
-> HRESULT>,
pub SendOnSave: ::std::option::Option<extern "C" fn
(arg1: *mut IOleAdviseHolder)
-> HRESULT>,
pub SendOnClose: ::std::option::Option<extern "C" fn
(arg1: *mut IOleAdviseHolder)
-> HRESULT>,
}
pub type IOleAdviseHolderVtbl = Struct_IOleAdviseHolderVtbl;
#[repr(C)]
pub struct Struct_IOleAdviseHolder {
pub lpVtbl: *mut IOleAdviseHolderVtbl,
}
pub type LPOLECACHE = *mut IOleCache;
#[repr(C)]
pub struct Struct_IOleCacheVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IOleCache)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IOleCache)
-> ULONG>,
pub Cache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache,
arg2: *mut FORMATETC, arg3: DWORD,
arg4: *mut DWORD) -> HRESULT>,
pub Uncache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache, arg2: DWORD)
-> HRESULT>,
pub EnumCache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache,
arg2: *mut *mut IEnumSTATDATA)
-> HRESULT>,
pub InitCache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache,
arg2: *mut IDataObject)
-> HRESULT>,
pub SetData: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache,
arg2: *mut FORMATETC,
arg3: *mut STGMEDIUM,
arg4: WINBOOL) -> HRESULT>,
}
pub type IOleCacheVtbl = Struct_IOleCacheVtbl;
#[repr(C)]
pub struct Struct_IOleCache {
pub lpVtbl: *mut IOleCacheVtbl,
}
pub type LPOLECACHE2 = *mut IOleCache2;
pub type Enum_tagDISCARDCACHE = ::libc::c_uint;
pub const DISCARDCACHE_SAVEIFDIRTY: ::libc::c_uint = 0;
pub const DISCARDCACHE_NOSAVE: ::libc::c_uint = 1;
pub type DISCARDCACHE = Enum_tagDISCARDCACHE;
#[repr(C)]
pub struct Struct_IOleCache2Vtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache2,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IOleCache2)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IOleCache2)
-> ULONG>,
pub Cache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache2,
arg2: *mut FORMATETC, arg3: DWORD,
arg4: *mut DWORD) -> HRESULT>,
pub Uncache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache2,
arg2: DWORD) -> HRESULT>,
pub EnumCache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache2,
arg2: *mut *mut IEnumSTATDATA)
-> HRESULT>,
pub InitCache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache2,
arg2: *mut IDataObject)
-> HRESULT>,
pub SetData: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache2,
arg2: *mut FORMATETC,
arg3: *mut STGMEDIUM,
arg4: WINBOOL) -> HRESULT>,
pub UpdateCache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache2,
arg2: LPDATAOBJECT,
arg3: DWORD, arg4: LPVOID)
-> HRESULT>,
pub DiscardCache: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCache2,
arg2: DWORD) -> HRESULT>,
}
pub type IOleCache2Vtbl = Struct_IOleCache2Vtbl;
#[repr(C)]
pub struct Struct_IOleCache2 {
pub lpVtbl: *mut IOleCache2Vtbl,
}
pub type LPOLECACHECONTROL = *mut IOleCacheControl;
#[repr(C)]
pub struct Struct_IOleCacheControlVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleCacheControl,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCacheControl)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCacheControl)
-> ULONG>,
pub OnRun: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCacheControl,
arg2: LPDATAOBJECT) -> HRESULT>,
pub OnStop: ::std::option::Option<extern "C" fn
(arg1: *mut IOleCacheControl)
-> HRESULT>,
}
pub type IOleCacheControlVtbl = Struct_IOleCacheControlVtbl;
#[repr(C)]
pub struct Struct_IOleCacheControl {
pub lpVtbl: *mut IOleCacheControlVtbl,
}
pub type LPPARSEDISPLAYNAME = *mut IParseDisplayName;
#[repr(C)]
pub struct Struct_IParseDisplayNameVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IParseDisplayName,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IParseDisplayName)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IParseDisplayName)
-> ULONG>,
pub ParseDisplayName: ::std::option::Option<extern "C" fn
(arg1:
*mut IParseDisplayName,
arg2: *mut IBindCtx,
arg3: LPOLESTR,
arg4: *mut ULONG,
arg5: *mut *mut IMoniker)
-> HRESULT>,
}
pub type IParseDisplayNameVtbl = Struct_IParseDisplayNameVtbl;
#[repr(C)]
pub struct Struct_IParseDisplayName {
pub lpVtbl: *mut IParseDisplayNameVtbl,
}
pub type LPOLECONTAINER = *mut IOleContainer;
#[repr(C)]
pub struct Struct_IOleContainerVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IOleContainer,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IOleContainer)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IOleContainer)
-> ULONG>,
pub ParseDisplayName: ::std::option::Option<extern "C" fn
(arg1: *mut IOleContainer,
arg2: *mut IBindCtx,
arg3: LPOLESTR,
arg4: *mut ULONG,
arg5: *mut *mut IMoniker)
-> HRESULT>,
pub EnumObjects: ::std::option::Option<extern "C" fn
(arg1: *mut IOleContainer,
arg2: DWORD,
arg3: *mut *mut IEnumUnknown)
-> HRESULT>,
pub LockContainer: ::std::option::Option<extern "C" fn
(arg1: *mut IOleContainer,
arg2: WINBOOL) -> HRESULT>,
}
pub type IOleContainerVtbl = Struct_IOleContainerVtbl;
#[repr(C)]
pub struct Struct_IOleContainer {
pub lpVtbl: *mut IOleContainerVtbl,
}
pub type LPOLECLIENTSITE = *mut IOleClientSite;
#[repr(C)]
pub struct Struct_IOleClientSiteVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IOleClientSite,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IOleClientSite)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IOleClientSite)
-> ULONG>,
pub SaveObject: ::std::option::Option<extern "C" fn
(arg1: *mut IOleClientSite)
-> HRESULT>,
pub GetMoniker: ::std::option::Option<extern "C" fn
(arg1: *mut IOleClientSite,
arg2: DWORD, arg3: DWORD,
arg4: *mut *mut IMoniker)
-> HRESULT>,
pub GetContainer: ::std::option::Option<extern "C" fn
(arg1: *mut IOleClientSite,
arg2:
*mut *mut IOleContainer)
-> HRESULT>,
pub ShowObject: ::std::option::Option<extern "C" fn
(arg1: *mut IOleClientSite)
-> HRESULT>,
pub OnShowWindow: ::std::option::Option<extern "C" fn
(arg1: *mut IOleClientSite,
arg2: WINBOOL) -> HRESULT>,
pub RequestNewObjectLayout: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleClientSite)
-> HRESULT>,
}
pub type IOleClientSiteVtbl = Struct_IOleClientSiteVtbl;
#[repr(C)]
pub struct Struct_IOleClientSite {
pub lpVtbl: *mut IOleClientSiteVtbl,
}
pub type LPOLEOBJECT = *mut IOleObject;
pub type Enum_tagOLEGETMONIKER = ::libc::c_uint;
pub const OLEGETMONIKER_ONLYIFTHERE: ::libc::c_uint = 1;
pub const OLEGETMONIKER_FORCEASSIGN: ::libc::c_uint = 2;
pub const OLEGETMONIKER_UNASSIGN: ::libc::c_uint = 3;
pub const OLEGETMONIKER_TEMPFORUSER: ::libc::c_uint = 4;
pub type OLEGETMONIKER = Enum_tagOLEGETMONIKER;
pub type Enum_tagOLEWHICHMK = ::libc::c_uint;
pub const OLEWHICHMK_CONTAINER: ::libc::c_uint = 1;
pub const OLEWHICHMK_OBJREL: ::libc::c_uint = 2;
pub const OLEWHICHMK_OBJFULL: ::libc::c_uint = 3;
pub type OLEWHICHMK = Enum_tagOLEWHICHMK;
pub type Enum_tagUSERCLASSTYPE = ::libc::c_uint;
pub const USERCLASSTYPE_FULL: ::libc::c_uint = 1;
pub const USERCLASSTYPE_SHORT: ::libc::c_uint = 2;
pub const USERCLASSTYPE_APPNAME: ::libc::c_uint = 3;
pub type USERCLASSTYPE = Enum_tagUSERCLASSTYPE;
pub type Enum_tagOLEMISC = ::libc::c_uint;
pub const OLEMISC_RECOMPOSEONRESIZE: ::libc::c_uint = 1;
pub const OLEMISC_ONLYICONIC: ::libc::c_uint = 2;
pub const OLEMISC_INSERTNOTREPLACE: ::libc::c_uint = 4;
pub const OLEMISC_STATIC: ::libc::c_uint = 8;
pub const OLEMISC_CANTLINKINSIDE: ::libc::c_uint = 16;
pub const OLEMISC_CANLINKBYOLE1: ::libc::c_uint = 32;
pub const OLEMISC_ISLINKOBJECT: ::libc::c_uint = 64;
pub const OLEMISC_INSIDEOUT: ::libc::c_uint = 128;
pub const OLEMISC_ACTIVATEWHENVISIBLE: ::libc::c_uint = 256;
pub const OLEMISC_RENDERINGISDEVICEINDEPENDENT: ::libc::c_uint = 512;
pub const OLEMISC_INVISIBLEATRUNTIME: ::libc::c_uint = 1024;
pub const OLEMISC_ALWAYSRUN: ::libc::c_uint = 2048;
pub const OLEMISC_ACTSLIKEBUTTON: ::libc::c_uint = 4096;
pub const OLEMISC_ACTSLIKELABEL: ::libc::c_uint = 8192;
pub const OLEMISC_NOUIACTIVATE: ::libc::c_uint = 16384;
pub const OLEMISC_ALIGNABLE: ::libc::c_uint = 32768;
pub const OLEMISC_SIMPLEFRAME: ::libc::c_uint = 65536;
pub const OLEMISC_SETCLIENTSITEFIRST: ::libc::c_uint = 131072;
pub const OLEMISC_IMEMODE: ::libc::c_uint = 262144;
pub const OLEMISC_IGNOREACTIVATEWHENVISIBLE: ::libc::c_uint = 524288;
pub const OLEMISC_WANTSTOMENUMERGE: ::libc::c_uint = 1048576;
pub const OLEMISC_SUPPORTSMULTILEVELUNDO: ::libc::c_uint = 2097152;
pub type OLEMISC = Enum_tagOLEMISC;
pub type Enum_tagOLECLOSE = ::libc::c_uint;
pub const OLECLOSE_SAVEIFDIRTY: ::libc::c_uint = 0;
pub const OLECLOSE_NOSAVE: ::libc::c_uint = 1;
pub const OLECLOSE_PROMPTSAVE: ::libc::c_uint = 2;
pub type OLECLOSE = Enum_tagOLECLOSE;
#[repr(C)]
pub struct Struct_IOleObjectVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IOleObject)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IOleObject)
-> ULONG>,
pub SetClientSite: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: *mut IOleClientSite)
-> HRESULT>,
pub GetClientSite: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2:
*mut *mut IOleClientSite)
-> HRESULT>,
pub SetHostNames: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: LPCOLESTR,
arg3: LPCOLESTR) -> HRESULT>,
pub Close: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject, arg2: DWORD)
-> HRESULT>,
pub SetMoniker: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: DWORD,
arg3: *mut IMoniker)
-> HRESULT>,
pub GetMoniker: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: DWORD, arg3: DWORD,
arg4: *mut *mut IMoniker)
-> HRESULT>,
pub InitFromData: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: *mut IDataObject,
arg3: WINBOOL, arg4: DWORD)
-> HRESULT>,
pub GetClipboardData: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: DWORD,
arg3:
*mut *mut IDataObject)
-> HRESULT>,
pub DoVerb: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject, arg2: LONG,
arg3: LPMSG,
arg4: *mut IOleClientSite,
arg5: LONG, arg6: HWND,
arg7: LPCRECT) -> HRESULT>,
pub EnumVerbs: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: *mut *mut IEnumOLEVERB)
-> HRESULT>,
pub Update: ::std::option::Option<extern "C" fn(arg1: *mut IOleObject)
-> HRESULT>,
pub IsUpToDate: ::std::option::Option<extern "C" fn(arg1: *mut IOleObject)
-> HRESULT>,
pub GetUserClassID: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: *mut CLSID)
-> HRESULT>,
pub GetUserType: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: DWORD,
arg3: *mut LPOLESTR)
-> HRESULT>,
pub SetExtent: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: DWORD, arg3: *mut SIZEL)
-> HRESULT>,
pub GetExtent: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: DWORD, arg3: *mut SIZEL)
-> HRESULT>,
pub Advise: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: *mut IAdviseSink,
arg3: *mut DWORD) -> HRESULT>,
pub Unadvise: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: DWORD) -> HRESULT>,
pub EnumAdvise: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: *mut *mut IEnumSTATDATA)
-> HRESULT>,
pub GetMiscStatus: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: DWORD,
arg3: *mut DWORD)
-> HRESULT>,
pub SetColorScheme: ::std::option::Option<extern "C" fn
(arg1: *mut IOleObject,
arg2: *mut LOGPALETTE)
-> HRESULT>,
}
pub type IOleObjectVtbl = Struct_IOleObjectVtbl;
#[repr(C)]
pub struct Struct_IOleObject {
pub lpVtbl: *mut IOleObjectVtbl,
}
pub type Enum_tagOLERENDER = ::libc::c_uint;
pub const OLERENDER_NONE: ::libc::c_uint = 0;
pub const OLERENDER_DRAW: ::libc::c_uint = 1;
pub const OLERENDER_FORMAT: ::libc::c_uint = 2;
pub const OLERENDER_ASIS: ::libc::c_uint = 3;
pub type OLERENDER = Enum_tagOLERENDER;
pub type LPOLERENDER = *mut OLERENDER;
#[repr(C)]
pub struct Struct_tagOBJECTDESCRIPTOR {
pub cbSize: ULONG,
pub clsid: CLSID,
pub dwDrawAspect: DWORD,
pub sizel: SIZEL,
pub pointl: POINTL,
pub dwStatus: DWORD,
pub dwFullUserTypeName: DWORD,
pub dwSrcOfCopy: DWORD,
}
pub type OBJECTDESCRIPTOR = Struct_tagOBJECTDESCRIPTOR;
pub type POBJECTDESCRIPTOR = *mut Struct_tagOBJECTDESCRIPTOR;
pub type LPOBJECTDESCRIPTOR = *mut Struct_tagOBJECTDESCRIPTOR;
pub type LINKSRCDESCRIPTOR = Struct_tagOBJECTDESCRIPTOR;
pub type PLINKSRCDESCRIPTOR = *mut Struct_tagOBJECTDESCRIPTOR;
pub type LPLINKSRCDESCRIPTOR = *mut Struct_tagOBJECTDESCRIPTOR;
pub type LPOLEWINDOW = *mut IOleWindow;
#[repr(C)]
pub struct Struct_IOleWindowVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IOleWindow,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IOleWindow)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IOleWindow)
-> ULONG>,
pub GetWindow: ::std::option::Option<extern "C" fn
(arg1: *mut IOleWindow,
arg2: *mut HWND) -> HRESULT>,
pub ContextSensitiveHelp: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleWindow,
arg2: WINBOOL)
-> HRESULT>,
}
pub type IOleWindowVtbl = Struct_IOleWindowVtbl;
#[repr(C)]
pub struct Struct_IOleWindow {
pub lpVtbl: *mut IOleWindowVtbl,
}
pub type LPOLELINK = *mut IOleLink;
pub type Enum_tagOLEUPDATE = ::libc::c_uint;
pub const OLEUPDATE_ALWAYS: ::libc::c_uint = 1;
pub const OLEUPDATE_ONCALL: ::libc::c_uint = 3;
pub type OLEUPDATE = Enum_tagOLEUPDATE;
pub type LPOLEUPDATE = *mut OLEUPDATE;
pub type POLEUPDATE = *mut OLEUPDATE;
pub type Enum_tagOLELINKBIND = ::libc::c_uint;
pub const OLELINKBIND_EVENIFCLASSDIFF: ::libc::c_uint = 1;
pub type OLELINKBIND = Enum_tagOLELINKBIND;
#[repr(C)]
pub struct Struct_IOleLinkVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IOleLink)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IOleLink)
-> ULONG>,
pub SetUpdateOptions: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: DWORD) -> HRESULT>,
pub GetUpdateOptions: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: *mut DWORD)
-> HRESULT>,
pub SetSourceMoniker: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: *mut IMoniker,
arg3: *const IID)
-> HRESULT>,
pub GetSourceMoniker: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: *mut *mut IMoniker)
-> HRESULT>,
pub SetSourceDisplayName: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: LPCOLESTR)
-> HRESULT>,
pub GetSourceDisplayName: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: *mut LPOLESTR)
-> HRESULT>,
pub BindToSource: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: DWORD,
arg3: *mut IBindCtx)
-> HRESULT>,
pub BindIfRunning: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink)
-> HRESULT>,
pub GetBoundSource: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: *mut *mut IUnknown)
-> HRESULT>,
pub UnbindSource: ::std::option::Option<extern "C" fn(arg1: *mut IOleLink)
-> HRESULT>,
pub Update: ::std::option::Option<extern "C" fn
(arg1: *mut IOleLink,
arg2: *mut IBindCtx) -> HRESULT>,
}
pub type IOleLinkVtbl = Struct_IOleLinkVtbl;
#[repr(C)]
pub struct Struct_IOleLink {
pub lpVtbl: *mut IOleLinkVtbl,
}
pub type LPOLEITEMCONTAINER = *mut IOleItemContainer;
pub type Enum_tagBINDSPEED = ::libc::c_uint;
pub const BINDSPEED_INDEFINITE: ::libc::c_uint = 1;
pub const BINDSPEED_MODERATE: ::libc::c_uint = 2;
pub const BINDSPEED_IMMEDIATE: ::libc::c_uint = 3;
pub type BINDSPEED = Enum_tagBINDSPEED;
pub type Enum_tagOLECONTF = ::libc::c_uint;
pub const OLECONTF_EMBEDDINGS: ::libc::c_uint = 1;
pub const OLECONTF_LINKS: ::libc::c_uint = 2;
pub const OLECONTF_OTHERS: ::libc::c_uint = 4;
pub const OLECONTF_ONLYUSER: ::libc::c_uint = 8;
pub const OLECONTF_ONLYIFRUNNING: ::libc::c_uint = 16;
pub type OLECONTF = Enum_tagOLECONTF;
#[repr(C)]
pub struct Struct_IOleItemContainerVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleItemContainer,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IOleItemContainer)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IOleItemContainer)
-> ULONG>,
pub ParseDisplayName: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleItemContainer,
arg2: *mut IBindCtx,
arg3: LPOLESTR,
arg4: *mut ULONG,
arg5: *mut *mut IMoniker)
-> HRESULT>,
pub EnumObjects: ::std::option::Option<extern "C" fn
(arg1: *mut IOleItemContainer,
arg2: DWORD,
arg3: *mut *mut IEnumUnknown)
-> HRESULT>,
pub LockContainer: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleItemContainer,
arg2: WINBOOL) -> HRESULT>,
pub GetObjectA: ::std::option::Option<extern "C" fn
(arg1: *mut IOleItemContainer,
arg2: LPOLESTR, arg3: DWORD,
arg4: *mut IBindCtx,
arg5: *const IID,
arg6: *mut *mut ::libc::c_void)
-> HRESULT>,
pub GetObjectStorage: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleItemContainer,
arg2: LPOLESTR,
arg3: *mut IBindCtx,
arg4: *const IID,
arg5:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub IsRunning: ::std::option::Option<extern "C" fn
(arg1: *mut IOleItemContainer,
arg2: LPOLESTR) -> HRESULT>,
}
pub type IOleItemContainerVtbl = Struct_IOleItemContainerVtbl;
#[repr(C)]
pub struct Struct_IOleItemContainer {
pub lpVtbl: *mut IOleItemContainerVtbl,
}
pub type LPOLEINPLACEUIWINDOW = *mut IOleInPlaceUIWindow;
pub type BORDERWIDTHS = RECT;
pub type LPBORDERWIDTHS = LPRECT;
pub type LPCBORDERWIDTHS = LPCRECT;
#[repr(C)]
pub struct Struct_IOleInPlaceUIWindowVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceUIWindow,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceUIWindow)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceUIWindow)
-> ULONG>,
pub GetWindow: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceUIWindow,
arg2: *mut HWND) -> HRESULT>,
pub ContextSensitiveHelp: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceUIWindow,
arg2: WINBOOL)
-> HRESULT>,
pub GetBorder: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceUIWindow,
arg2: LPRECT) -> HRESULT>,
pub RequestBorderSpace: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceUIWindow,
arg2: LPCBORDERWIDTHS)
-> HRESULT>,
pub SetBorderSpace: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceUIWindow,
arg2: LPCBORDERWIDTHS)
-> HRESULT>,
pub SetActiveObject: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceUIWindow,
arg2:
*mut IOleInPlaceActiveObject,
arg3: LPCOLESTR)
-> HRESULT>,
}
pub type IOleInPlaceUIWindowVtbl = Struct_IOleInPlaceUIWindowVtbl;
#[repr(C)]
pub struct Struct_IOleInPlaceUIWindow {
pub lpVtbl: *mut IOleInPlaceUIWindowVtbl,
}
pub type LPOLEINPLACEACTIVEOBJECT = *mut IOleInPlaceActiveObject;
#[repr(C)]
pub struct Struct_IOleInPlaceActiveObjectVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceActiveObject,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceActiveObject)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceActiveObject)
-> ULONG>,
pub GetWindow: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceActiveObject,
arg2: *mut HWND) -> HRESULT>,
pub ContextSensitiveHelp: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceActiveObject,
arg2: WINBOOL)
-> HRESULT>,
pub TranslateAcceleratorA: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceActiveObject,
arg2: LPMSG)
-> HRESULT>,
pub OnFrameWindowActivate: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceActiveObject,
arg2: WINBOOL)
-> HRESULT>,
pub OnDocWindowActivate: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceActiveObject,
arg2: WINBOOL)
-> HRESULT>,
pub ResizeBorder: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceActiveObject,
arg2: LPCRECT,
arg3:
*mut IOleInPlaceUIWindow,
arg4: WINBOOL) -> HRESULT>,
pub EnableModeless: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceActiveObject,
arg2: WINBOOL) -> HRESULT>,
}
pub type IOleInPlaceActiveObjectVtbl = Struct_IOleInPlaceActiveObjectVtbl;
#[repr(C)]
pub struct Struct_IOleInPlaceActiveObject {
pub lpVtbl: *mut IOleInPlaceActiveObjectVtbl,
}
pub type LPOLEINPLACEFRAME = *mut IOleInPlaceFrame;
#[repr(C)]
pub struct Struct_tagOIFI {
pub cb: UINT,
pub fMDIApp: WINBOOL,
pub hwndFrame: HWND,
pub haccel: HACCEL,
pub cAccelEntries: UINT,
}
pub type OLEINPLACEFRAMEINFO = Struct_tagOIFI;
pub type LPOLEINPLACEFRAMEINFO = *mut Struct_tagOIFI;
#[repr(C)]
pub struct Struct_tagOleMenuGroupWidths {
pub width: [LONG, ..6u],
}
pub type OLEMENUGROUPWIDTHS = Struct_tagOleMenuGroupWidths;
pub type LPOLEMENUGROUPWIDTHS = *mut Struct_tagOleMenuGroupWidths;
pub type HOLEMENU = HGLOBAL;
#[repr(C)]
pub struct Struct_IOleInPlaceFrameVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceFrame,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceFrame)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceFrame)
-> ULONG>,
pub GetWindow: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceFrame,
arg2: *mut HWND) -> HRESULT>,
pub ContextSensitiveHelp: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceFrame,
arg2: WINBOOL)
-> HRESULT>,
pub GetBorder: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceFrame,
arg2: LPRECT) -> HRESULT>,
pub RequestBorderSpace: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceFrame,
arg2: LPCBORDERWIDTHS)
-> HRESULT>,
pub SetBorderSpace: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceFrame,
arg2: LPCBORDERWIDTHS)
-> HRESULT>,
pub SetActiveObject: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceFrame,
arg2:
*mut IOleInPlaceActiveObject,
arg3: LPCOLESTR)
-> HRESULT>,
pub InsertMenus: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceFrame,
arg2: HMENU,
arg3: LPOLEMENUGROUPWIDTHS)
-> HRESULT>,
pub SetMenu: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceFrame,
arg2: HMENU, arg3: HOLEMENU,
arg4: HWND) -> HRESULT>,
pub RemoveMenus: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceFrame,
arg2: HMENU) -> HRESULT>,
pub SetStatusText: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceFrame,
arg2: LPCOLESTR)
-> HRESULT>,
pub EnableModeless: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceFrame,
arg2: WINBOOL) -> HRESULT>,
pub TranslateAcceleratorA: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceFrame,
arg2: LPMSG,
arg3: WORD)
-> HRESULT>,
}
pub type IOleInPlaceFrameVtbl = Struct_IOleInPlaceFrameVtbl;
#[repr(C)]
pub struct Struct_IOleInPlaceFrame {
pub lpVtbl: *mut IOleInPlaceFrameVtbl,
}
pub type LPOLEINPLACEOBJECT = *mut IOleInPlaceObject;
#[repr(C)]
pub struct Struct_IOleInPlaceObjectVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceObject,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceObject)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceObject)
-> ULONG>,
pub GetWindow: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceObject,
arg2: *mut HWND) -> HRESULT>,
pub ContextSensitiveHelp: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceObject,
arg2: WINBOOL)
-> HRESULT>,
pub InPlaceDeactivate: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceObject)
-> HRESULT>,
pub UIDeactivate: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceObject)
-> HRESULT>,
pub SetObjectRects: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceObject,
arg2: LPCRECT,
arg3: LPCRECT) -> HRESULT>,
pub ReactivateAndUndo: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceObject)
-> HRESULT>,
}
pub type IOleInPlaceObjectVtbl = Struct_IOleInPlaceObjectVtbl;
#[repr(C)]
pub struct Struct_IOleInPlaceObject {
pub lpVtbl: *mut IOleInPlaceObjectVtbl,
}
pub type LPOLEINPLACESITE = *mut IOleInPlaceSite;
#[repr(C)]
pub struct Struct_IOleInPlaceSiteVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceSite,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceSite)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceSite)
-> ULONG>,
pub GetWindow: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceSite,
arg2: *mut HWND) -> HRESULT>,
pub ContextSensitiveHelp: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceSite,
arg2: WINBOOL)
-> HRESULT>,
pub CanInPlaceActivate: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceSite)
-> HRESULT>,
pub OnInPlaceActivate: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceSite)
-> HRESULT>,
pub OnUIActivate: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceSite)
-> HRESULT>,
pub GetWindowContext: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceSite,
arg2:
*mut *mut IOleInPlaceFrame,
arg3:
*mut *mut IOleInPlaceUIWindow,
arg4: LPRECT,
arg5: LPRECT,
arg6:
LPOLEINPLACEFRAMEINFO)
-> HRESULT>,
pub Scroll: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceSite,
arg2: SIZE) -> HRESULT>,
pub OnUIDeactivate: ::std::option::Option<extern "C" fn
(arg1: *mut IOleInPlaceSite,
arg2: WINBOOL) -> HRESULT>,
pub OnInPlaceDeactivate: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceSite)
-> HRESULT>,
pub DiscardUndoState: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceSite)
-> HRESULT>,
pub DeactivateAndUndo: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceSite)
-> HRESULT>,
pub OnPosRectChange: ::std::option::Option<extern "C" fn
(arg1:
*mut IOleInPlaceSite,
arg2: LPCRECT)
-> HRESULT>,
}
pub type IOleInPlaceSiteVtbl = Struct_IOleInPlaceSiteVtbl;
#[repr(C)]
pub struct Struct_IOleInPlaceSite {
pub lpVtbl: *mut IOleInPlaceSiteVtbl,
}
#[repr(C)]
pub struct Struct_IContinueVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IContinue,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IContinue)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IContinue)
-> ULONG>,
pub FContinue: ::std::option::Option<extern "C" fn(arg1: *mut IContinue)
-> HRESULT>,
}
pub type IContinueVtbl = Struct_IContinueVtbl;
#[repr(C)]
pub struct Struct_IContinue {
pub lpVtbl: *mut IContinueVtbl,
}
pub type LPVIEWOBJECT = *mut IViewObject;
#[repr(C)]
pub struct Struct_IViewObjectVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IViewObject)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IViewObject)
-> ULONG>,
pub Draw: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject, arg2: DWORD,
arg3: LONG,
arg4: *mut ::libc::c_void,
arg5: *mut DVTARGETDEVICE, arg6: HDC,
arg7: HDC, arg8: LPCRECTL,
arg9: LPCRECTL,
arg10:
::std::option::Option<extern "C" fn
(arg1:
ULONG_PTR)
->
WINBOOL>,
arg11: ULONG_PTR) -> HRESULT>,
pub GetColorSet: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject,
arg2: DWORD, arg3: LONG,
arg4: *mut ::libc::c_void,
arg5: *mut DVTARGETDEVICE,
arg6: HDC,
arg7: *mut *mut LOGPALETTE)
-> HRESULT>,
pub Freeze: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject,
arg2: DWORD, arg3: LONG,
arg4: *mut ::libc::c_void,
arg5: *mut DWORD) -> HRESULT>,
pub Unfreeze: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject,
arg2: DWORD) -> HRESULT>,
pub SetAdvise: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject,
arg2: DWORD, arg3: DWORD,
arg4: *mut IAdviseSink)
-> HRESULT>,
pub GetAdvise: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject,
arg2: *mut DWORD,
arg3: *mut DWORD,
arg4: *mut *mut IAdviseSink)
-> HRESULT>,
}
pub type IViewObjectVtbl = Struct_IViewObjectVtbl;
#[repr(C)]
pub struct Struct_IViewObject {
pub lpVtbl: *mut IViewObjectVtbl,
}
pub type LPVIEWOBJECT2 = *mut IViewObject2;
#[repr(C)]
pub struct Struct_IViewObject2Vtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject2,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IViewObject2)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IViewObject2)
-> ULONG>,
pub Draw: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject2, arg2: DWORD,
arg3: LONG,
arg4: *mut ::libc::c_void,
arg5: *mut DVTARGETDEVICE, arg6: HDC,
arg7: HDC, arg8: LPCRECTL,
arg9: LPCRECTL,
arg10:
::std::option::Option<extern "C" fn
(arg1:
ULONG_PTR)
->
WINBOOL>,
arg11: ULONG_PTR) -> HRESULT>,
pub GetColorSet: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject2,
arg2: DWORD, arg3: LONG,
arg4: *mut ::libc::c_void,
arg5: *mut DVTARGETDEVICE,
arg6: HDC,
arg7: *mut *mut LOGPALETTE)
-> HRESULT>,
pub Freeze: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject2,
arg2: DWORD, arg3: LONG,
arg4: *mut ::libc::c_void,
arg5: *mut DWORD) -> HRESULT>,
pub Unfreeze: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject2,
arg2: DWORD) -> HRESULT>,
pub SetAdvise: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject2,
arg2: DWORD, arg3: DWORD,
arg4: *mut IAdviseSink)
-> HRESULT>,
pub GetAdvise: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject2,
arg2: *mut DWORD,
arg3: *mut DWORD,
arg4: *mut *mut IAdviseSink)
-> HRESULT>,
pub GetExtent: ::std::option::Option<extern "C" fn
(arg1: *mut IViewObject2,
arg2: DWORD, arg3: LONG,
arg4: *mut DVTARGETDEVICE,
arg5: LPSIZEL) -> HRESULT>,
}
pub type IViewObject2Vtbl = Struct_IViewObject2Vtbl;
#[repr(C)]
pub struct Struct_IViewObject2 {
pub lpVtbl: *mut IViewObject2Vtbl,
}
pub type LPDROPSOURCE = *mut IDropSource;
#[repr(C)]
pub struct Struct_IDropSourceVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IDropSource,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IDropSource)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IDropSource)
-> ULONG>,
pub QueryContinueDrag: ::std::option::Option<extern "C" fn
(arg1: *mut IDropSource,
arg2: WINBOOL,
arg3: DWORD)
-> HRESULT>,
pub GiveFeedback: ::std::option::Option<extern "C" fn
(arg1: *mut IDropSource,
arg2: DWORD) -> HRESULT>,
}
pub type IDropSourceVtbl = Struct_IDropSourceVtbl;
#[repr(C)]
pub struct Struct_IDropSource {
pub lpVtbl: *mut IDropSourceVtbl,
}
pub type LPDROPTARGET = *mut IDropTarget;
#[repr(C)]
pub struct Struct_IDropTargetVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IDropTarget,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IDropTarget)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IDropTarget)
-> ULONG>,
pub DragEnter: ::std::option::Option<extern "C" fn
(arg1: *mut IDropTarget,
arg2: *mut IDataObject,
arg3: DWORD, arg4: POINTL,
arg5: *mut DWORD) -> HRESULT>,
pub DragOver: ::std::option::Option<extern "C" fn
(arg1: *mut IDropTarget,
arg2: DWORD, arg3: POINTL,
arg4: *mut DWORD) -> HRESULT>,
pub DragLeave: ::std::option::Option<extern "C" fn(arg1: *mut IDropTarget)
-> HRESULT>,
pub Drop: ::std::option::Option<extern "C" fn
(arg1: *mut IDropTarget,
arg2: *mut IDataObject, arg3: DWORD,
arg4: POINTL, arg5: *mut DWORD)
-> HRESULT>,
}
pub type IDropTargetVtbl = Struct_IDropTargetVtbl;
#[repr(C)]
pub struct Struct_IDropTarget {
pub lpVtbl: *mut IDropTargetVtbl,
}
#[repr(C)]
pub struct Struct_IDropSourceNotifyVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IDropSourceNotify,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IDropSourceNotify)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IDropSourceNotify)
-> ULONG>,
pub DragEnterTarget: ::std::option::Option<extern "C" fn
(arg1:
*mut IDropSourceNotify,
arg2: HWND) -> HRESULT>,
pub DragLeaveTarget: ::std::option::Option<extern "C" fn
(arg1:
*mut IDropSourceNotify)
-> HRESULT>,
}
pub type IDropSourceNotifyVtbl = Struct_IDropSourceNotifyVtbl;
#[repr(C)]
pub struct Struct_IDropSourceNotify {
pub lpVtbl: *mut IDropSourceNotifyVtbl,
}
pub type LPENUMOLEVERB = *mut IEnumOLEVERB;
#[repr(C)]
pub struct Struct_tagOLEVERB {
pub lVerb: LONG,
pub lpszVerbName: LPOLESTR,
pub fuFlags: DWORD,
pub grfAttribs: DWORD,
}
pub type OLEVERB = Struct_tagOLEVERB;
pub type LPOLEVERB = *mut Struct_tagOLEVERB;
pub type Enum_tagOLEVERBATTRIB = ::libc::c_uint;
pub const OLEVERBATTRIB_NEVERDIRTIES: ::libc::c_uint = 1;
pub const OLEVERBATTRIB_ONCONTAINERMENU: ::libc::c_uint = 2;
pub type OLEVERBATTRIB = Enum_tagOLEVERBATTRIB;
#[repr(C)]
pub struct Struct_IEnumOLEVERBVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumOLEVERB,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn(arg1: *mut IEnumOLEVERB)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn(arg1: *mut IEnumOLEVERB)
-> ULONG>,
pub Next: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumOLEVERB, arg2: ULONG,
arg3: LPOLEVERB, arg4: *mut ULONG)
-> HRESULT>,
pub Skip: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumOLEVERB, arg2: ULONG)
-> HRESULT>,
pub Reset: ::std::option::Option<extern "C" fn(arg1: *mut IEnumOLEVERB)
-> HRESULT>,
pub Clone: ::std::option::Option<extern "C" fn
(arg1: *mut IEnumOLEVERB,
arg2: *mut *mut IEnumOLEVERB)
-> HRESULT>,
}
pub type IEnumOLEVERBVtbl = Struct_IEnumOLEVERBVtbl;
#[repr(C)]
pub struct Struct_IEnumOLEVERB {
pub lpVtbl: *mut IEnumOLEVERBVtbl,
}
pub type IServiceProvider = Struct_IServiceProvider;
pub type LPSERVICEPROVIDER = *mut IServiceProvider;
#[repr(C)]
pub struct Struct_IServiceProviderVtbl {
pub QueryInterface: ::std::option::Option<extern "C" fn
(arg1:
*mut IServiceProvider,
arg2: *const IID,
arg3:
*mut *mut ::libc::c_void)
-> HRESULT>,
pub AddRef: ::std::option::Option<extern "C" fn
(arg1: *mut IServiceProvider)
-> ULONG>,
pub Release: ::std::option::Option<extern "C" fn
(arg1: *mut IServiceProvider)
-> ULONG>,
pub QueryService: ::std::option::Option<extern "C" fn
(arg1: *mut IServiceProvider,
arg2: *const GUID,
arg3: *const IID,
arg4:
*mut *mut ::libc::c_void)
-> HRESULT>,
}
pub type IServiceProviderVtbl = Struct_IServiceProviderVtbl;
#[repr(C)]
pub struct Struct_IServiceProvider {
pub lpVtbl: *mut IServiceProviderVtbl,
}
pub type ICreateTypeInfo = Struct_ICreateTypeInfo;
pub type ICreateTypeInfo2 = Struct_ICreateTypeInfo2;
pub type ICreateTypeLib = Struct_ICreateTypeLib;
pub type ICreateTypeLib2 = Struct_ICreateTypeLib2;
pub type IDispatch = Struct_IDispatch;
pub type IEnumVARIANT = Struct_IEnumVARIANT;
pub type ITypeComp = Struct_ITypeComp;
pub type ITypeInfo = Struct_ITypeInfo;
pub type ITypeInfo2 = Struct_ITypeInfo2;
pub type ITypeLib = Struct_ITypeLib;
pub type ITypeLib2 = Struct_ITypeLib2;
pub type ITypeChangeEvents = Struct_ITypeChangeEvents;
pub type IErrorInfo = Struct_IErrorInfo;
pub type ICreateErrorInfo = Struct_ICreateErrorInfo;
pub type ISupportErrorInfo = Struct_ISupportErrorInfo;
pub type ITypeFactory = Struct_ITypeFactory;
pub type ITypeMarshal = Struct_ITypeMarshal;
pub type IRecordInfo = Struct_IRecordInfo;
pub type IErrorLog = Struct_IErrorLog;
pub type IPropertyBag = Struct_IPropertyBag;
pub type CURRENCY = CY;
#[repr(C)]
pub struct Struct_tagSAFEARRAYBOUND {
pub cElements: ULONG,
pub lLbound: LONG,
}
pub type SAFEARRAYBOUND = Struct_tagSAFEARRAYBOUND;
pub type LPSAFEARRAYBOUND = *mut Struct_tagSAFEARRAYBOUND;
pub type wireVARIANT = *mut Struct__wireVARIANT;
pub type wireBRECORD = *mut Struct__wireBRECORD;
#[repr(C)]
pub struct Struct__wireSAFEARR_BSTR {
pub Size: ULONG,
pub aBstr: *mut wireBSTR,
}
pub type SAFEARR_BSTR = Struct__wireSAFEARR_BSTR;
#[repr(C)]
pub struct Struct__wireSAFEARR_UNKNOWN {
pub Size: ULONG,
pub apUnknown: *mut *mut IUnknown,
}
pub type SAFEARR_UNKNOWN = Struct__wireSAFEARR_UNKNOWN;
#[repr(C)]
pub struct Struct__wireSAFEARR_DISPATCH {
pub Size: ULONG,
pub apDispatch: *mut *mut IDispatch,
}
pub type SAFEARR_DISPATCH = Struct__wireSAFEARR_DISPATCH;
#[repr(C)]
pub struct Struct__wireSAFEARR_VARIANT {
pub Size: ULONG,
pub aVariant: *mut wireVARIANT,
}
pub type SAFEARR_VARIANT = Struct__wireSAFEARR_VARIANT;
#[repr(C)]
pub struct Struct__wireSAFEARR_BRECORD {
pub Size: ULONG,
pub aRecord: *mut wireBRECORD,
}
pub type SAFEARR_BRECORD = Struct__wireSAFEARR_BRECORD;
#[repr(C)]
pub struct Struct__wireSAFEARR_HAVEIID {
pub Size: ULONG,
pub apUnknown: *mut *mut IUnknown,
pub iid: IID,
}
pub type SAFEARR_HAVEIID = Struct__wireSAFEARR_HAVEIID;
pub type Enum_tagSF_TYPE = ::libc::c_uint;
pub const SF_ERROR: ::libc::c_uint = 10;
pub const SF_I1: ::libc::c_uint = 16;
pub const SF_I2: ::libc::c_uint = 2;
pub const SF_I4: ::libc::c_uint = 3;
pub const SF_I8: ::libc::c_uint = 20;
pub const SF_BSTR: ::libc::c_uint = 8;
pub const SF_UNKNOWN: ::libc::c_uint = 13;
pub const SF_DISPATCH: ::libc::c_uint = 9;
pub const SF_VARIANT: ::libc::c_uint = 12;
pub const SF_RECORD: ::libc::c_uint = 36;
pub const SF_HAVEIID: ::libc::c_uint = 32781;
pub type SF_TYPE = Enum_tagSF_TYPE;
#[repr(C)]
pub struct Struct__wireSAFEARRAY_UNION {
pub sfType: ULONG,
pub u: Union_Unnamed263,
}
#[repr(C)]
pub struct Union_Unnamed263 {
pub data: [u64, ..4u],
}
impl Union_Unnamed263 {
pub fn BstrStr(&mut self) -> *mut SAFEARR_BSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn UnknownStr(&mut self) -> *mut SAFEARR_UNKNOWN {
unsafe { ::std::mem::transmute(self) }
}
pub fn DispatchStr(&mut self) -> *mut SAFEARR_DISPATCH {
unsafe { ::std::mem::transmute(self) }
}
pub fn VariantStr(&mut self) -> *mut SAFEARR_VARIANT {
unsafe { ::std::mem::transmute(self) }
}
pub fn RecordStr(&mut self) -> *mut SAFEARR_BRECORD {
unsafe { ::std::mem::transmute(self) }
}
pub fn HaveIidStr(&mut self) -> *mut SAFEARR_HAVEIID {
unsafe { ::std::mem::transmute(self) }
}
pub fn ByteStr(&mut self) -> *mut BYTE_SIZEDARR {
unsafe { ::std::mem::transmute(self) }
}
pub fn WordStr(&mut self) -> *mut WORD_SIZEDARR {
unsafe { ::std::mem::transmute(self) }
}
pub fn LongStr(&mut self) -> *mut DWORD_SIZEDARR {
unsafe { ::std::mem::transmute(self) }
}
pub fn HyperStr(&mut self) -> *mut HYPER_SIZEDARR {
unsafe { ::std::mem::transmute(self) }
}
}
pub type SAFEARRAYUNION = Struct__wireSAFEARRAY_UNION;
#[repr(C)]
pub struct Struct__wireSAFEARRAY {
pub cDims: USHORT,
pub fFeatures: USHORT,
pub cbElements: ULONG,
pub cLocks: ULONG,
pub uArrayStructs: SAFEARRAYUNION,
pub rgsabound: [SAFEARRAYBOUND, ..1u],
}
pub type wireSAFEARRAY = *mut Struct__wireSAFEARRAY;
pub type wirePSAFEARRAY = *mut wireSAFEARRAY;
#[repr(C)]
pub struct Struct_tagSAFEARRAY {
pub cDims: USHORT,
pub fFeatures: USHORT,
pub cbElements: ULONG,
pub cLocks: ULONG,
pub pvData: PVOID,
pub rgsabound: [SAFEARRAYBOUND, ..1u],
}
pub type SAFEARRAY = Struct_tagSAFEARRAY;
pub type LPSAFEARRAY = *mut SAFEARRAY;
pub type VARIANT = Struct_tagVARIANT;
#[repr(C)]
pub struct Struct_tagVARIANT {
}
#[repr(C)]
pub struct Union_Unnamed264 {
pub data: [u64, ..3u],
}
impl Union_Unnamed264 {
pub fn decVal(&mut self) -> *mut DECIMAL {
unsafe { ::std::mem::transmute(self) }
}
}
#[repr(C)]
pub struct Struct_Unnamed265 {
pub vt: VARTYPE,
pub wReserved1: WORD,
pub wReserved2: WORD,
pub wReserved3: WORD,
}
#[repr(C)]
pub struct Union_Unnamed266 {
pub data: [u64, ..2u],
}
impl Union_Unnamed266 {
pub fn llVal(&mut self) -> *mut LONGLONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn lVal(&mut self) -> *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn bVal(&mut self) -> *mut BYTE {
unsafe { ::std::mem::transmute(self) }
}
pub fn iVal(&mut self) -> *mut SHORT {
unsafe { ::std::mem::transmute(self) }
}
pub fn fltVal(&mut self) -> *mut FLOAT {
unsafe { ::std::mem::transmute(self) }
}
pub fn dblVal(&mut self) -> *mut DOUBLE {
unsafe { ::std::mem::transmute(self) }
}
pub fn boolVal(&mut self) -> *mut VARIANT_BOOL {
unsafe { ::std::mem::transmute(self) }
}
pub fn scode(&mut self) -> *mut SCODE {
unsafe { ::std::mem::transmute(self) }
}
pub fn cyVal(&mut self) -> *mut CY {
unsafe { ::std::mem::transmute(self) }
}
pub fn date(&mut self) -> *mut DATE {
unsafe { ::std::mem::transmute(self) }
}
pub fn bstrVal(&mut self) -> *mut BSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn punkVal(&mut self) -> *mut *mut IUnknown {
unsafe { ::std::mem::transmute(self) }
}
pub fn pdispVal(&mut self) -> *mut *mut IDispatch {
unsafe { ::std::mem::transmute(self) }
}
pub fn parray(&mut self) -> *mut *mut SAFEARRAY {
unsafe { ::std::mem::transmute(self) }
}
pub fn pbVal(&mut self) -> *mut *mut BYTE {
unsafe { ::std::mem::transmute(self) }
}
pub fn piVal(&mut self) -> *mut *mut SHORT {
unsafe { ::std::mem::transmute(self) }
}
pub fn plVal(&mut self) -> *mut *mut LONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn pllVal(&mut self) -> *mut *mut LONGLONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn pfltVal(&mut self) -> *mut *mut FLOAT {
unsafe { ::std::mem::transmute(self) }
}
pub fn pdblVal(&mut self) -> *mut *mut DOUBLE {
unsafe { ::std::mem::transmute(self) }
}
pub fn pboolVal(&mut self) -> *mut *mut VARIANT_BOOL {
unsafe { ::std::mem::transmute(self) }
}
pub fn pscode(&mut self) -> *mut *mut SCODE {
unsafe { ::std::mem::transmute(self) }
}
pub fn pcyVal(&mut self) -> *mut *mut CY {
unsafe { ::std::mem::transmute(self) }
}
pub fn pdate(&mut self) -> *mut *mut DATE {
unsafe { ::std::mem::transmute(self) }
}
pub fn pbstrVal(&mut self) -> *mut *mut BSTR {
unsafe { ::std::mem::transmute(self) }
}
pub fn ppunkVal(&mut self) -> *mut *mut *mut IUnknown {
unsafe { ::std::mem::transmute(self) }
}
pub fn ppdispVal(&mut self) -> *mut *mut *mut IDispatch {
unsafe { ::std::mem::transmute(self) }
}
pub fn pparray(&mut self) -> *mut *mut *mut SAFEARRAY {
unsafe { ::std::mem::transmute(self) }
}
pub fn pvarVal(&mut self) -> *mut *mut VARIANT {
unsafe { ::std::mem::transmute(self) }
}
pub fn byref(&mut self) -> *mut PVOID {
unsafe { ::std::mem::transmute(self) }
}
pub fn cVal(&mut self) -> *mut CHAR {
unsafe { ::std::mem::transmute(self) }
}
pub fn uiVal(&mut self) -> *mut USHORT {
unsafe { ::std::mem::transmute(self) }
}
pub fn ulVal(&mut self) -> *mut ULONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn ullVal(&mut self) -> *mut ULONGLONG {
unsafe { ::std::mem::transmute(self) }
}
pub fn intVal(&mut self) -> *mut INT {
unsa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment