summaryrefslogtreecommitdiff
path: root/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2019-06-18 09:35:48 -0700
committerJhon Honce <jhonce@redhat.com>2019-06-18 17:37:53 -0700
commitd0d9a4c9b1f525ad1132947cf883fdd66941fe62 (patch)
treea3cd7d64877f8cf1f664d73ea778af36d387393a /vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go
parent1c6e4dc6bba303132a546e398a1c2de254d07f86 (diff)
downloadpodman-d0d9a4c9b1f525ad1132947cf883fdd66941fe62.tar.gz
podman-d0d9a4c9b1f525ad1132947cf883fdd66941fe62.tar.bz2
podman-d0d9a4c9b1f525ad1132947cf883fdd66941fe62.zip
Vendor in logrus v1.4.2
Fixes #3346 Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go')
-rw-r--r--vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go
new file mode 100644
index 000000000..ef18d8f97
--- /dev/null
+++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go
@@ -0,0 +1,36 @@
+// +build windows
+
+package sequences
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+var (
+ kernel32Dll *syscall.LazyDLL = syscall.NewLazyDLL("Kernel32.dll")
+ setConsoleMode *syscall.LazyProc = kernel32Dll.NewProc("SetConsoleMode")
+)
+
+func EnableVirtualTerminalProcessing(stream syscall.Handle, enable bool) error {
+ const ENABLE_VIRTUAL_TERMINAL_PROCESSING uint32 = 0x4
+
+ var mode uint32
+ err := syscall.GetConsoleMode(syscall.Stdout, &mode)
+ if err != nil {
+ return err
+ }
+
+ if enable {
+ mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING
+ } else {
+ mode &^= ENABLE_VIRTUAL_TERMINAL_PROCESSING
+ }
+
+ ret, _, err := setConsoleMode.Call(uintptr(unsafe.Pointer(stream)), uintptr(mode))
+ if ret == 0 {
+ return err
+ }
+
+ return nil
+}