]> git.lizzy.rs Git - rust.git/blob - src/test/ui/abi/x86stdcall2.rs
Auto merge of #106143 - matthiaskrgr:rollup-3kpy1dc, r=matthiaskrgr
[rust.git] / src / test / ui / abi / x86stdcall2.rs
1 // run-pass
2 // only-windows
3
4 #![allow(non_camel_case_types)]
5 pub type HANDLE = usize;
6 pub type DWORD = u32;
7 pub type SIZE_T = u32;
8 pub type LPVOID = usize;
9 pub type BOOL = u8;
10
11 mod kernel32 {
12     use super::{BOOL, DWORD, HANDLE, LPVOID, SIZE_T};
13
14     extern "system" {
15         pub fn GetProcessHeap() -> HANDLE;
16         pub fn HeapAlloc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T) -> LPVOID;
17         pub fn HeapFree(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID) -> BOOL;
18     }
19 }
20
21 pub fn main() {
22     let heap = unsafe { kernel32::GetProcessHeap() };
23     let mem = unsafe { kernel32::HeapAlloc(heap, 0, 100) };
24     assert!(mem != 0);
25     let res = unsafe { kernel32::HeapFree(heap, 0, mem) };
26     assert!(res != 0);
27 }