/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ #ifndef _MCX_H_ #define _MCX_H_ typedef struct _MODEMDEVCAPS { DWORD dwActualSize; DWORD dwRequiredSize; DWORD dwDevSpecificOffset; DWORD dwDevSpecificSize; DWORD dwModemProviderVersion; DWORD dwModemManufacturerOffset; DWORD dwModemManufacturerSize; DWORD dwModemModelOffset; DWORD dwModemModelSize; DWORD dwModemVersionOffset; DWORD dwModemVersionSize; DWORD dwDialOptions; DWORD dwCallSetupFailTimer; DWORD dwInactivityTimeout; DWORD dwSpeakerVolume; DWORD dwSpeakerMode; DWORD dwModemOptions; DWORD dwMaxDTERate; DWORD dwMaxDCERate; BYTE abVariablePortion[1]; } MODEMDEVCAPS,*PMODEMDEVCAPS,*LPMODEMDEVCAPS; typedef struct _MODEMSETTINGS { DWORD dwActualSize; DWORD dwRequiredSize; DWORD dwDevSpecificOffset; DWORD dwDevSpecificSize; DWORD dwCallSetupFailTimer; DWORD dwInactivityTimeout; DWORD dwSpeakerVolume; DWORD dwSpeakerMode; DWORD dwPreferredModemOptions; DWORD dwNegotiatedModemOptions; DWORD dwNegotiatedDCERate; BYTE abVariablePortion [1]; } MODEMSETTINGS,*PMODEMSETTINGS,*LPMODEMSETTINGS; #define DIALOPTION_BILLING 0x00000040 #define DIALOPTION_QUIET 0x00000080 #define DIALOPTION_DIALTONE 0x00000100 #define MDMVOLFLAG_LOW 0x00000001 #define MDMVOLFLAG_MEDIUM 0x00000002 #define MDMVOLFLAG_HIGH 0x00000004 #define MDMVOL_LOW 0x00000000 #define MDMVOL_MEDIUM 0x00000001 #define MDMVOL_HIGH 0x00000002 #define MDMSPKRFLAG_OFF 0x00000001 #define MDMSPKRFLAG_DIAL 0x00000002 #define MDMSPKRFLAG_ON 0x00000004 #define MDMSPKRFLAG_CALLSETUP 0x00000008 #define MDMSPKR_OFF 0x00000000 #define MDMSPKR_DIAL 0x00000001 #define MDMSPKR_ON 0x00000002 #define MDMSPKR_CALLSETUP 0x00000003 #define MDM_COMPRESSION 0x00000001 #define MDM_ERROR_CONTROL 0x00000002 #define MDM_FORCED_EC 0x00000004 #define MDM_CELLULAR 0x00000008 #define MDM_FLOWCONTROL_HARD 0x00000010 #define MDM_FLOWCONTROL_SOFT 0x00000020 #define MDM_CCITT_OVERRIDE 0x00000040 #define MDM_SPEED_ADJUST 0x00000080 #define MDM_TONE_DIAL 0x00000100 #define MDM_BLIND_DIAL 0x00000200 #define MDM_V23_OVERRIDE 0x00000400 #define MDM_DIAGNOSTICS 0x00000800 #define MDM_MASK_BEARERMODE 0x0000f000 #define MDM_SHIFT_BEARERMODE 12 #define MDM_MASK_PROTOCOLID 0x000f0000 #define MDM_SHIFT_PROTOCOLID 16 #define MDM_MASK_PROTOCOLDATA 0x0ff00000 #define MDM_SHIFT_PROTOCOLDATA 20 #define MDM_MASK_PROTOCOLINFO (MDM_MASK_PROTOCOLID|MDM_MASK_PROTOCOLDATA) #define MDM_SHIFT_PROTOCOLINFO MDM_SHIFT_PROTOCOLID #define MDM_MASK_EXTENDEDINFO (MDM_MASK_BEARERMODE|MDM_MASK_PROTOCOLINFO) #define MDM_SHIFT_EXTENDEDINFO MDM_SHIFT_BEARERMODE #define MDM_GET_BEARERMODE(_dwOptions) (((_dwOptions)&MDM_MASK_BEARERMODE) >> MDM_SHIFT_BEARERMODE) #define MDM_SET_BEARERMODE(_dwOptions,_bm) (((_dwOptions) &= ~MDM_MASK_BEARERMODE),((_dwOptions) |= (((_bm)<> MDM_SHIFT_PROTOCOLID) #define MDM_SET_PROTOCOLID(_dwOptions,_prot) (((_dwOptions) &= ~MDM_MASK_PROTOCOLID),((_dwOptions) |= (((_prot)<> MDM_SHIFT_PROTOCOLDATA) #define MDM_SET_PROTOCOLDATA(_dwOptions,_pd) (((_dwOptions) &= ~MDM_MASK_PROTOCOLDATA),((_dwOptions) |= (((_pd)<