summaryrefslogtreecommitdiff
path: root/ace/IO_Cntl_Msg.h
blob: 7a0fb272cc783978e7f9d6f18adc8fec150bc6c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/* -*- C++ -*- */
// $Id$

// ============================================================================
//
// = LIBRARY
//    ace
// 
// = FILENAME
//    IO_Cntl_Msg.h
//
// = AUTHOR
//    Doug Schmidt 
// 
// ============================================================================

#if !defined (ACE_IO_CNTL_MSG_H)
#define ACE_IO_CNTL_MSG_H

class ACE_Export ACE_IO_Cntl_Msg
  // = TITLE
  //     Data format for IOCTL messages 
{
public:
  enum ACE_IO_Cntl_Cmds
  {
    SET_LWM    = 1, // Set the low water mark.
    GET_LWM    = 2, // Get the low water mark.
    SET_HWM    = 3, // Set the high water mark.
    GET_HWM    = 4, // Get the high water mark.
    MOD_LINK   = 5, // Link modules
    MOD_UNLINK = 6  // Unlink modules
  };

  // = Initialization method.
  ACE_IO_Cntl_Msg (ACE_IO_Cntl_Cmds c) { this->cmd_ = c; }
  // Initialize the control message.

  // = Get/set methods

  ACE_IO_Cntl_Cmds cmd (void) { return this->cmd_; }
  // Get command.

  void cmd (ACE_IO_Cntl_Cmds c) { this->cmd_ = c; }
  // Set command.

  size_t count (void) { return this->count_; }
  // Get count.

  void count (size_t c) { this->count_ = c; }
  // Set count.

  int error (void) { return this->error_; }
  // Get error.

  void error (int e) { this->error_ = e; }
  // Set error.

  int rval (void) { return this->rval_; }
  // Get return value.

  void rval (int r) { this->rval_ = r; }
  // Set return value.

  void dump (void) const;
  // Dump the state of an object.

  ACE_ALLOC_HOOK_DECLARE;
  // Declare the dynamic allocation hooks.

private:
  ACE_IO_Cntl_Cmds cmd_;
  // Command.

  size_t count_;
  // Count.

  int error_;
  // Error.

  int rval_;
  // Return value
};

#endif /* ACE_IO_CNTL_MSG_H */