Home | History | Annotate | Download | only in runtime
      1 // Copyright 2009 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 // +build ignore
      6 
      7 /*
      8 Input to cgo.
      9 
     10 GOARCH=amd64 go tool cgo -cdefs defs_windows.go > defs_windows_amd64.h
     11 GOARCH=386 go tool cgo -cdefs defs_windows.go > defs_windows_386.h
     12 */
     13 
     14 package runtime
     15 
     16 /*
     17 #include <signal.h>
     18 #include <stdarg.h>
     19 #include <windef.h>
     20 #include <winbase.h>
     21 #include <wincon.h>
     22 
     23 #ifndef _X86_
     24 typedef struct {} FLOATING_SAVE_AREA;
     25 #endif
     26 #ifndef _AMD64_
     27 typedef struct {} M128A;
     28 #endif
     29 */
     30 import "C"
     31 
     32 const (
     33 	PROT_NONE  = 0
     34 	PROT_READ  = 1
     35 	PROT_WRITE = 2
     36 	PROT_EXEC  = 4
     37 
     38 	MAP_ANON    = 1
     39 	MAP_PRIVATE = 2
     40 
     41 	DUPLICATE_SAME_ACCESS   = C.DUPLICATE_SAME_ACCESS
     42 	THREAD_PRIORITY_HIGHEST = C.THREAD_PRIORITY_HIGHEST
     43 
     44 	SIGINT           = C.SIGINT
     45 	CTRL_C_EVENT     = C.CTRL_C_EVENT
     46 	CTRL_BREAK_EVENT = C.CTRL_BREAK_EVENT
     47 
     48 	CONTEXT_CONTROL = C.CONTEXT_CONTROL
     49 	CONTEXT_FULL    = C.CONTEXT_FULL
     50 
     51 	EXCEPTION_ACCESS_VIOLATION     = C.STATUS_ACCESS_VIOLATION
     52 	EXCEPTION_BREAKPOINT           = C.STATUS_BREAKPOINT
     53 	EXCEPTION_FLT_DENORMAL_OPERAND = C.STATUS_FLOAT_DENORMAL_OPERAND
     54 	EXCEPTION_FLT_DIVIDE_BY_ZERO   = C.STATUS_FLOAT_DIVIDE_BY_ZERO
     55 	EXCEPTION_FLT_INEXACT_RESULT   = C.STATUS_FLOAT_INEXACT_RESULT
     56 	EXCEPTION_FLT_OVERFLOW         = C.STATUS_FLOAT_OVERFLOW
     57 	EXCEPTION_FLT_UNDERFLOW        = C.STATUS_FLOAT_UNDERFLOW
     58 	EXCEPTION_INT_DIVIDE_BY_ZERO   = C.STATUS_INTEGER_DIVIDE_BY_ZERO
     59 	EXCEPTION_INT_OVERFLOW         = C.STATUS_INTEGER_OVERFLOW
     60 
     61 	INFINITE     = C.INFINITE
     62 	WAIT_TIMEOUT = C.WAIT_TIMEOUT
     63 
     64 	EXCEPTION_CONTINUE_EXECUTION = C.EXCEPTION_CONTINUE_EXECUTION
     65 	EXCEPTION_CONTINUE_SEARCH    = C.EXCEPTION_CONTINUE_SEARCH
     66 )
     67 
     68 type SystemInfo C.SYSTEM_INFO
     69 type ExceptionRecord C.EXCEPTION_RECORD
     70 type FloatingSaveArea C.FLOATING_SAVE_AREA
     71 type M128a C.M128A
     72 type Context C.CONTEXT
     73 type Overlapped C.OVERLAPPED
     74