home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / mcx.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  4KB  |  103 lines

  1. /************************************************************************
  2. *                                                                       *
  3. *   mcx.h -- This module defines the 32-Bit Windows MCX APIs            *
  4. *                                                                       *
  5. *   Copyright 1990 - 1998 Microsoft Corp. All rights reserved.       *
  6. *                                                                       *
  7. ************************************************************************/
  8.  
  9. #ifndef _MCX_H_
  10. #define _MCX_H_
  11.  
  12. typedef struct _MODEMDEVCAPS {
  13.     DWORD   dwActualSize;
  14.     DWORD   dwRequiredSize;
  15.     DWORD   dwDevSpecificOffset;
  16.     DWORD   dwDevSpecificSize;
  17.  
  18.     // product and version identification
  19.     DWORD   dwModemProviderVersion;
  20.     DWORD   dwModemManufacturerOffset;
  21.     DWORD   dwModemManufacturerSize;
  22.     DWORD   dwModemModelOffset;
  23.     DWORD   dwModemModelSize;
  24.     DWORD   dwModemVersionOffset;
  25.     DWORD   dwModemVersionSize;
  26.  
  27.     // local option capabilities
  28.     DWORD   dwDialOptions;          // bitmap of supported values
  29.     DWORD   dwCallSetupFailTimer;   // maximum in seconds
  30.     DWORD   dwInactivityTimeout;    // maximum in seconds
  31.     DWORD   dwSpeakerVolume;        // bitmap of supported values
  32.     DWORD   dwSpeakerMode;          // bitmap of supported values
  33.     DWORD   dwModemOptions;         // bitmap of supported values
  34.     DWORD   dwMaxDTERate;           // maximum value in bit/s
  35.     DWORD   dwMaxDCERate;           // maximum value in bit/s
  36.  
  37.     // Variable portion for proprietary expansion
  38.     BYTE    abVariablePortion [1];
  39. } MODEMDEVCAPS, *PMODEMDEVCAPS, *LPMODEMDEVCAPS;
  40.  
  41. typedef struct _MODEMSETTINGS {
  42.     DWORD   dwActualSize;
  43.     DWORD   dwRequiredSize;
  44.     DWORD   dwDevSpecificOffset;
  45.     DWORD   dwDevSpecificSize;
  46.  
  47.     // static local options (read/write)
  48.     DWORD   dwCallSetupFailTimer;       // seconds
  49.     DWORD   dwInactivityTimeout;        // seconds
  50.     DWORD   dwSpeakerVolume;            // level
  51.     DWORD   dwSpeakerMode;              // mode
  52.     DWORD   dwPreferredModemOptions;    // bitmap
  53.  
  54.     // negotiated options (read only) for current or last call
  55.     DWORD   dwNegotiatedModemOptions;   // bitmap
  56.     DWORD   dwNegotiatedDCERate;        // bit/s
  57.  
  58.     // Variable portion for proprietary expansion
  59.     BYTE    abVariablePortion [1];
  60. } MODEMSETTINGS, *PMODEMSETTINGS, *LPMODEMSETTINGS;
  61.  
  62. // Dial Options
  63. #define DIALOPTION_BILLING  0x00000040  // Supports wait for bong "$"
  64. #define DIALOPTION_QUIET    0x00000080  // Supports wait for quiet "@"
  65. #define DIALOPTION_DIALTONE 0x00000100  // Supports wait for dial tone "W"
  66.  
  67. // SpeakerVolume for MODEMDEVCAPS
  68. #define MDMVOLFLAG_LOW      0x00000001
  69. #define MDMVOLFLAG_MEDIUM   0x00000002
  70. #define MDMVOLFLAG_HIGH     0x00000004
  71.  
  72. // SpeakerVolume for MODEMSETTINGS
  73. #define MDMVOL_LOW          0x00000000
  74. #define MDMVOL_MEDIUM       0x00000001
  75. #define MDMVOL_HIGH         0x00000002
  76.  
  77. // SpeakerMode for MODEMDEVCAPS
  78. #define MDMSPKRFLAG_OFF         0x00000001
  79. #define MDMSPKRFLAG_DIAL        0x00000002
  80. #define MDMSPKRFLAG_ON          0x00000004
  81. #define MDMSPKRFLAG_CALLSETUP   0x00000008
  82.  
  83. // SpeakerMode for MODEMSETTINGS
  84. #define MDMSPKR_OFF         0x00000000
  85. #define MDMSPKR_DIAL        0x00000001
  86. #define MDMSPKR_ON          0x00000002
  87. #define MDMSPKR_CALLSETUP   0x00000003
  88.  
  89. // Modem Options
  90. #define MDM_COMPRESSION      0x00000001
  91. #define MDM_ERROR_CONTROL    0x00000002
  92. #define MDM_FORCED_EC        0x00000004
  93. #define MDM_CELLULAR         0x00000008
  94. #define MDM_FLOWCONTROL_HARD 0x00000010
  95. #define MDM_FLOWCONTROL_SOFT 0x00000020
  96. #define MDM_CCITT_OVERRIDE   0x00000040
  97. #define MDM_SPEED_ADJUST     0x00000080
  98. #define MDM_TONE_DIAL        0x00000100
  99. #define MDM_BLIND_DIAL       0x00000200
  100. #define MDM_V23_OVERRIDE     0x00000400
  101.  
  102. #endif /* _MCX_H_ */
  103.