Package org.fusesource.jansi.internal
Class Kernel32
- java.lang.Object
-
- org.fusesource.jansi.internal.Kernel32
-
@JniClass(conditional="defined(_WIN32) || defined(_WIN64)") public class Kernel32 extends java.lang.Object
- Author:
- Hiram Chirino
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classKernel32.CHAR_INFOsee: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682013(v=vs.85).aspxstatic classKernel32.CONSOLE_SCREEN_BUFFER_INFOhttp://msdn.microsoft.com/en-us/library/ms682093%28VS.85%29.aspxstatic classKernel32.COORDstatic classKernel32.INPUT_RECORDsee: http://msdn.microsoft.com/en-us/library/ms683499(v=VS.85).aspxstatic classKernel32.KEY_EVENT_RECORDsee: http://msdn.microsoft.com/en-us/library/ms684166(v=VS.85).aspxstatic classKernel32.SMALL_RECThttp://msdn.microsoft.com/en-us/library/ms686311%28VS.85%29.aspx
-
Field Summary
Fields Modifier and Type Field Description static shortBACKGROUND_BLUEstatic shortBACKGROUND_GREENstatic shortBACKGROUND_INTENSITYstatic shortBACKGROUND_REDstatic shortCOMMON_LVB_GRID_HORIZONTALstatic shortCOMMON_LVB_GRID_LVERTICALstatic shortCOMMON_LVB_GRID_RVERTICALstatic shortCOMMON_LVB_LEADING_BYTEstatic shortCOMMON_LVB_REVERSE_VIDEOstatic shortCOMMON_LVB_TRAILING_BYTEstatic shortCOMMON_LVB_UNDERSCOREstatic shortFOREGROUND_BLUEstatic shortFOREGROUND_GREENstatic shortFOREGROUND_INTENSITYstatic shortFOREGROUND_REDstatic intFORMAT_MESSAGE_FROM_SYSTEMstatic intINVALID_HANDLE_VALUEstatic intSTD_ERROR_HANDLEstatic intSTD_INPUT_HANDLEstatic intSTD_OUTPUT_HANDLE
-
Constructor Summary
Constructors Constructor Description Kernel32()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int_getch()see: http://msdn.microsoft.com/en-us/library/078sfkak(VS.80).aspxstatic intCloseHandle(long handle)see: http://msdn.microsoft.com/en-us/library/ms724211%28VS.85%29.aspxstatic 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 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 intFlushConsoleInputBuffer(long handle)see: http://msdn.microsoft.com/en-us/library/ms683147(v=VS.85).aspxstatic intFormatMessageW(int flags, long source, int messageId, int languageId, byte[] buffer, int size, long[] args)static voidfree(long ptr)static intGetConsoleMode(long handle, int[] mode)see: http://msdn.microsoft.com/en-us/library/ms683167%28VS.85%29.aspxstatic intGetConsoleOutputCP()see: http://msdn.microsoft.com/en-us/library/ms683169(v=VS.85).aspxstatic intGetConsoleScreenBufferInfo(long consoleOutput, Kernel32.CONSOLE_SCREEN_BUFFER_INFO consoleScreenBufferInfo)See: http://msdn.microsoft.com/en-us/library/ms683171%28VS.85%29.aspxstatic intGetLastError()see: http://msdn.microsoft.com/en-us/library/ms679360(VS.85).aspxstatic intGetNumberOfConsoleInputEvents(long handle, int[] numberOfEvents)see: http://msdn.microsoft.com/en-us/library/ms683207(v=VS.85).aspxstatic longGetStdHandle(int stdHandle)see: http://msdn.microsoft.com/en-us/library/ms683231%28VS.85%29.aspxstatic longmalloc(long size)static Kernel32.INPUT_RECORD[]readConsoleInputHelper(long handle, int count, boolean peek)Return console input events.static Kernel32.INPUT_RECORD[]readConsoleKeyInput(long handle, int count, boolean peek)Return console input key events (discard other events).static 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 intSetConsoleCursorPosition(long consoleOutput, Kernel32.COORD cursorPosition)http://msdn.microsoft.com/en-us/library/ms686025%28VS.85%29.aspxstatic intSetConsoleMode(long handle, int mode)see: http://msdn.microsoft.com/en-us/library/ms686033%28VS.85%29.aspxstatic intSetConsoleOutputCP(int codePageID)see: http://msdn.microsoft.com/en-us/library/ms686036(v=VS.85).aspxstatic intSetConsoleTextAttribute(long consoleOutput, short attributes)see http://msdn.microsoft.com/en-us/library/ms686047%28VS.85%29.aspxstatic intSetConsoleTitle(java.lang.String title)see: http://msdn.microsoft.com/en-us/library/ms686050%28VS.85%29.aspxstatic 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 Detail
-
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 Detail
-
Kernel32
public Kernel32()
-
-
Method Detail
-
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:
-
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
public static final int SetConsoleTitle(@JniArg(flags=UNICODE) java.lang.String title)
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
-
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 java.io.IOException
Return console input events.- Parameters:
handle-count- requested number of events- Returns:
- null on read errors
- Throws:
java.io.IOException
-
readConsoleKeyInput
public static Kernel32.INPUT_RECORD[] readConsoleKeyInput(long handle, int count, boolean peek) throws java.io.IOException
Return console input key events (discard other events).- Parameters:
count- requested number of events- Returns:
- array possibly of size smaller then count
- Throws:
java.io.IOException
-
-