Package org.fusesource.jansi.internal
Class Kernel32
java.lang.Object
org.fusesource.jansi.internal.Kernel32
Interface to access Win32 base APIs.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
see: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682013(v=vs.85).aspxstatic class
http://msdn.microsoft.com/en-us/library/ms682093%28VS.85%29.aspxstatic class
static class
see: http://msdn.microsoft.com/en-us/library/ms683149(v=VS.85).aspxstatic class
see: http://msdn.microsoft.com/en-us/library/ms683499(v=VS.85).aspxstatic class
see: http://msdn.microsoft.com/en-us/library/ms684166(v=VS.85).aspxstatic class
see: http://msdn.microsoft.com/en-us/library/ms684213(v=VS.85).aspxstatic class
see: http://msdn.microsoft.com/en-us/library/ms684239(v=VS.85).aspxstatic class
http://msdn.microsoft.com/en-us/library/ms686311%28VS.85%29.aspxstatic class
see: http://msdn.microsoft.com/en-us/library/ms687093(v=VS.85).aspx -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic short
static short
static short
static short
static short
static short
static short
static short
static short
static short
static short
static short
static short
static short
static short
static int
static int
private static final org.fusesource.hawtjni.runtime.Library
static int
static int
static int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final int
_getch()
see: http://msdn.microsoft.com/en-us/library/078sfkak(VS.80).aspxstatic final int
CloseHandle
(long handle) see: http://msdn.microsoft.com/en-us/library/ms724211%28VS.85%29.aspxstatic final int
FillConsoleOutputAttribute
(long consoleOutput, short attribute, int length, Kernel32.COORD writeCoord, int[] numberOfAttrsWritten) see: https://msdn.microsoft.com/en-us/library/ms682662%28VS.85%29.aspxstatic final int
FillConsoleOutputCharacterW
(long consoleOutput, char character, int length, Kernel32.COORD writeCoord, int[] numberOfCharsWritten) see: http://msdn.microsoft.com/en-us/library/ms682663%28VS.85%29.aspxstatic final int
FlushConsoleInputBuffer
(long handle) see: http://msdn.microsoft.com/en-us/library/ms683147(v=VS.85).aspxstatic final int
FormatMessageW
(int flags, long source, int messageId, int languageId, byte[] buffer, int size, long[] args) static final void
free
(long ptr) static final int
GetConsoleMode
(long handle, int[] mode) see: http://msdn.microsoft.com/en-us/library/ms683167%28VS.85%29.aspxstatic final int
see: http://msdn.microsoft.com/en-us/library/ms683169(v=VS.85).aspxstatic final int
GetConsoleScreenBufferInfo
(long consoleOutput, Kernel32.CONSOLE_SCREEN_BUFFER_INFO consoleScreenBufferInfo) See: http://msdn.microsoft.com/en-us/library/ms683171%28VS.85%29.aspxstatic final int
see: http://msdn.microsoft.com/en-us/library/ms679360(VS.85).aspxstatic final int
GetNumberOfConsoleInputEvents
(long handle, int[] numberOfEvents) see: http://msdn.microsoft.com/en-us/library/ms683207(v=VS.85).aspxstatic final long
GetStdHandle
(int stdHandle) see: http://msdn.microsoft.com/en-us/library/ms683231%28VS.85%29.aspxprivate static final void
init()
static final long
malloc
(long size) private static final int
PeekConsoleInputW
(long handle, long inputRecord, int length, int[] eventsCount) see: http://msdn.microsoft.com/en-us/library/ms684344(v=VS.85).aspxstatic Kernel32.INPUT_RECORD[]
readConsoleInputHelper
(long handle, int count, boolean peek) Return console input events.private static final int
ReadConsoleInputW
(long handle, long inputRecord, int length, int[] eventsCount) see: http://msdn.microsoft.com/en-us/library/ms684961(v=VS.85).aspxstatic Kernel32.INPUT_RECORD[]
readConsoleKeyInput
(long handle, int count, boolean peek) Return console input key events (discard other events).static final int
ScrollConsoleScreenBuffer
(long consoleOutput, Kernel32.SMALL_RECT scrollRectangle, Kernel32.SMALL_RECT clipRectangle, Kernel32.COORD destinationOrigin, Kernel32.CHAR_INFO fill) see: https://msdn.microsoft.com/en-us/library/windows/desktop/ms685107(v=vs.85).aspxstatic final int
SetConsoleCursorPosition
(long consoleOutput, Kernel32.COORD cursorPosition) http://msdn.microsoft.com/en-us/library/ms686025%28VS.85%29.aspxstatic final int
SetConsoleMode
(long handle, int mode) see: http://msdn.microsoft.com/en-us/library/ms686033%28VS.85%29.aspxstatic final int
SetConsoleOutputCP
(int codePageID) see: http://msdn.microsoft.com/en-us/library/ms686036(v=VS.85).aspxstatic final int
SetConsoleTextAttribute
(long consoleOutput, short attributes) see http://msdn.microsoft.com/en-us/library/ms686047%28VS.85%29.aspxstatic final int
SetConsoleTitle
(String title) see: http://msdn.microsoft.com/en-us/library/ms686050%28VS.85%29.aspxstatic final int
WaitForSingleObject
(long hHandle, int dwMilliseconds) static final int
WriteConsoleW
(long consoleOutput, char[] buffer, int numberOfCharsToWrite, int[] numberOfCharsWritten, long reserved) see: http://msdn.microsoft.com/en-us/library/ms687401(v=VS.85).aspx
-
Field Details
-
LIBRARY
private static final org.fusesource.hawtjni.runtime.Library LIBRARY -
FOREGROUND_BLUE
@JniField(flags=CONSTANT) public static short FOREGROUND_BLUE -
FOREGROUND_GREEN
@JniField(flags=CONSTANT) public static short FOREGROUND_GREEN -
FOREGROUND_RED
@JniField(flags=CONSTANT) public static short FOREGROUND_RED -
FOREGROUND_INTENSITY
@JniField(flags=CONSTANT) public static short FOREGROUND_INTENSITY -
BACKGROUND_BLUE
@JniField(flags=CONSTANT) public static short BACKGROUND_BLUE -
BACKGROUND_GREEN
@JniField(flags=CONSTANT) public static short BACKGROUND_GREEN -
BACKGROUND_RED
@JniField(flags=CONSTANT) public static short BACKGROUND_RED -
BACKGROUND_INTENSITY
@JniField(flags=CONSTANT) public static short BACKGROUND_INTENSITY -
COMMON_LVB_LEADING_BYTE
@JniField(flags=CONSTANT) public static short COMMON_LVB_LEADING_BYTE -
COMMON_LVB_TRAILING_BYTE
@JniField(flags=CONSTANT) public static short COMMON_LVB_TRAILING_BYTE -
COMMON_LVB_GRID_HORIZONTAL
@JniField(flags=CONSTANT) public static short COMMON_LVB_GRID_HORIZONTAL -
COMMON_LVB_GRID_LVERTICAL
@JniField(flags=CONSTANT) public static short COMMON_LVB_GRID_LVERTICAL -
COMMON_LVB_GRID_RVERTICAL
@JniField(flags=CONSTANT) public static short COMMON_LVB_GRID_RVERTICAL -
COMMON_LVB_REVERSE_VIDEO
@JniField(flags=CONSTANT) public static short COMMON_LVB_REVERSE_VIDEO -
COMMON_LVB_UNDERSCORE
@JniField(flags=CONSTANT) public static short COMMON_LVB_UNDERSCORE -
FORMAT_MESSAGE_FROM_SYSTEM
@JniField(flags=CONSTANT) public static int FORMAT_MESSAGE_FROM_SYSTEM -
STD_INPUT_HANDLE
@JniField(flags=CONSTANT) public static int STD_INPUT_HANDLE -
STD_OUTPUT_HANDLE
@JniField(flags=CONSTANT) public static int STD_OUTPUT_HANDLE -
STD_ERROR_HANDLE
@JniField(flags=CONSTANT) public static int STD_ERROR_HANDLE -
INVALID_HANDLE_VALUE
@JniField(flags=CONSTANT) public static int INVALID_HANDLE_VALUE
-
-
Constructor Details
-
Kernel32
public Kernel32()
-
-
Method Details
-
init
@JniMethod(flags=CONSTANT_INITIALIZER) private static final void init() -
malloc
@JniMethod(cast="void *") public static final long malloc(@JniArg(cast="size_t") long size) -
free
public static final void free(@JniArg(cast="void *") long ptr) -
SetConsoleTextAttribute
public static final int SetConsoleTextAttribute(@JniArg(cast="HANDLE") long consoleOutput, short attributes) see http://msdn.microsoft.com/en-us/library/ms686047%28VS.85%29.aspx- Parameters:
consoleOutput
-attributes
-- Returns:
-
WaitForSingleObject
public static final int WaitForSingleObject(@JniArg(cast="HANDLE") long hHandle, int dwMilliseconds) -
CloseHandle
public static final int CloseHandle(@JniArg(cast="HANDLE") long handle) see: http://msdn.microsoft.com/en-us/library/ms724211%28VS.85%29.aspx- Parameters:
handle
-- Returns:
-
GetLastError
public static final int GetLastError()see: http://msdn.microsoft.com/en-us/library/ms679360(VS.85).aspx- Returns:
-
FormatMessageW
public static final int FormatMessageW(int flags, @JniArg(cast="void *") long source, int messageId, int languageId, @JniArg(cast="void *",flags={NO_IN,CRITICAL}) byte[] buffer, int size, @JniArg(cast="void *",flags={NO_IN,CRITICAL,SENTINEL}) long[] args) - Parameters:
flags
-source
-messageId
-languageId
-buffer
-size
-args
-- Returns:
-
GetConsoleScreenBufferInfo
public static final int GetConsoleScreenBufferInfo(@JniArg(cast="HANDLE",flags=POINTER_ARG) long consoleOutput, @JniArg(flags=NO_IN) Kernel32.CONSOLE_SCREEN_BUFFER_INFO consoleScreenBufferInfo) See: http://msdn.microsoft.com/en-us/library/ms683171%28VS.85%29.aspx- Parameters:
consoleOutput
-consoleScreenBufferInfo
-- Returns:
-
GetStdHandle
@JniMethod(cast="HANDLE", flags=POINTER_RETURN) public static final long GetStdHandle(int stdHandle) see: http://msdn.microsoft.com/en-us/library/ms683231%28VS.85%29.aspx- Parameters:
stdHandle
-- Returns:
-
SetConsoleCursorPosition
public static final int SetConsoleCursorPosition(@JniArg(cast="HANDLE",flags=POINTER_ARG) long consoleOutput, @JniArg(flags={BY_VALUE,NO_OUT}) Kernel32.COORD cursorPosition) http://msdn.microsoft.com/en-us/library/ms686025%28VS.85%29.aspx- Parameters:
consoleOutput
-cursorPosition
-- Returns:
-
FillConsoleOutputCharacterW
public static final int FillConsoleOutputCharacterW(@JniArg(cast="HANDLE",flags=POINTER_ARG) long consoleOutput, char character, int length, @JniArg(flags={BY_VALUE,NO_OUT}) Kernel32.COORD writeCoord, @JniArg(flags=NO_IN) int[] numberOfCharsWritten) see: http://msdn.microsoft.com/en-us/library/ms682663%28VS.85%29.aspx- Parameters:
consoleOutput
-character
-length
-writeCoord
-numberOfCharsWritten
-- Returns:
-
FillConsoleOutputAttribute
public static final int FillConsoleOutputAttribute(@JniArg(cast="HANDLE",flags=POINTER_ARG) long consoleOutput, short attribute, int length, @JniArg(flags={BY_VALUE,NO_OUT}) Kernel32.COORD writeCoord, @JniArg(flags=NO_IN) int[] numberOfAttrsWritten) see: https://msdn.microsoft.com/en-us/library/ms682662%28VS.85%29.aspx- Parameters:
consoleOutput
-attribute
-length
-writeCoord
-numberOfAttrsWritten
-- Returns:
-
WriteConsoleW
public static final int WriteConsoleW(@JniArg(cast="HANDLE",flags=POINTER_ARG) long consoleOutput, @JniArg(flags=NO_OUT) char[] buffer, int numberOfCharsToWrite, @JniArg(flags=NO_IN) int[] numberOfCharsWritten, @JniArg(cast="LPVOID",flags=POINTER_ARG) long reserved) see: http://msdn.microsoft.com/en-us/library/ms687401(v=VS.85).aspx- Parameters:
consoleOutput
-buffer
-numberOfCharsToWrite
-numberOfCharsWritten
-reserved
- must be null- Returns:
-
GetConsoleMode
public static final int GetConsoleMode(@JniArg(cast="HANDLE",flags=POINTER_ARG) long handle, @JniArg(flags=NO_IN) int[] mode) see: http://msdn.microsoft.com/en-us/library/ms683167%28VS.85%29.aspx- Parameters:
handle
-mode
-- Returns:
-
SetConsoleMode
public static final int SetConsoleMode(@JniArg(cast="HANDLE",flags=POINTER_ARG) long handle, int mode) see: http://msdn.microsoft.com/en-us/library/ms686033%28VS.85%29.aspx- Parameters:
handle
-mode
-- Returns:
-
_getch
public static final int _getch()see: http://msdn.microsoft.com/en-us/library/078sfkak(VS.80).aspx- Returns:
-
SetConsoleTitle
see: http://msdn.microsoft.com/en-us/library/ms686050%28VS.85%29.aspx- Parameters:
title
-- Returns:
- 0 if title was set successfully
-
GetConsoleOutputCP
public static final int GetConsoleOutputCP()see: http://msdn.microsoft.com/en-us/library/ms683169(v=VS.85).aspx- Returns:
- the current output code page
-
SetConsoleOutputCP
public static final int SetConsoleOutputCP(int codePageID) see: http://msdn.microsoft.com/en-us/library/ms686036(v=VS.85).aspx- Parameters:
codePageID
-- Returns:
- non 0 if code page was set
-
ScrollConsoleScreenBuffer
public static final int ScrollConsoleScreenBuffer(@JniArg(cast="HANDLE",flags=POINTER_ARG) long consoleOutput, @JniArg(flags=NO_OUT) Kernel32.SMALL_RECT scrollRectangle, @JniArg(flags=NO_OUT) Kernel32.SMALL_RECT clipRectangle, @JniArg(flags={BY_VALUE,NO_OUT}) Kernel32.COORD destinationOrigin, @JniArg(flags=NO_OUT) Kernel32.CHAR_INFO fill) see: https://msdn.microsoft.com/en-us/library/windows/desktop/ms685107(v=vs.85).aspx -
ReadConsoleInputW
private static final int ReadConsoleInputW(@JniArg(cast="HANDLE",flags=POINTER_ARG) long handle, @JniArg(cast="PINPUT_RECORD",flags=POINTER_ARG) long inputRecord, int length, @JniArg(flags=NO_IN) int[] eventsCount) see: http://msdn.microsoft.com/en-us/library/ms684961(v=VS.85).aspx- Parameters:
handle
-length
-eventsCount
-- Returns:
-
PeekConsoleInputW
private static final int PeekConsoleInputW(@JniArg(cast="HANDLE",flags=POINTER_ARG) long handle, @JniArg(cast="PINPUT_RECORD",flags=POINTER_ARG) long inputRecord, int length, @JniArg(flags=NO_IN) int[] eventsCount) see: http://msdn.microsoft.com/en-us/library/ms684344(v=VS.85).aspx- Parameters:
handle
-length
-eventsCount
-- Returns:
-
GetNumberOfConsoleInputEvents
public static final int GetNumberOfConsoleInputEvents(@JniArg(cast="HANDLE",flags=POINTER_ARG) long handle, @JniArg(flags=NO_IN) int[] numberOfEvents) see: http://msdn.microsoft.com/en-us/library/ms683207(v=VS.85).aspx- Parameters:
handle
-numberOfEvents
- number of unread input records in the console's input buffer- Returns:
-
FlushConsoleInputBuffer
public static final int FlushConsoleInputBuffer(@JniArg(cast="HANDLE",flags=POINTER_ARG) long handle) see: http://msdn.microsoft.com/en-us/library/ms683147(v=VS.85).aspx- Parameters:
handle
-- Returns:
-
readConsoleInputHelper
public static Kernel32.INPUT_RECORD[] readConsoleInputHelper(long handle, int count, boolean peek) throws IOException Return console input events.- Parameters:
handle
-count
- requested number of events- Returns:
- null on read errors
- Throws:
IOException
-
readConsoleKeyInput
public static Kernel32.INPUT_RECORD[] readConsoleKeyInput(long handle, int count, boolean peek) throws IOException Return console input key events (discard other events).- Parameters:
count
- requested number of events- Returns:
- array possibly of size smaller then count
- Throws:
IOException
-