mirror of
https://github.com/rwinkhart/go-winio.git
synced 2026-09-06 09:07:18 -04:00
Update mkwinsyscall and make stand alone tool (#248)
* Add latest mkwinsyscall file Copied file from: https://github.com/golang/sys/blob/bc2c85ada10aa9b6aa9607e9ac9ad0761b95cf1d/windows/mkwinsyscall/mkwinsyscall.go Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com> * Update to match hcsshim mksyscall_windows Added hr error return type, cmdline flags for winio import, utf16, and sorting. Generated file has build constrain comment. Input files can be specified with a glob pattern. Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com> * PR: update comment, use glob Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
mkwinsyscall generates windows system call bodies
|
||||
|
||||
It parses all files specified on command line containing function
|
||||
prototypes (like syscall_windows.go) and prints system call bodies
|
||||
to standard output.
|
||||
|
||||
The prototypes are marked by lines beginning with "//sys" and read
|
||||
like func declarations if //sys is replaced by func, but:
|
||||
|
||||
- The parameter lists must give a name for each argument. This
|
||||
includes return parameters.
|
||||
|
||||
- The parameter lists must give a type for each argument:
|
||||
the (x, y, z int) shorthand is not allowed.
|
||||
|
||||
- If the return parameter is an error number, it must be named err.
|
||||
|
||||
- If go func name needs to be different from its winapi dll name,
|
||||
the winapi name could be specified at the end, after "=" sign, like
|
||||
//sys LoadLibrary(libname string) (handle uint32, err error) = LoadLibraryA
|
||||
|
||||
- Each function that returns err needs to supply a condition, that
|
||||
return value of winapi will be tested against to detect failure.
|
||||
This would set err to windows "last-error", otherwise it will be nil.
|
||||
The value can be provided at end of //sys declaration, like
|
||||
//sys LoadLibrary(libname string) (handle uint32, err error) [failretval==-1] = LoadLibraryA
|
||||
and is [failretval==0] by default.
|
||||
|
||||
- If the function name ends in a "?", then the function not existing is non-
|
||||
fatal, and an error will be returned instead of panicking.
|
||||
|
||||
Usage:
|
||||
|
||||
mkwinsyscall [flags] [path ...]
|
||||
|
||||
The flags are:
|
||||
|
||||
-output string
|
||||
Specify output file name (standard output if omitted).
|
||||
-sort
|
||||
Sort DLL and Function declarations (default true). Setting to false is intended to maintain
|
||||
compatibility with older versions of mkwinsyscall so that diffs are easier to read and understand.
|
||||
-systemdll
|
||||
Specify that all DLLs should be loaded from the Windows system directory (default true).
|
||||
-trace
|
||||
Generate print statement after every syscall.
|
||||
winio
|
||||
Import this package ("github.com/Microsoft/go-winio").
|
||||
|
||||
*/
|
||||
package main
|
||||
Reference in New Issue
Block a user