BOOL NamedPipeCloseHandle(HANDLE handle) { WINPR_NAMED_PIPE* pNamedPipe = (WINPR_NAMED_PIPE *)handle; if (!NamedPipeIsHandled(handle)) return FALSE; if (pNamedPipe->pfnUnrefNamedPipe) pNamedPipe->pfnUnrefNamedPipe(pNamedPipe); if (pNamedPipe->name) free(pNamedPipe->name); if (pNamedPipe->lpFileName) free((void*)pNamedPipe->lpFileName); if (pNamedPipe->lpFilePath) free((void*)pNamedPipe->lpFilePath); if (pNamedPipe->serverfd != -1) close(pNamedPipe->serverfd); if (pNamedPipe->clientfd != -1) close(pNamedPipe->clientfd); free(handle); return TRUE; }
static int NamedPipeGetFd(HANDLE handle) { WINPR_NAMED_PIPE *pipe = (WINPR_NAMED_PIPE *)handle; if (!NamedPipeIsHandled(handle)) return -1; if (pipe->ServerMode) return pipe->serverfd; return pipe->clientfd; }