IO_Cntl_Msg.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //==========================================================================
00004 /**
00005  *  @file    IO_Cntl_Msg.h
00006  *
00007  *  IO_Cntl_Msg.h,v 4.15 2005/10/28 16:14:52 ossama Exp
00008  *
00009  *  @author Doug Schmidt
00010  */
00011 //==========================================================================
00012 
00013 
00014 #ifndef ACE_IO_CNTL_MSG_H
00015 #define ACE_IO_CNTL_MSG_H
00016 
00017 #include /**/ "ace/pre.h"
00018 
00019 #include "ace/ACE_export.h"
00020 #include "ace/os_include/os_stddef.h"
00021 
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif /* ACE_LACKS_PRAGMA_ONCE */
00025 
00026 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00027 
00028 /**
00029  * @class ACE_IO_Cntl_Msg
00030  *
00031  * @brief Data format for IOCTL messages
00032  */
00033 class ACE_Export ACE_IO_Cntl_Msg
00034 {
00035 public:
00036   enum
00037   {
00038     /// Set the low water mark.
00039     SET_LWM    = 1,
00040     /// Get the low water mark.
00041     GET_LWM    = 2,
00042     /// Set the high water mark.
00043     SET_HWM    = 3,
00044     /// Get the high water mark.
00045     GET_HWM    = 4,
00046     /// Link modules
00047     MOD_LINK   = 5,
00048     /// Unlink modules
00049     MOD_UNLINK = 6
00050   };
00051 
00052   typedef unsigned short ACE_IO_Cntl_Cmds;
00053 
00054   // = Initialization method.
00055   /// Initialize the control message.
00056   ACE_IO_Cntl_Msg (ACE_IO_Cntl_Cmds c);
00057 
00058   // = Get/set methods
00059 
00060   /// Get command.
00061   ACE_IO_Cntl_Cmds cmd (void);
00062 
00063   /// Set command.
00064   void cmd (ACE_IO_Cntl_Cmds c);
00065 
00066   /// Get count.
00067   size_t count (void);
00068 
00069   /// Set count.
00070   void count (size_t c);
00071 
00072   /// Get error.
00073   int error (void);
00074 
00075   /// Set error.
00076   void error (int e);
00077 
00078   /// Get return value.
00079   int rval (void);
00080 
00081   /// Set return value.
00082   void rval (int r);
00083 
00084   /// Dump the state of an object.
00085   void dump (void) const;
00086 
00087   /// Declare the dynamic allocation hooks.
00088   ACE_ALLOC_HOOK_DECLARE;
00089 
00090 private:
00091   /// Command.
00092   ACE_IO_Cntl_Cmds cmd_;
00093 
00094   /// Count.
00095   size_t count_;
00096 
00097   /// Error.
00098   int error_;
00099 
00100   /// Return value
00101   int rval_;
00102 };
00103 
00104 ACE_END_VERSIONED_NAMESPACE_DECL
00105 
00106 #if defined (__ACE_INLINE__)
00107 #include "ace/IO_Cntl_Msg.inl"
00108 #endif /* __ACE_INLINE__ */
00109 
00110 #include /**/ "ace/post.h"
00111 
00112 #endif /* ACE_IO_CNTL_MSG_H */

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