OS_NS_fcntl.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   OS_NS_fcntl.h
00006  *
00007  *  OS_NS_fcntl.h,v 1.6 2006/06/22 21:08:14 kitty Exp
00008  *
00009  *  @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
00010  *  @author Jesper S. M|ller<stophph@diku.dk>
00011  *  @author and a cast of thousands...
00012  *
00013  *  Originally in OS.h.
00014  */
00015 //=============================================================================
00016 
00017 #ifndef ACE_OS_NS_FCNTL_H
00018 # define ACE_OS_NS_FCNTL_H
00019 
00020 # include /**/ "ace/pre.h"
00021 
00022 # include "ace/config-all.h"
00023 
00024 # if !defined (ACE_LACKS_PRAGMA_ONCE)
00025 #  pragma once
00026 # endif /* ACE_LACKS_PRAGMA_ONCE */
00027 
00028 #include "ace/os_include/os_fcntl.h"
00029 #include "ace/Global_Macros.h"  // for LPSECURITY_ATTRIBUTES :-(
00030 #include "ace/Default_Constants.h"
00031 #include "ace/ACE_export.h"
00032 
00033 #if defined (ACE_EXPORT_MACRO)
00034 #  undef ACE_EXPORT_MACRO
00035 #endif
00036 #define ACE_EXPORT_MACRO ACE_Export
00037 
00038 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00039 
00040 namespace ACE_OS {
00041 
00042   ACE_NAMESPACE_INLINE_FUNCTION
00043   int fcntl (ACE_HANDLE handle,
00044              int cmd,
00045              long arg = 0);
00046 
00047 #if !defined (ACE_DEFAULT_OPEN_PERMS)
00048 #  define ACE_DEFAULT_OPEN_PERMS ACE_DEFAULT_FILE_PERMS
00049 #endif  /* ACE_DEFAULT_OPEN_PERMS */
00050 
00051   /// The O_APPEND flag is only partly supported on Win32. If you specify
00052   /// O_APPEND, then the file pointer will be positioned at the end of
00053   /// the file initially during open, but it is not re-positioned at
00054   /// the end prior to each write, as specified by POSIX.  This
00055   /// is generally good enough for typical situations, but it is ``not
00056   /// quite right'' in its semantics.
00057   extern ACE_Export
00058   ACE_HANDLE open (const char *filename,
00059                    int mode,
00060                    int perms = ACE_DEFAULT_OPEN_PERMS,
00061                    LPSECURITY_ATTRIBUTES sa = 0);
00062 #if defined (ACE_HAS_WCHAR)
00063   extern ACE_Export
00064   ACE_HANDLE open (const wchar_t *filename,
00065                    int mode,
00066                    int perms = ACE_DEFAULT_OPEN_PERMS,
00067                    LPSECURITY_ATTRIBUTES sa = 0);
00068 #endif /* ACE_HAS_WCHAR */
00069 
00070 } /* namespace ACE_OS */
00071 
00072 ACE_END_VERSIONED_NAMESPACE_DECL
00073 
00074 # if defined (ACE_HAS_INLINED_OSCALLS)
00075 #   if defined (ACE_INLINE)
00076 #     undef ACE_INLINE
00077 #   endif /* ACE_INLINE */
00078 #   define ACE_INLINE inline
00079 #   include "ace/OS_NS_fcntl.inl"
00080 # endif /* ACE_HAS_INLINED_OSCALLS */
00081 
00082 # include /**/ "ace/post.h"
00083 #endif /* ACE_OS_NS_FCNTL_H */

Generated on Thu Nov 9 09:41:57 2006 for ACE by doxygen 1.3.6