• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
  • Files
  • Examples
  • File List

wincall_file.h

00001 /***************************************************************************
00002  *  include/stxxl/bits/io/wincall_file.h
00003  *
00004  *  Part of the STXXL. See http://stxxl.sourceforge.net
00005  *
00006  *  Copyright (C) 2005-2006 Roman Dementiev <[email protected]>
00007  *
00008  *  Distributed under the Boost Software License, Version 1.0.
00009  *  (See accompanying file LICENSE_1_0.txt or copy at
00010  *  http://www.boost.org/LICENSE_1_0.txt)
00011  **************************************************************************/
00012 
00013 #ifndef STXXL_WINCALL_FILE_HEADER
00014 #define STXXL_WINCALL_FILE_HEADER
00015 
00016 #ifdef STXXL_BOOST_CONFIG
00017  #include <boost/config.hpp>
00018 #endif
00019 
00020 #ifdef BOOST_MSVC
00021 
00022 #include <stxxl/bits/io/wfs_file.h>
00023 #include <stxxl/bits/common/debug.h>
00024 
00025 
00026 __STXXL_BEGIN_NAMESPACE
00027 
00030 
00032 class wincall_file : public wfs_file_base
00033 {
00034 public:
00040     wincall_file(
00041         const std::string & filename,
00042         int mode,
00043         int disk = -1);
00044     request_ptr aread(
00045         void * buffer,
00046         stxxl::int64 pos,
00047         size_t bytes,
00048         completion_handler on_cmpl);
00049     request_ptr awrite(
00050         void * buffer,
00051         stxxl::int64 pos,
00052         size_t bytes,
00053         completion_handler on_cmpl);
00054 };
00055 
00057 class wincall_request : public wfs_request_base
00058 {
00059     friend class wincall_file;
00060 
00061 protected:
00062     wincall_request(
00063         wincall_file * f,
00064         void * buf,
00065         stxxl::int64 off,
00066         size_t b,
00067         request_type t,
00068         completion_handler on_cmpl);
00069     void serve();
00070 
00071 public:
00072     const char * io_type();
00073 };
00074 
00076 
00077 __STXXL_END_NAMESPACE
00078 
00079 #endif // #ifdef BOOST_MSVC
00080 
00081 #endif // !STXXL_WINCALL_FILE_HEADER

Generated by  doxygen 1.7.1