aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/runtime.h
diff options
context:
space:
mode:
authorAlex Brainman <alex.brainman@gmail.com>2011-08-27 23:17:00 +1000
committerAlex Brainman <alex.brainman@gmail.com>2011-08-27 23:17:00 +1000
commit2a808826012ecc2165733de186f5e0a569e41619 (patch)
treeee82e5809b44aa8ed4cd5daedd2c0af1fa1ec75a /src/pkg/runtime/runtime.h
parenta88994f804241b2dd7532394e180b0f94ed01de2 (diff)
downloadgo-2a808826012ecc2165733de186f5e0a569e41619.tar.xz
runtime: use cgo runtime functions to call windows syscalls
R=rsc CC=golang-dev, jp, vcc.163 https://golang.org/cl/4926042
Diffstat (limited to 'src/pkg/runtime/runtime.h')
-rw-r--r--src/pkg/runtime/runtime.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/pkg/runtime/runtime.h b/src/pkg/runtime/runtime.h
index 84bab58772..6feedcbc82 100644
--- a/src/pkg/runtime/runtime.h
+++ b/src/pkg/runtime/runtime.h
@@ -70,6 +70,7 @@ typedef struct Hmap Hmap;
typedef struct Hchan Hchan;
typedef struct Complex64 Complex64;
typedef struct Complex128 Complex128;
+typedef struct WinCall WinCall;
/*
* per-cpu declaration.
@@ -250,11 +251,6 @@ struct M
uint32 freglo[16]; // D[i] lsb and F[i]
uint32 freghi[16]; // D[i] msb and F[i+16]
uint32 fflag; // floating point compare flags
-#ifdef __WINDOWS__
-#ifdef _64BIT
- void* gostack;
-#endif
-#endif
};
struct Stktop
@@ -306,6 +302,15 @@ struct Func
int32 locals; // number of 32-bit locals
};
+struct WinCall
+{
+ void (*fn)(void*);
+ uintptr n; // number of parameters
+ void* args; // parameters
+ uintptr r; // return value
+ uintptr err; // error number
+};
+
#ifdef __WINDOWS__
enum {
Windows = 1