zigwin32/win32/devices/communication.zig

772 lines
28 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (92)
//--------------------------------------------------------------------------------
pub const MDM_COMPRESSION = @as(u32, 1);
pub const MDM_ERROR_CONTROL = @as(u32, 2);
pub const MDM_FORCED_EC = @as(u32, 4);
pub const MDM_CELLULAR = @as(u32, 8);
pub const MDM_FLOWCONTROL_HARD = @as(u32, 16);
pub const MDM_FLOWCONTROL_SOFT = @as(u32, 32);
pub const MDM_CCITT_OVERRIDE = @as(u32, 64);
pub const MDM_SPEED_ADJUST = @as(u32, 128);
pub const MDM_TONE_DIAL = @as(u32, 256);
pub const MDM_BLIND_DIAL = @as(u32, 512);
pub const MDM_V23_OVERRIDE = @as(u32, 1024);
pub const MDM_DIAGNOSTICS = @as(u32, 2048);
pub const MDM_MASK_BEARERMODE = @as(u32, 61440);
pub const MDM_SHIFT_BEARERMODE = @as(u32, 12);
pub const MDM_MASK_PROTOCOLID = @as(u32, 983040);
pub const MDM_SHIFT_PROTOCOLID = @as(u32, 16);
pub const MDM_MASK_PROTOCOLDATA = @as(u32, 267386880);
pub const MDM_SHIFT_PROTOCOLDATA = @as(u32, 20);
pub const MDM_SHIFT_PROTOCOLINFO = @as(u32, 16);
pub const MDM_SHIFT_EXTENDEDINFO = @as(u32, 12);
pub const MDM_BEARERMODE_ANALOG = @as(u32, 0);
pub const MDM_BEARERMODE_ISDN = @as(u32, 1);
pub const MDM_BEARERMODE_GSM = @as(u32, 2);
pub const MDM_PROTOCOLID_DEFAULT = @as(u32, 0);
pub const MDM_PROTOCOLID_HDLCPPP = @as(u32, 1);
pub const MDM_PROTOCOLID_V128 = @as(u32, 2);
pub const MDM_PROTOCOLID_X75 = @as(u32, 3);
pub const MDM_PROTOCOLID_V110 = @as(u32, 4);
pub const MDM_PROTOCOLID_V120 = @as(u32, 5);
pub const MDM_PROTOCOLID_AUTO = @as(u32, 6);
pub const MDM_PROTOCOLID_ANALOG = @as(u32, 7);
pub const MDM_PROTOCOLID_GPRS = @as(u32, 8);
pub const MDM_PROTOCOLID_PIAFS = @as(u32, 9);
pub const MDM_SHIFT_HDLCPPP_SPEED = @as(u32, 0);
pub const MDM_MASK_HDLCPPP_SPEED = @as(u32, 7);
pub const MDM_HDLCPPP_SPEED_DEFAULT = @as(u32, 0);
pub const MDM_HDLCPPP_SPEED_64K = @as(u32, 1);
pub const MDM_HDLCPPP_SPEED_56K = @as(u32, 2);
pub const MDM_SHIFT_HDLCPPP_AUTH = @as(u32, 3);
pub const MDM_HDLCPPP_AUTH_DEFAULT = @as(u32, 0);
pub const MDM_HDLCPPP_AUTH_NONE = @as(u32, 1);
pub const MDM_HDLCPPP_AUTH_PAP = @as(u32, 2);
pub const MDM_HDLCPPP_AUTH_CHAP = @as(u32, 3);
pub const MDM_HDLCPPP_AUTH_MSCHAP = @as(u32, 4);
pub const MDM_SHIFT_HDLCPPP_ML = @as(u32, 6);
pub const MDM_HDLCPPP_ML_DEFAULT = @as(u32, 0);
pub const MDM_HDLCPPP_ML_NONE = @as(u32, 1);
pub const MDM_HDLCPPP_ML_2 = @as(u32, 2);
pub const MDM_SHIFT_V120_SPEED = @as(u32, 0);
pub const MDM_MASK_V120_SPEED = @as(u32, 7);
pub const MDM_V120_SPEED_DEFAULT = @as(u32, 0);
pub const MDM_V120_SPEED_64K = @as(u32, 1);
pub const MDM_V120_SPEED_56K = @as(u32, 2);
pub const MDM_SHIFT_V120_ML = @as(u32, 6);
pub const MDM_V120_ML_DEFAULT = @as(u32, 0);
pub const MDM_V120_ML_NONE = @as(u32, 1);
pub const MDM_V120_ML_2 = @as(u32, 2);
pub const MDM_SHIFT_X75_DATA = @as(u32, 0);
pub const MDM_MASK_X75_DATA = @as(u32, 7);
pub const MDM_X75_DATA_DEFAULT = @as(u32, 0);
pub const MDM_X75_DATA_64K = @as(u32, 1);
pub const MDM_X75_DATA_128K = @as(u32, 2);
pub const MDM_X75_DATA_T_70 = @as(u32, 3);
pub const MDM_X75_DATA_BTX = @as(u32, 4);
pub const MDM_SHIFT_V110_SPEED = @as(u32, 0);
pub const MDM_MASK_V110_SPEED = @as(u32, 15);
pub const MDM_V110_SPEED_DEFAULT = @as(u32, 0);
pub const MDM_V110_SPEED_1DOT2K = @as(u32, 1);
pub const MDM_V110_SPEED_2DOT4K = @as(u32, 2);
pub const MDM_V110_SPEED_4DOT8K = @as(u32, 3);
pub const MDM_V110_SPEED_9DOT6K = @as(u32, 4);
pub const MDM_V110_SPEED_12DOT0K = @as(u32, 5);
pub const MDM_V110_SPEED_14DOT4K = @as(u32, 6);
pub const MDM_V110_SPEED_19DOT2K = @as(u32, 7);
pub const MDM_V110_SPEED_28DOT8K = @as(u32, 8);
pub const MDM_V110_SPEED_38DOT4K = @as(u32, 9);
pub const MDM_V110_SPEED_57DOT6K = @as(u32, 10);
pub const MDM_SHIFT_AUTO_SPEED = @as(u32, 0);
pub const MDM_MASK_AUTO_SPEED = @as(u32, 7);
pub const MDM_AUTO_SPEED_DEFAULT = @as(u32, 0);
pub const MDM_SHIFT_AUTO_ML = @as(u32, 6);
pub const MDM_AUTO_ML_DEFAULT = @as(u32, 0);
pub const MDM_AUTO_ML_NONE = @as(u32, 1);
pub const MDM_AUTO_ML_2 = @as(u32, 2);
pub const MDM_ANALOG_RLP_ON = @as(u32, 0);
pub const MDM_ANALOG_RLP_OFF = @as(u32, 1);
pub const MDM_ANALOG_V34 = @as(u32, 2);
pub const MDM_PIAFS_INCOMING = @as(u32, 0);
pub const MDM_PIAFS_OUTGOING = @as(u32, 1);
pub const SID_3GPP_SUPSVCMODEL = Guid.initString("d7d08e07-d767-4478-b14a-eecc87ea12f7");
pub const MAXLENGTH_NAI = @as(u32, 72);
pub const MAXLENGTH_UICCDATASTORE = @as(u32, 10);
//--------------------------------------------------------------------------------
// Section: Types (20)
//--------------------------------------------------------------------------------
pub const MODEM_STATUS_FLAGS = enum(u32) {
CTS_ON = 16,
DSR_ON = 32,
RING_ON = 64,
RLSD_ON = 128,
_,
pub fn initFlags(o: struct {
CTS_ON: u1 = 0,
DSR_ON: u1 = 0,
RING_ON: u1 = 0,
RLSD_ON: u1 = 0,
}) MODEM_STATUS_FLAGS {
return @as(MODEM_STATUS_FLAGS, @enumFromInt(
(if (o.CTS_ON == 1) @intFromEnum(MODEM_STATUS_FLAGS.CTS_ON) else 0)
| (if (o.DSR_ON == 1) @intFromEnum(MODEM_STATUS_FLAGS.DSR_ON) else 0)
| (if (o.RING_ON == 1) @intFromEnum(MODEM_STATUS_FLAGS.RING_ON) else 0)
| (if (o.RLSD_ON == 1) @intFromEnum(MODEM_STATUS_FLAGS.RLSD_ON) else 0)
));
}
};
pub const MS_CTS_ON = MODEM_STATUS_FLAGS.CTS_ON;
pub const MS_DSR_ON = MODEM_STATUS_FLAGS.DSR_ON;
pub const MS_RING_ON = MODEM_STATUS_FLAGS.RING_ON;
pub const MS_RLSD_ON = MODEM_STATUS_FLAGS.RLSD_ON;
pub const CLEAR_COMM_ERROR_FLAGS = enum(u32) {
BREAK = 16,
FRAME = 8,
OVERRUN = 2,
RXOVER = 1,
RXPARITY = 4,
_,
pub fn initFlags(o: struct {
BREAK: u1 = 0,
FRAME: u1 = 0,
OVERRUN: u1 = 0,
RXOVER: u1 = 0,
RXPARITY: u1 = 0,
}) CLEAR_COMM_ERROR_FLAGS {
return @as(CLEAR_COMM_ERROR_FLAGS, @enumFromInt(
(if (o.BREAK == 1) @intFromEnum(CLEAR_COMM_ERROR_FLAGS.BREAK) else 0)
| (if (o.FRAME == 1) @intFromEnum(CLEAR_COMM_ERROR_FLAGS.FRAME) else 0)
| (if (o.OVERRUN == 1) @intFromEnum(CLEAR_COMM_ERROR_FLAGS.OVERRUN) else 0)
| (if (o.RXOVER == 1) @intFromEnum(CLEAR_COMM_ERROR_FLAGS.RXOVER) else 0)
| (if (o.RXPARITY == 1) @intFromEnum(CLEAR_COMM_ERROR_FLAGS.RXPARITY) else 0)
));
}
};
pub const CE_BREAK = CLEAR_COMM_ERROR_FLAGS.BREAK;
pub const CE_FRAME = CLEAR_COMM_ERROR_FLAGS.FRAME;
pub const CE_OVERRUN = CLEAR_COMM_ERROR_FLAGS.OVERRUN;
pub const CE_RXOVER = CLEAR_COMM_ERROR_FLAGS.RXOVER;
pub const CE_RXPARITY = CLEAR_COMM_ERROR_FLAGS.RXPARITY;
pub const PURGE_COMM_FLAGS = enum(u32) {
RXABORT = 2,
RXCLEAR = 8,
TXABORT = 1,
TXCLEAR = 4,
_,
pub fn initFlags(o: struct {
RXABORT: u1 = 0,
RXCLEAR: u1 = 0,
TXABORT: u1 = 0,
TXCLEAR: u1 = 0,
}) PURGE_COMM_FLAGS {
return @as(PURGE_COMM_FLAGS, @enumFromInt(
(if (o.RXABORT == 1) @intFromEnum(PURGE_COMM_FLAGS.RXABORT) else 0)
| (if (o.RXCLEAR == 1) @intFromEnum(PURGE_COMM_FLAGS.RXCLEAR) else 0)
| (if (o.TXABORT == 1) @intFromEnum(PURGE_COMM_FLAGS.TXABORT) else 0)
| (if (o.TXCLEAR == 1) @intFromEnum(PURGE_COMM_FLAGS.TXCLEAR) else 0)
));
}
};
pub const PURGE_RXABORT = PURGE_COMM_FLAGS.RXABORT;
pub const PURGE_RXCLEAR = PURGE_COMM_FLAGS.RXCLEAR;
pub const PURGE_TXABORT = PURGE_COMM_FLAGS.TXABORT;
pub const PURGE_TXCLEAR = PURGE_COMM_FLAGS.TXCLEAR;
pub const COMM_EVENT_MASK = enum(u32) {
BREAK = 64,
CTS = 8,
DSR = 16,
ERR = 128,
EVENT1 = 2048,
EVENT2 = 4096,
PERR = 512,
RING = 256,
RLSD = 32,
RX80FULL = 1024,
RXCHAR = 1,
RXFLAG = 2,
TXEMPTY = 4,
_,
pub fn initFlags(o: struct {
BREAK: u1 = 0,
CTS: u1 = 0,
DSR: u1 = 0,
ERR: u1 = 0,
EVENT1: u1 = 0,
EVENT2: u1 = 0,
PERR: u1 = 0,
RING: u1 = 0,
RLSD: u1 = 0,
RX80FULL: u1 = 0,
RXCHAR: u1 = 0,
RXFLAG: u1 = 0,
TXEMPTY: u1 = 0,
}) COMM_EVENT_MASK {
return @as(COMM_EVENT_MASK, @enumFromInt(
(if (o.BREAK == 1) @intFromEnum(COMM_EVENT_MASK.BREAK) else 0)
| (if (o.CTS == 1) @intFromEnum(COMM_EVENT_MASK.CTS) else 0)
| (if (o.DSR == 1) @intFromEnum(COMM_EVENT_MASK.DSR) else 0)
| (if (o.ERR == 1) @intFromEnum(COMM_EVENT_MASK.ERR) else 0)
| (if (o.EVENT1 == 1) @intFromEnum(COMM_EVENT_MASK.EVENT1) else 0)
| (if (o.EVENT2 == 1) @intFromEnum(COMM_EVENT_MASK.EVENT2) else 0)
| (if (o.PERR == 1) @intFromEnum(COMM_EVENT_MASK.PERR) else 0)
| (if (o.RING == 1) @intFromEnum(COMM_EVENT_MASK.RING) else 0)
| (if (o.RLSD == 1) @intFromEnum(COMM_EVENT_MASK.RLSD) else 0)
| (if (o.RX80FULL == 1) @intFromEnum(COMM_EVENT_MASK.RX80FULL) else 0)
| (if (o.RXCHAR == 1) @intFromEnum(COMM_EVENT_MASK.RXCHAR) else 0)
| (if (o.RXFLAG == 1) @intFromEnum(COMM_EVENT_MASK.RXFLAG) else 0)
| (if (o.TXEMPTY == 1) @intFromEnum(COMM_EVENT_MASK.TXEMPTY) else 0)
));
}
};
pub const EV_BREAK = COMM_EVENT_MASK.BREAK;
pub const EV_CTS = COMM_EVENT_MASK.CTS;
pub const EV_DSR = COMM_EVENT_MASK.DSR;
pub const EV_ERR = COMM_EVENT_MASK.ERR;
pub const EV_EVENT1 = COMM_EVENT_MASK.EVENT1;
pub const EV_EVENT2 = COMM_EVENT_MASK.EVENT2;
pub const EV_PERR = COMM_EVENT_MASK.PERR;
pub const EV_RING = COMM_EVENT_MASK.RING;
pub const EV_RLSD = COMM_EVENT_MASK.RLSD;
pub const EV_RX80FULL = COMM_EVENT_MASK.RX80FULL;
pub const EV_RXCHAR = COMM_EVENT_MASK.RXCHAR;
pub const EV_RXFLAG = COMM_EVENT_MASK.RXFLAG;
pub const EV_TXEMPTY = COMM_EVENT_MASK.TXEMPTY;
pub const ESCAPE_COMM_FUNCTION = enum(u32) {
CLRBREAK = 9,
CLRDTR = 6,
CLRRTS = 4,
SETBREAK = 8,
SETDTR = 5,
SETRTS = 3,
SETXOFF = 1,
SETXON = 2,
};
pub const CLRBREAK = ESCAPE_COMM_FUNCTION.CLRBREAK;
pub const CLRDTR = ESCAPE_COMM_FUNCTION.CLRDTR;
pub const CLRRTS = ESCAPE_COMM_FUNCTION.CLRRTS;
pub const SETBREAK = ESCAPE_COMM_FUNCTION.SETBREAK;
pub const SETDTR = ESCAPE_COMM_FUNCTION.SETDTR;
pub const SETRTS = ESCAPE_COMM_FUNCTION.SETRTS;
pub const SETXOFF = ESCAPE_COMM_FUNCTION.SETXOFF;
pub const SETXON = ESCAPE_COMM_FUNCTION.SETXON;
pub const MODEMDEVCAPS_DIAL_OPTIONS = enum(u32) {
BILLING = 64,
DIALTONE = 256,
QUIET = 128,
_,
pub fn initFlags(o: struct {
BILLING: u1 = 0,
DIALTONE: u1 = 0,
QUIET: u1 = 0,
}) MODEMDEVCAPS_DIAL_OPTIONS {
return @as(MODEMDEVCAPS_DIAL_OPTIONS, @enumFromInt(
(if (o.BILLING == 1) @intFromEnum(MODEMDEVCAPS_DIAL_OPTIONS.BILLING) else 0)
| (if (o.DIALTONE == 1) @intFromEnum(MODEMDEVCAPS_DIAL_OPTIONS.DIALTONE) else 0)
| (if (o.QUIET == 1) @intFromEnum(MODEMDEVCAPS_DIAL_OPTIONS.QUIET) else 0)
));
}
};
pub const DIALOPTION_BILLING = MODEMDEVCAPS_DIAL_OPTIONS.BILLING;
pub const DIALOPTION_DIALTONE = MODEMDEVCAPS_DIAL_OPTIONS.DIALTONE;
pub const DIALOPTION_QUIET = MODEMDEVCAPS_DIAL_OPTIONS.QUIET;
pub const MODEMSETTINGS_SPEAKER_MODE = enum(u32) {
CALLSETUP = 8,
DIAL = 2,
OFF = 1,
ON = 4,
};
pub const MDMSPKR_CALLSETUP = MODEMSETTINGS_SPEAKER_MODE.CALLSETUP;
pub const MDMSPKR_DIAL = MODEMSETTINGS_SPEAKER_MODE.DIAL;
pub const MDMSPKR_OFF = MODEMSETTINGS_SPEAKER_MODE.OFF;
pub const MDMSPKR_ON = MODEMSETTINGS_SPEAKER_MODE.ON;
pub const COMMPROP_STOP_PARITY = enum(u16) {
STOPBITS_10 = 1,
STOPBITS_15 = 2,
STOPBITS_20 = 4,
PARITY_NONE = 256,
PARITY_ODD = 512,
PARITY_EVEN = 1024,
PARITY_MARK = 2048,
PARITY_SPACE = 4096,
_,
pub fn initFlags(o: struct {
STOPBITS_10: u1 = 0,
STOPBITS_15: u1 = 0,
STOPBITS_20: u1 = 0,
PARITY_NONE: u1 = 0,
PARITY_ODD: u1 = 0,
PARITY_EVEN: u1 = 0,
PARITY_MARK: u1 = 0,
PARITY_SPACE: u1 = 0,
}) COMMPROP_STOP_PARITY {
return @as(COMMPROP_STOP_PARITY, @enumFromInt(
(if (o.STOPBITS_10 == 1) @intFromEnum(COMMPROP_STOP_PARITY.STOPBITS_10) else 0)
| (if (o.STOPBITS_15 == 1) @intFromEnum(COMMPROP_STOP_PARITY.STOPBITS_15) else 0)
| (if (o.STOPBITS_20 == 1) @intFromEnum(COMMPROP_STOP_PARITY.STOPBITS_20) else 0)
| (if (o.PARITY_NONE == 1) @intFromEnum(COMMPROP_STOP_PARITY.PARITY_NONE) else 0)
| (if (o.PARITY_ODD == 1) @intFromEnum(COMMPROP_STOP_PARITY.PARITY_ODD) else 0)
| (if (o.PARITY_EVEN == 1) @intFromEnum(COMMPROP_STOP_PARITY.PARITY_EVEN) else 0)
| (if (o.PARITY_MARK == 1) @intFromEnum(COMMPROP_STOP_PARITY.PARITY_MARK) else 0)
| (if (o.PARITY_SPACE == 1) @intFromEnum(COMMPROP_STOP_PARITY.PARITY_SPACE) else 0)
));
}
};
pub const STOPBITS_10 = COMMPROP_STOP_PARITY.STOPBITS_10;
pub const STOPBITS_15 = COMMPROP_STOP_PARITY.STOPBITS_15;
pub const STOPBITS_20 = COMMPROP_STOP_PARITY.STOPBITS_20;
pub const PARITY_NONE = COMMPROP_STOP_PARITY.PARITY_NONE;
pub const PARITY_ODD = COMMPROP_STOP_PARITY.PARITY_ODD;
pub const PARITY_EVEN = COMMPROP_STOP_PARITY.PARITY_EVEN;
pub const PARITY_MARK = COMMPROP_STOP_PARITY.PARITY_MARK;
pub const PARITY_SPACE = COMMPROP_STOP_PARITY.PARITY_SPACE;
pub const MODEM_SPEAKER_VOLUME = enum(u32) {
HIGH = 2,
LOW = 0,
MEDIUM = 1,
};
pub const MDMVOL_HIGH = MODEM_SPEAKER_VOLUME.HIGH;
pub const MDMVOL_LOW = MODEM_SPEAKER_VOLUME.LOW;
pub const MDMVOL_MEDIUM = MODEM_SPEAKER_VOLUME.MEDIUM;
pub const MODEMDEVCAPS_SPEAKER_VOLUME = enum(u32) {
HIGH = 4,
LOW = 1,
MEDIUM = 2,
_,
pub fn initFlags(o: struct {
HIGH: u1 = 0,
LOW: u1 = 0,
MEDIUM: u1 = 0,
}) MODEMDEVCAPS_SPEAKER_VOLUME {
return @as(MODEMDEVCAPS_SPEAKER_VOLUME, @enumFromInt(
(if (o.HIGH == 1) @intFromEnum(MODEMDEVCAPS_SPEAKER_VOLUME.HIGH) else 0)
| (if (o.LOW == 1) @intFromEnum(MODEMDEVCAPS_SPEAKER_VOLUME.LOW) else 0)
| (if (o.MEDIUM == 1) @intFromEnum(MODEMDEVCAPS_SPEAKER_VOLUME.MEDIUM) else 0)
));
}
};
pub const MDMVOLFLAG_HIGH = MODEMDEVCAPS_SPEAKER_VOLUME.HIGH;
pub const MDMVOLFLAG_LOW = MODEMDEVCAPS_SPEAKER_VOLUME.LOW;
pub const MDMVOLFLAG_MEDIUM = MODEMDEVCAPS_SPEAKER_VOLUME.MEDIUM;
pub const MODEMDEVCAPS_SPEAKER_MODE = enum(u32) {
CALLSETUP = 8,
DIAL = 2,
OFF = 1,
ON = 4,
_,
pub fn initFlags(o: struct {
CALLSETUP: u1 = 0,
DIAL: u1 = 0,
OFF: u1 = 0,
ON: u1 = 0,
}) MODEMDEVCAPS_SPEAKER_MODE {
return @as(MODEMDEVCAPS_SPEAKER_MODE, @enumFromInt(
(if (o.CALLSETUP == 1) @intFromEnum(MODEMDEVCAPS_SPEAKER_MODE.CALLSETUP) else 0)
| (if (o.DIAL == 1) @intFromEnum(MODEMDEVCAPS_SPEAKER_MODE.DIAL) else 0)
| (if (o.OFF == 1) @intFromEnum(MODEMDEVCAPS_SPEAKER_MODE.OFF) else 0)
| (if (o.ON == 1) @intFromEnum(MODEMDEVCAPS_SPEAKER_MODE.ON) else 0)
));
}
};
pub const MDMSPKRFLAG_CALLSETUP = MODEMDEVCAPS_SPEAKER_MODE.CALLSETUP;
pub const MDMSPKRFLAG_DIAL = MODEMDEVCAPS_SPEAKER_MODE.DIAL;
pub const MDMSPKRFLAG_OFF = MODEMDEVCAPS_SPEAKER_MODE.OFF;
pub const MDMSPKRFLAG_ON = MODEMDEVCAPS_SPEAKER_MODE.ON;
pub const DCB_STOP_BITS = enum(u8) {
ONESTOPBIT = 0,
ONE5STOPBITS = 1,
TWOSTOPBITS = 2,
};
pub const ONESTOPBIT = DCB_STOP_BITS.ONESTOPBIT;
pub const ONE5STOPBITS = DCB_STOP_BITS.ONE5STOPBITS;
pub const TWOSTOPBITS = DCB_STOP_BITS.TWOSTOPBITS;
pub const DCB_PARITY = enum(u8) {
EVENPARITY = 2,
MARKPARITY = 3,
NOPARITY = 0,
ODDPARITY = 1,
SPACEPARITY = 4,
};
pub const EVENPARITY = DCB_PARITY.EVENPARITY;
pub const MARKPARITY = DCB_PARITY.MARKPARITY;
pub const NOPARITY = DCB_PARITY.NOPARITY;
pub const ODDPARITY = DCB_PARITY.ODDPARITY;
pub const SPACEPARITY = DCB_PARITY.SPACEPARITY;
pub const MODEMDEVCAPS = extern struct {
dwActualSize: u32,
dwRequiredSize: u32,
dwDevSpecificOffset: u32,
dwDevSpecificSize: u32,
dwModemProviderVersion: u32,
dwModemManufacturerOffset: u32,
dwModemManufacturerSize: u32,
dwModemModelOffset: u32,
dwModemModelSize: u32,
dwModemVersionOffset: u32,
dwModemVersionSize: u32,
dwDialOptions: MODEMDEVCAPS_DIAL_OPTIONS,
dwCallSetupFailTimer: u32,
dwInactivityTimeout: u32,
dwSpeakerVolume: MODEMDEVCAPS_SPEAKER_VOLUME,
dwSpeakerMode: MODEMDEVCAPS_SPEAKER_MODE,
dwModemOptions: u32,
dwMaxDTERate: u32,
dwMaxDCERate: u32,
abVariablePortion: [1]u8,
};
pub const MODEMSETTINGS = extern struct {
dwActualSize: u32,
dwRequiredSize: u32,
dwDevSpecificOffset: u32,
dwDevSpecificSize: u32,
dwCallSetupFailTimer: u32,
dwInactivityTimeout: u32,
dwSpeakerVolume: MODEM_SPEAKER_VOLUME,
dwSpeakerMode: MODEMSETTINGS_SPEAKER_MODE,
dwPreferredModemOptions: u32,
dwNegotiatedModemOptions: u32,
dwNegotiatedDCERate: u32,
abVariablePortion: [1]u8,
};
pub const COMMPROP = extern struct {
wPacketLength: u16,
wPacketVersion: u16,
dwServiceMask: u32,
dwReserved1: u32,
dwMaxTxQueue: u32,
dwMaxRxQueue: u32,
dwMaxBaud: u32,
dwProvSubType: u32,
dwProvCapabilities: u32,
dwSettableParams: u32,
dwSettableBaud: u32,
wSettableData: u16,
wSettableStopParity: COMMPROP_STOP_PARITY,
dwCurrentTxQueue: u32,
dwCurrentRxQueue: u32,
dwProvSpec1: u32,
dwProvSpec2: u32,
wcProvChar: [1]u16,
};
pub const COMSTAT = extern struct {
_bitfield: u32,
cbInQue: u32,
cbOutQue: u32,
};
pub const DCB = extern struct {
DCBlength: u32,
BaudRate: u32,
_bitfield: u32,
wReserved: u16,
XonLim: u16,
XoffLim: u16,
ByteSize: u8,
Parity: DCB_PARITY,
StopBits: DCB_STOP_BITS,
XonChar: CHAR,
XoffChar: CHAR,
ErrorChar: CHAR,
EofChar: CHAR,
EvtChar: CHAR,
wReserved1: u16,
};
pub const COMMTIMEOUTS = extern struct {
ReadIntervalTimeout: u32,
ReadTotalTimeoutMultiplier: u32,
ReadTotalTimeoutConstant: u32,
WriteTotalTimeoutMultiplier: u32,
WriteTotalTimeoutConstant: u32,
};
pub const COMMCONFIG = extern struct {
dwSize: u32,
wVersion: u16,
wReserved: u16,
dcb: DCB,
dwProviderSubType: u32,
dwProviderOffset: u32,
dwProviderSize: u32,
wcProviderData: [1]u16,
};
//--------------------------------------------------------------------------------
// Section: Functions (30)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn ClearCommBreak(
hFile: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn ClearCommError(
hFile: ?HANDLE,
lpErrors: ?*CLEAR_COMM_ERROR_FLAGS,
lpStat: ?*COMSTAT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetupComm(
hFile: ?HANDLE,
dwInQueue: u32,
dwOutQueue: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn EscapeCommFunction(
hFile: ?HANDLE,
dwFunc: ESCAPE_COMM_FUNCTION,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetCommConfig(
hCommDev: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpCC: ?*COMMCONFIG,
lpdwSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetCommMask(
hFile: ?HANDLE,
lpEvtMask: ?*COMM_EVENT_MASK,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetCommProperties(
hFile: ?HANDLE,
lpCommProp: ?*COMMPROP,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetCommModemStatus(
hFile: ?HANDLE,
lpModemStat: ?*MODEM_STATUS_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetCommState(
hFile: ?HANDLE,
lpDCB: ?*DCB,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetCommTimeouts(
hFile: ?HANDLE,
lpCommTimeouts: ?*COMMTIMEOUTS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn PurgeComm(
hFile: ?HANDLE,
dwFlags: PURGE_COMM_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetCommBreak(
hFile: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetCommConfig(
hCommDev: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpCC: ?*COMMCONFIG,
dwSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetCommMask(
hFile: ?HANDLE,
dwEvtMask: COMM_EVENT_MASK,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetCommState(
hFile: ?HANDLE,
lpDCB: ?*DCB,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetCommTimeouts(
hFile: ?HANDLE,
lpCommTimeouts: ?*COMMTIMEOUTS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn TransmitCommChar(
hFile: ?HANDLE,
cChar: CHAR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn WaitCommEvent(
hFile: ?HANDLE,
lpEvtMask: ?*COMM_EVENT_MASK,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.16299'
pub extern "api-ms-win-core-comm-l1-1-1" fn OpenCommPort(
uPortNumber: u32,
dwDesiredAccess: u32,
dwFlagsAndAttributes: u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows10.0.17134'
pub extern "api-ms-win-core-comm-l1-1-2" fn GetCommPorts(
lpPortNumbers: [*]u32,
uPortNumbersCount: u32,
puPortNumbersFound: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn BuildCommDCBA(
lpDef: ?[*:0]const u8,
lpDCB: ?*DCB,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn BuildCommDCBW(
lpDef: ?[*:0]const u16,
lpDCB: ?*DCB,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn BuildCommDCBAndTimeoutsA(
lpDef: ?[*:0]const u8,
lpDCB: ?*DCB,
lpCommTimeouts: ?*COMMTIMEOUTS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn BuildCommDCBAndTimeoutsW(
lpDef: ?[*:0]const u16,
lpDCB: ?*DCB,
lpCommTimeouts: ?*COMMTIMEOUTS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CommConfigDialogA(
lpszName: ?[*:0]const u8,
hWnd: ?HWND,
lpCC: ?*COMMCONFIG,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CommConfigDialogW(
lpszName: ?[*:0]const u16,
hWnd: ?HWND,
lpCC: ?*COMMCONFIG,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetDefaultCommConfigA(
lpszName: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 2?
lpCC: ?*COMMCONFIG,
lpdwSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetDefaultCommConfigW(
lpszName: ?[*:0]const u16,
// TODO: what to do with BytesParamIndex 2?
lpCC: ?*COMMCONFIG,
lpdwSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetDefaultCommConfigA(
lpszName: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 2?
lpCC: ?*COMMCONFIG,
dwSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetDefaultCommConfigW(
lpszName: ?[*:0]const u16,
// TODO: what to do with BytesParamIndex 2?
lpCC: ?*COMMCONFIG,
dwSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (5)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
pub const BuildCommDCB = thismodule.BuildCommDCBA;
pub const BuildCommDCBAndTimeouts = thismodule.BuildCommDCBAndTimeoutsA;
pub const CommConfigDialog = thismodule.CommConfigDialogA;
pub const GetDefaultCommConfig = thismodule.GetDefaultCommConfigA;
pub const SetDefaultCommConfig = thismodule.SetDefaultCommConfigA;
},
.wide => struct {
pub const BuildCommDCB = thismodule.BuildCommDCBW;
pub const BuildCommDCBAndTimeouts = thismodule.BuildCommDCBAndTimeoutsW;
pub const CommConfigDialog = thismodule.CommConfigDialogW;
pub const GetDefaultCommConfig = thismodule.GetDefaultCommConfigW;
pub const SetDefaultCommConfig = thismodule.SetDefaultCommConfigW;
},
.unspecified => if (@import("builtin").is_test) struct {
pub const BuildCommDCB = *opaque{};
pub const BuildCommDCBAndTimeouts = *opaque{};
pub const CommConfigDialog = *opaque{};
pub const GetDefaultCommConfig = *opaque{};
pub const SetDefaultCommConfig = *opaque{};
} else struct {
pub const BuildCommDCB = @compileError("'BuildCommDCB' requires that UNICODE be set to true or false in the root module");
pub const BuildCommDCBAndTimeouts = @compileError("'BuildCommDCBAndTimeouts' requires that UNICODE be set to true or false in the root module");
pub const CommConfigDialog = @compileError("'CommConfigDialog' requires that UNICODE be set to true or false in the root module");
pub const GetDefaultCommConfig = @compileError("'GetDefaultCommConfig' requires that UNICODE be set to true or false in the root module");
pub const SetDefaultCommConfig = @compileError("'SetDefaultCommConfig' requires that UNICODE be set to true or false in the root module");
},
};
//--------------------------------------------------------------------------------
// Section: Imports (8)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const BOOL = @import("../foundation.zig").BOOL;
const CHAR = @import("../foundation.zig").CHAR;
const HANDLE = @import("../foundation.zig").HANDLE;
const HWND = @import("../foundation.zig").HWND;
const OVERLAPPED = @import("../system/io.zig").OVERLAPPED;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;
test {
@setEvalBranchQuota(
comptime @import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("builtin").is_test) return;
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
_ = @field(@This(), decl.name);
}
}