Changes to attempt to silence bcc64x
[ACE_TAO.git] / ACE / ace / OS_NS_fcntl.h
blob17c7c7d43de04505a03053e1f3208f192cfbcab4
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file OS_NS_fcntl.h
7 * @author Douglas C. Schmidt <d.schmidt@vanderbilt.edu>
8 * @author Jesper S. M|ller<stophph@diku.dk>
9 * @author and a cast of thousands...
11 //=============================================================================
13 #ifndef ACE_OS_NS_FCNTL_H
14 # define ACE_OS_NS_FCNTL_H
16 # include /**/ "ace/pre.h"
18 # include "ace/config-all.h"
20 # if !defined (ACE_LACKS_PRAGMA_ONCE)
21 # pragma once
22 # endif /* ACE_LACKS_PRAGMA_ONCE */
24 #include "ace/os_include/os_fcntl.h"
25 #include "ace/Global_Macros.h" // for LPSECURITY_ATTRIBUTES :-(
26 #include "ace/Default_Constants.h"
27 #include /**/ "ace/ACE_export.h"
29 #if defined (ACE_EXPORT_MACRO)
30 # undef ACE_EXPORT_MACRO
31 #endif
32 #define ACE_EXPORT_MACRO ACE_Export
34 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
36 namespace ACE_OS {
37 ACE_NAMESPACE_INLINE_FUNCTION
38 int fcntl (ACE_HANDLE handle,
39 int cmd,
40 long arg = 0);
42 /// The O_APPEND flag is only partly supported on Win32. If you specify
43 /// O_APPEND, then the file pointer will be positioned at the end of
44 /// the file initially during open, but it is not re-positioned at
45 /// the end prior to each write, as specified by POSIX. This
46 /// is generally good enough for typical situations, but it is ``not
47 /// quite right'' in its semantics.
48 extern ACE_Export
49 ACE_HANDLE open (const char *filename,
50 int mode,
51 mode_t perms = ACE_DEFAULT_OPEN_PERMS,
52 LPSECURITY_ATTRIBUTES sa = 0);
53 #if defined (ACE_HAS_WCHAR)
54 extern ACE_Export
55 ACE_HANDLE open (const wchar_t *filename,
56 int mode,
57 mode_t perms = ACE_DEFAULT_OPEN_PERMS,
58 LPSECURITY_ATTRIBUTES sa = 0);
59 #endif /* ACE_HAS_WCHAR */
61 } /* namespace ACE_OS */
63 ACE_END_VERSIONED_NAMESPACE_DECL
65 # if defined (ACE_HAS_INLINED_OSCALLS)
66 # if defined (ACE_INLINE)
67 # undef ACE_INLINE
68 # endif /* ACE_INLINE */
69 # define ACE_INLINE inline
70 # include "ace/OS_NS_fcntl.inl"
71 # endif /* ACE_HAS_INLINED_OSCALLS */
73 # include /**/ "ace/post.h"
74 #endif /* ACE_OS_NS_FCNTL_H */