FreeRDP
io/io.c File Reference
#include <winpr/config.h>
#include <winpr/io.h>
#include <time.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
#include <fcntl.h>
#include <sys/un.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <winpr/crt.h>
#include <winpr/wlog.h>
#include "../handle/handle.h"
#include "../pipe/pipe.h"
#include "../log.h"

Macros

#define TAG   WINPR_TAG("io")
 

Functions

BOOL GetOverlappedResult (HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait)
 
BOOL GetOverlappedResultEx (HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, DWORD dwMilliseconds, BOOL bAlertable)
 
BOOL DeviceIoControl (HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
 
HANDLE CreateIoCompletionPort (HANDLE FileHandle, HANDLE ExistingCompletionPort, ULONG_PTR CompletionKey, DWORD NumberOfConcurrentThreads)
 
BOOL GetQueuedCompletionStatus (HANDLE CompletionPort, LPDWORD lpNumberOfBytesTransferred, PULONG_PTR lpCompletionKey, LPOVERLAPPED *lpOverlapped, DWORD dwMilliseconds)
 
BOOL GetQueuedCompletionStatusEx (HANDLE CompletionPort, LPOVERLAPPED_ENTRY lpCompletionPortEntries, ULONG ulCount, PULONG ulNumEntriesRemoved, DWORD dwMilliseconds, BOOL fAlertable)
 
BOOL PostQueuedCompletionStatus (HANDLE CompletionPort, DWORD dwNumberOfBytesTransferred, ULONG_PTR dwCompletionKey, LPOVERLAPPED lpOverlapped)
 
BOOL CancelIo (HANDLE hFile)
 
BOOL CancelIoEx (HANDLE hFile, LPOVERLAPPED lpOverlapped)
 
BOOL CancelSynchronousIo (HANDLE hThread)
 

Macro Definition Documentation

◆ TAG

#define TAG   WINPR_TAG("io")

WinPR: Windows Portable Runtime Asynchronous I/O Functions

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

◆ CancelIo()

BOOL CancelIo ( HANDLE  hFile)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ CancelIoEx()

BOOL CancelIoEx ( HANDLE  hFile,
LPOVERLAPPED  lpOverlapped 
)
Here is the call graph for this function:

◆ CancelSynchronousIo()

BOOL CancelSynchronousIo ( HANDLE  hThread)
Here is the call graph for this function:

◆ CreateIoCompletionPort()

HANDLE CreateIoCompletionPort ( HANDLE  FileHandle,
HANDLE  ExistingCompletionPort,
ULONG_PTR  CompletionKey,
DWORD  NumberOfConcurrentThreads 
)
Here is the call graph for this function:

◆ DeviceIoControl()

BOOL DeviceIoControl ( HANDLE  hDevice,
DWORD  dwIoControlCode,
LPVOID  lpInBuffer,
DWORD  nInBufferSize,
LPVOID  lpOutBuffer,
DWORD  nOutBufferSize,
LPDWORD  lpBytesReturned,
LPOVERLAPPED  lpOverlapped 
)
Here is the call graph for this function:

◆ GetOverlappedResult()

BOOL GetOverlappedResult ( HANDLE  hFile,
LPOVERLAPPED  lpOverlapped,
LPDWORD  lpNumberOfBytesTransferred,
BOOL  bWait 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetOverlappedResultEx()

BOOL GetOverlappedResultEx ( HANDLE  hFile,
LPOVERLAPPED  lpOverlapped,
LPDWORD  lpNumberOfBytesTransferred,
DWORD  dwMilliseconds,
BOOL  bAlertable 
)
Here is the call graph for this function:

◆ GetQueuedCompletionStatus()

BOOL GetQueuedCompletionStatus ( HANDLE  CompletionPort,
LPDWORD  lpNumberOfBytesTransferred,
PULONG_PTR  lpCompletionKey,
LPOVERLAPPED lpOverlapped,
DWORD  dwMilliseconds 
)
Here is the call graph for this function:

◆ GetQueuedCompletionStatusEx()

BOOL GetQueuedCompletionStatusEx ( HANDLE  CompletionPort,
LPOVERLAPPED_ENTRY  lpCompletionPortEntries,
ULONG  ulCount,
PULONG  ulNumEntriesRemoved,
DWORD  dwMilliseconds,
BOOL  fAlertable 
)
Here is the call graph for this function:

◆ PostQueuedCompletionStatus()

BOOL PostQueuedCompletionStatus ( HANDLE  CompletionPort,
DWORD  dwNumberOfBytesTransferred,
ULONG_PTR  dwCompletionKey,
LPOVERLAPPED  lpOverlapped 
)
Here is the call graph for this function: