summaryrefslogtreecommitdiff
path: root/src/pkg/runtime/windows/os.h
blob: bc96787334f9e5e005f8290c63e754f223d81584 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

extern void *runtime·LoadLibraryEx;
extern void *runtime·GetProcAddress;

// Call a Windows function with stdcall conventions,
// and switch to os stack during the call.
#pragma	varargck	countpos	runtime·stdcall	2
#pragma	varargck	type		runtime·stdcall	void*
#pragma	varargck	type		runtime·stdcall	uintptr
void *runtime·stdcall_raw(void *fn, uintptr nargs, void *args);
void *runtime·stdcall(void *fn, int32 count, ...);
uintptr runtime·syscall(void *fn, uintptr nargs, void *args, uintptr *err);

uintptr runtime·getlasterror(void);
void runtime·setlasterror(uintptr err);

// Function to be called by windows CreateThread
// to start new os thread.
uint32 runtime·tstart_stdcall(M *newm);

uint32 runtime·issigpanic(uint32);
void runtime·sigpanic(void);
uint32 runtime·ctrlhandler(uint32 type);

// Windows dll function to go callback entry.
byte *runtime·compilecallback(Eface fn, bool cleanstack);
void *runtime·callbackasm(void);