3
//=============================================================================
7
* IPC_SAP.h,v 4.18 2003/07/19 19:04:11 dhinton Exp
9
* @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
11
//=============================================================================
15
#include /**/ "ace/pre.h"
17
#include "ace/Flag_Manip.h"
19
#if !defined (ACE_LACKS_PRAGMA_ONCE)
21
#endif /* ACE_LACKS_PRAGMA_ONCE */
26
* @brief Defines the member functions for the base class of the
27
* ACE_IPC_SAP abstraction.
29
class ACE_Export ACE_IPC_SAP
35
/// Interface for <ioctl>.
36
int control (int cmd, void *) const;
38
// = Common I/O handle options related to sockets.
41
* Enable asynchronous I/O (ACE_SIGIO), urgent data (ACE_SIGURG),
42
* non-blocking I/O (ACE_NONBLOCK), or close-on-exec (ACE_CLOEXEC),
43
* which is passed as the <value>.
45
int enable (int value) const;
48
* Disable asynchronous I/O (ACE_SIGIO), urgent data (ACE_SIGURG),
49
* non-blocking I/O (ACE_NONBLOCK), or close-on-exec (ACE_CLOEXEC),
50
* which is passed as the <value>.
52
int disable (int value) const;
54
/// Get the underlying handle.
55
ACE_HANDLE get_handle (void) const;
57
/// Set the underlying handle.
58
void set_handle (ACE_HANDLE handle);
60
/// Dump the state of an object.
61
void dump (void) const;
63
/// Declare the dynamic allocation hooks.
64
ACE_ALLOC_HOOK_DECLARE;
67
// = Ensure that ACE_IPC_SAP is an abstract base class.
68
/// Default constructor.
72
/// Underlying I/O handle.
75
/// Cache the process ID.
79
#if !defined (ACE_LACKS_INLINE_FUNCTIONS)
80
#include "ace/IPC_SAP.i"
81
#endif /* ACE_LACKS_INLINE_FUNCTIONS */
83
#include /**/ "ace/post.h"
84
#endif /* ACE_IPC_SAP_H */