CMS 3D CMS Logo

IOPlatformData.h

Go to the documentation of this file.
00001 #ifndef CLASSLIB_SYSAPI_IO_PLATFORM_DATA_H
00002 # define CLASSLIB_SYSAPI_IO_PLATFORM_DATA_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "classlib/sysapi/system.h"
00007 # ifdef _WIN32
00008 #  include <windows.h>
00009 # endif
00010 
00011 namespace lat {
00012 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00013 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00014 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00015 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00016 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00017 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00018 
00019 #ifdef _WIN32
00020 struct IOPlatformData
00021 {
00022     // FIXME: what if we get a random handle and can't do olap?
00023     // FIXME: maintain level-triggered state -- when read ready,
00024     //   maintain it until it would return EWOULDBLOCK, then
00025     //   null it out (similar to write, ...)
00026     // FIXME: simulate unix? files are always ready?
00027     DWORD       m_state;
00028     OVERLAPPED  m_olap;
00029 };
00030 #else
00031 struct IOPlatformData {};
00032 #endif
00033 
00034 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00035 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00036 
00037 } // namespace lat
00038 #endif // CLASSLIB_SYSAPI_IO_PLATFORM_DATA_H

Generated on Tue Jun 9 17:38:52 2009 for CMSSW by  doxygen 1.5.4