Pyrogenesis  trunk
Classes | Functions | Variables
waio.cpp File Reference
#include "precompiled.h"
#include "lib/sysdep/os/win/wposix/waio.h"
#include "lib/bits.h"
#include "lib/alignment.h"
#include "lib/module_init.h"
#include "lib/sysdep/cpu.h"
#include "lib/sysdep/filesystem.h"
#include "lib/sysdep/os/win/wutil.h"
#include "lib/sysdep/os/win/wiocp.h"
#include "lib/sysdep/os/win/winit.h"
#include "lib/sysdep/os/win/wposix/crt_posix.h"
Include dependency graph for waio.cpp:

Classes

struct  OvlAllocator
 
struct  OvlAllocator::Entry
 
struct  FileControlBlock
 
struct  FileControlBlocks
 

Functions

 WINIT_REGISTER_MAIN_SHUTDOWN (waio_Shutdown)
 
static WUTIL_FUNC (pSetFileCompletionNotificationModes, BOOL,(HANDLE, UCHAR))
 
static WUTIL_FUNC (pSetFileIoOverlappedRange, BOOL,(HANDLE, PUCHAR, ULONG))
 
static WUTIL_FUNC (pSetFileValidData, BOOL,(HANDLE, LONGLONG))
 
static DWORD DesiredAccess (int oflag)
 
static DWORD ShareMode (int oflag)
 
static DWORD CreationDisposition (int oflag)
 
static DWORD FlagsAndAttributes ()
 
static Status OpenFile (const OsPath &pathname, int oflag, HANDLE &hFile)
 
static Status waio_Init ()
 
static Status waio_Shutdown ()
 
Status waio_open (const OsPath &pathname, int oflag,...)
 
Status waio_close (int fd)
 
Status waio_Preallocate (int fd, off_t size)
 
static int Issue (aiocb *cb)
 
static bool AreAnyComplete (const struct aiocb *const cbs[], int n)
 
int aio_read (struct aiocb *cb)
 
int aio_write (struct aiocb *cb)
 
int lio_listio (int mode, struct aiocb *const cbs[], int n, struct sigevent *se)
 
int aio_suspend (const struct aiocb *const cbs[], int n, const struct timespec *timeout)
 
int aio_error (const struct aiocb *cb)
 
ssize_t aio_return (struct aiocb *cb)
 
int aio_cancel (int fd, struct aiocb *cb)
 
int aio_fsync (int, struct aiocb *)
 

Variables

static HANDLE hIOCP
 
static FileControlBlocks fileControlBlocks
 
static ModuleInitState waio_initState
 

Function Documentation

int aio_cancel ( int  fd,
struct aiocb cb 
)
int aio_error ( const struct aiocb cb)
int aio_fsync ( int  ,
struct aiocb  
)
int aio_read ( struct aiocb cb)
ssize_t aio_return ( struct aiocb cb)
int aio_suspend ( const struct aiocb *const  cbs[],
int  n,
const struct timespec timeout 
)
int aio_write ( struct aiocb cb)
static bool AreAnyComplete ( const struct aiocb *const  cbs[],
int  n 
)
static
static DWORD CreationDisposition ( int  oflag)
static
static DWORD DesiredAccess ( int  oflag)
static
static DWORD FlagsAndAttributes ( )
static
static int Issue ( aiocb cb)
static
int lio_listio ( int  mode,
struct aiocb *const  cbs[],
int  n,
struct sigevent se 
)
static Status OpenFile ( const OsPath pathname,
int  oflag,
HANDLE hFile 
)
static
static DWORD ShareMode ( int  oflag)
static
Status waio_close ( int  fd)
static Status waio_Init ( )
static
Status waio_open ( const OsPath pathname,
int  oflag,
  ... 
)
Status waio_Preallocate ( int  fd,
off_t  size 
)
static Status waio_Shutdown ( )
static
WINIT_REGISTER_MAIN_SHUTDOWN ( waio_Shutdown  )
static WUTIL_FUNC ( pSetFileCompletionNotificationModes  ,
BOOL  ,
(HANDLE, UCHAR)   
)
static
static WUTIL_FUNC ( pSetFileIoOverlappedRange  ,
BOOL  ,
(HANDLE, PUCHAR, ULONG)   
)
static
static WUTIL_FUNC ( pSetFileValidData  ,
BOOL  ,
(HANDLE, LONGLONG)   
)
static

Variable Documentation

FileControlBlocks fileControlBlocks
static
HANDLE hIOCP
static
ModuleInitState waio_initState
static