in src/com/pty4j/windows/winpty/WinPty.java [383:422]
boolean PeekNamedPipe(WinNT.HANDLE hFile,
Pointer lpBuffer,
int nBufferSize,
IntByReference lpBytesRead,
IntByReference lpTotalBytesAvail,
IntByReference lpBytesLeftThisMessage);
boolean ReadFile(WinNT.HANDLE file, Pointer buf, int len, IntByReference actual, Pointer over);
boolean WriteFile(WinNT.HANDLE file, Pointer buf, int len, IntByReference actual, Pointer over);
boolean GetOverlappedResult(WinNT.HANDLE file, Pointer over, IntByReference actual, boolean wait);
WinNT.HANDLE CreateNamedPipeA(String lpName,
int dwOpenMode,
int dwPipeMode,
int nMaxInstances,
int nOutBufferSize,
int nInBufferSize,
int nDefaultTimeout,
WinBase.SECURITY_ATTRIBUTES securityAttributes);
boolean ConnectNamedPipe(WinNT.HANDLE hNamedPipe, WinBase.OVERLAPPED overlapped);
boolean CloseHandle(WinNT.HANDLE hObject);
WinNT.HANDLE CreateEventA(WinBase.SECURITY_ATTRIBUTES lpEventAttributes, boolean bManualReset, boolean bInitialState, String lpName);
int GetLastError();
int WaitForSingleObject(WinNT.HANDLE hHandle, int dwMilliseconds);
boolean CancelIo(WinNT.HANDLE hFile);
int GetCurrentProcessId();
}
private static WinPtyLib INSTANCE = Native.loadLibrary(getLibraryPath(), WinPtyLib.class);
private static String getLibraryPath() {