Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(17)

Delta Between Two Patch Sets: src/pkg/syscall/syscall_windows.go

Issue 95780046: code review 95780046: os,syscall: On Windows, recognize Control-Z for console...
Left Patch Set: Created 9 years, 11 months ago
Right Patch Set: diff -r 22dd1c22fd76 https://code.google.com/p/go/ Created 9 years, 11 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
LEFTRIGHT
(no file at all)
1 // Copyright 2009 The Go Authors. All rights reserved. 1 // Copyright 2009 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 4
5 // Windows system calls. 5 // Windows system calls.
6 6
7 package syscall 7 package syscall
8 8
9 import ( 9 import (
10 errorspkg "errors" 10 errorspkg "errors"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 114
115 // windows api calls 115 // windows api calls
116 116
117 //sys GetLastError() (lasterr error) 117 //sys GetLastError() (lasterr error)
118 //sys LoadLibrary(libname string) (handle Handle, err error) = LoadLibraryW 118 //sys LoadLibrary(libname string) (handle Handle, err error) = LoadLibraryW
119 //sys FreeLibrary(handle Handle) (err error) 119 //sys FreeLibrary(handle Handle) (err error)
120 //sys GetProcAddress(module Handle, procname string) (proc uintptr, err error) 120 //sys GetProcAddress(module Handle, procname string) (proc uintptr, err error)
121 //sys GetVersion() (ver uint32, err error) 121 //sys GetVersion() (ver uint32, err error)
122 //sys FormatMessage(flags uint32, msgsrc uint32, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW 122 //sys FormatMessage(flags uint32, msgsrc uint32, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW
123 //sys ExitProcess(exitcode uint32) 123 //sys ExitProcess(exitcode uint32)
124 //sys» CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttribu tes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err er ror) [failretval==InvalidHandle] = CreateFileW 124 //sys» CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttribu tes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err e rror) [failretval==InvalidHandle] = CreateFileW
minux1 2014/04/27 20:13:59 you can't change this, it will break Go 1 API guar
125 //sys ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped ) (err error) 125 //sys ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped ) (err error)
126 //sys WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlappe d) (err error) 126 //sys WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlappe d) (err error)
127 //sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whe nce uint32) (newlowoffset uint32, err error) [failretval==0xffffffff] 127 //sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whe nce uint32) (newlowoffset uint32, err error) [failretval==0xffffffff]
128 //sys CloseHandle(handle Handle) (err error) 128 //sys CloseHandle(handle Handle) (err error)
129 //sys» GetStdHandle(stdhandle int) (handle Handle, err error) [failretval==Inva lidHandle] 129 //sys» GetStdHandle(stdhandle int32) (handle Handle, err error) [failretval==In validHandle]
minux1 2014/04/27 20:13:59 same.
130 //sys findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err e rror) [failretval==InvalidHandle] = FindFirstFileW 130 //sys findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err e rror) [failretval==InvalidHandle] = FindFirstFileW
131 //sys findNextFile1(handle Handle, data *win32finddata1) (err error) = FindNex tFileW 131 //sys findNextFile1(handle Handle, data *win32finddata1) (err error) = FindNex tFileW
132 //sys FindClose(handle Handle) (err error) 132 //sys FindClose(handle Handle) (err error)
133 //sys GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) 133 //sys GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error)
134 //sys GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) = GetCurrentDirectoryW 134 //sys GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) = GetCurrentDirectoryW
135 //sys SetCurrentDirectory(path *uint16) (err error) = SetCurrentDirectoryW 135 //sys SetCurrentDirectory(path *uint16) (err error) = SetCurrentDirectoryW
136 //sys CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) = Crea teDirectoryW 136 //sys CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) = Crea teDirectoryW
137 //sys RemoveDirectory(path *uint16) (err error) = RemoveDirectoryW 137 //sys RemoveDirectory(path *uint16) (err error) = RemoveDirectoryW
138 //sys DeleteFile(path *uint16) (err error) = DeleteFileW 138 //sys DeleteFile(path *uint16) (err error) = DeleteFileW
139 //sys MoveFile(from *uint16, to *uint16) (err error) = MoveFileW 139 //sys MoveFile(from *uint16, to *uint16) (err error) = MoveFileW
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 //sys CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt3 2.CertCreateCertificateContext 195 //sys CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt3 2.CertCreateCertificateContext
196 //sys CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertF reeCertificateContext 196 //sys CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertF reeCertificateContext
197 //sys CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainCont ext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = cry pt32.CertVerifyCertificateChainPolicy 197 //sys CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainCont ext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = cry pt32.CertVerifyCertificateChainPolicy
198 //sys RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess u int32, result *Handle) (regerrno error) = advapi32.RegOpenKeyExW 198 //sys RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess u int32, result *Handle) (regerrno error) = advapi32.RegOpenKeyExW
199 //sys RegCloseKey(key Handle) (regerrno error) = advapi32.RegCloseKey 199 //sys RegCloseKey(key Handle) (regerrno error) = advapi32.RegCloseKey
200 //sys RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *u int32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteT ime *Filetime) (regerrno error) = advapi32.RegQueryInfoKeyW 200 //sys RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *u int32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteT ime *Filetime) (regerrno error) = advapi32.RegQueryInfoKeyW
201 //sys RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, re served *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (reger rno error) = advapi32.RegEnumKeyExW 201 //sys RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, re served *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (reger rno error) = advapi32.RegEnumKeyExW
202 //sys RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uin t32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegQueryValueExW 202 //sys RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uin t32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegQueryValueExW
203 //sys getCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId 203 //sys getCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId
204 //sys GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetC onsoleMode 204 //sys GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetC onsoleMode
205 //sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetCo nsoleMode
205 //sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint3 2, reserved *byte) (err error) = kernel32.WriteConsoleW 206 //sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint3 2, reserved *byte) (err error) = kernel32.WriteConsoleW
206 //sys» ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, in putControl *byte) (err error) = kernel32.ReadConsoleW 207 //sys» ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, in putControl *ConsoleReadconsoleControl) (err error) = kernel32.ReadConsoleW
minux1 2014/04/27 20:13:59 same.
207 208
208 // syscall interface implementation for other packages 209 // syscall interface implementation for other packages
209 210
210 func Exit(code int) { ExitProcess(uint32(code)) } 211 func Exit(code int) { ExitProcess(uint32(code)) }
211 212
212 func makeInheritSa() *SecurityAttributes { 213 func makeInheritSa() *SecurityAttributes {
213 var sa SecurityAttributes 214 var sa SecurityAttributes
214 sa.Length = uint32(unsafe.Sizeof(sa)) 215 sa.Length = uint32(unsafe.Sizeof(sa))
215 sa.InheritHandle = 1 216 sa.InheritHandle = 1
216 return &sa 217 return &sa
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 func Close(fd Handle) (err error) { 326 func Close(fd Handle) (err error) {
326 return CloseHandle(fd) 327 return CloseHandle(fd)
327 } 328 }
328 329
329 var ( 330 var (
330 Stdin = getStdHandle(STD_INPUT_HANDLE) 331 Stdin = getStdHandle(STD_INPUT_HANDLE)
331 Stdout = getStdHandle(STD_OUTPUT_HANDLE) 332 Stdout = getStdHandle(STD_OUTPUT_HANDLE)
332 Stderr = getStdHandle(STD_ERROR_HANDLE) 333 Stderr = getStdHandle(STD_ERROR_HANDLE)
333 ) 334 )
334 335
335 func getStdHandle(h int) (fd Handle) { 336 func getStdHandle(h int32) (fd Handle) {
336 r, _ := GetStdHandle(h) 337 r, _ := GetStdHandle(h)
337 CloseOnExec(r) 338 CloseOnExec(r)
338 return r 339 return r
339 } 340 }
340 341
341 const ImplementsGetwd = true 342 const ImplementsGetwd = true
342 343
343 func Getwd() (wd string, err error) { 344 func Getwd() (wd string, err error) {
344 b := make([]uint16, 300) 345 b := make([]uint16, 300)
345 n, e := GetCurrentDirectory(uint32(len(b)), &b[0]) 346 n, e := GetCurrentDirectory(uint32(len(b)), &b[0])
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after
927 928
928 func (s Signal) String() string { 929 func (s Signal) String() string {
929 if 0 <= s && int(s) < len(signals) { 930 if 0 <= s && int(s) < len(signals) {
930 str := signals[s] 931 str := signals[s]
931 if str != "" { 932 if str != "" {
932 return str 933 return str
933 } 934 }
934 } 935 }
935 return "signal " + itoa(int(s)) 936 return "signal " + itoa(int(s))
936 } 937 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b