Class Kernel32
java.lang.Object
org.fusesource.jansi.internal.Kernel32
Interface to access Win32 base APIs.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classsee: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682013(v=vs.85).aspxstatic classhttp://msdn.microsoft.com/en-us/library/ms682093%28VS.85%29.aspxstatic classstatic classsee: http://msdn.microsoft.com/en-us/library/ms683149(v=VS.85).aspxstatic classsee: http://msdn.microsoft.com/en-us/library/ms683499(v=VS.85).aspxstatic classsee: http://msdn.microsoft.com/en-us/library/ms684166(v=VS.85).aspxstatic classsee: http://msdn.microsoft.com/en-us/library/ms684213(v=VS.85).aspxstatic classsee: http://msdn.microsoft.com/en-us/library/ms684239(v=VS.85).aspxstatic classhttp://msdn.microsoft.com/en-us/library/ms686311%28VS.85%29.aspxstatic classsee: http://msdn.microsoft.com/en-us/library/ms687093(v=VS.85).aspx -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic shortstatic intstatic intprivate static final org.fusesource.hawtjni.runtime.Librarystatic intstatic intstatic 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 intCloseHandle(long handle) see: http://msdn.microsoft.com/en-us/library/ms724211%28VS.85%29.aspxstatic final intFillConsoleOutputAttribute(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 intFillConsoleOutputCharacterW(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 intFlushConsoleInputBuffer(long handle) see: http://msdn.microsoft.com/en-us/library/ms683147(v=VS.85).aspxstatic final intFormatMessageW(int flags, long source, int messageId, int languageId, byte[] buffer, int size, long[] args) static final voidfree(long ptr) static final intGetConsoleMode(long handle, int[] mode) see: http://msdn.microsoft.com/en-us/library/ms683167%28VS.85%29.aspxstatic final intsee: http://msdn.microsoft.com/en-us/library/ms683169(v=VS.85).aspxstatic final intGetConsoleScreenBufferInfo(long consoleOutput, Kernel32.CONSOLE_SCREEN_BUFFER_INFO consoleScreenBufferInfo) See: http://msdn.microsoft.com/en-us/library/ms683171%28VS.85%29.aspxstatic final intsee: http://msdn.microsoft.com/en-us/library/ms679360(VS.85).aspxstatic final intGetNumberOfConsoleInputEvents(long handle, int[] numberOfEvents) see: http://msdn.microsoft.com/en-us/library/ms683207(v=VS.85).aspxstatic final longGetStdHandle(int stdHandle) see: http://msdn.microsoft.com/en-us/library/ms683231%28VS.85%29.aspxprivate static final voidinit()static final longmalloc(long size) private static final intPeekConsoleInputW(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 intReadConsoleInputW(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 intScrollConsoleScreenBuffer(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 intSetConsoleCursorPosition(long consoleOutput, Kernel32.COORD cursorPosition) http://msdn.microsoft.com/en-us/library/ms686025%28VS.85%29.aspxstatic final intSetConsoleMode(long handle, int mode) see: http://msdn.microsoft.com/en-us/library/ms686033%28VS.85%29.aspxstatic final intSetConsoleOutputCP(int codePageID) see: http://msdn.microsoft.com/en-us/library/ms686036(v=VS.85).aspxstatic final intSetConsoleTextAttribute(long consoleOutput, short attributes) see http://msdn.microsoft.com/en-us/library/ms686047%28VS.85%29.aspxstatic final intSetConsoleTitle(String title) see: http://msdn.microsoft.com/en-us/library/ms686050%28VS.85%29.aspxstatic final intWaitForSingleObject(long hHandle, int dwMilliseconds) static final intWriteConsoleW(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
-