/*++ Copyright (c) Microsoft Corporation. All rights reserved. Module Name: UcmTcpciPortControllerRequests.h Abstract: UCM-TCPCI Port Controller hardware request definitions. Environment: Kernel-mode. --*/ // // NOTE: This header is generated by stubwork. Please make any // modifications to the corresponding template files // (.x or .y) and use stubwork to regenerate the header // #ifndef _UCMTCPCIPORTCONTROLLERREQUESTS_H_ #define _UCMTCPCIPORTCONTROLLERREQUESTS_H_ #ifndef WDF_EXTERN_C #ifdef __cplusplus #define WDF_EXTERN_C extern "C" #define WDF_EXTERN_C_START extern "C" { #define WDF_EXTERN_C_END } #else #define WDF_EXTERN_C #define WDF_EXTERN_C_START #define WDF_EXTERN_C_END #endif #endif WDF_EXTERN_C_START // Note: These IOCTL numbers are subject to change in the future. #define IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x0, \ METHOD_BUFFERED, \ FILE_READ_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x2, \ METHOD_BUFFERED, \ FILE_READ_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONTROL \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x3, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x4, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x5, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x7, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x8, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_COMMAND \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x11, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x13, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x15, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x16, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x17, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x18, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) #define IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED \ CTL_CODE(FILE_DEVICE_UCMTCPCI, \ 0x19, \ METHOD_BUFFERED, \ FILE_WRITE_ACCESS) // An enum defined to make it convenient to pretty-print the IOCTL name // in WPP. typedef enum _UCMTCPCI_PORT_CONTROLLER_IOCTL { _IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS = IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS, _IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL = IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL, _IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONTROL = IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONTROL, _IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT = IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT, _IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER = IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER, _IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT = IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT, _IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT = IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT, _IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_COMMAND = IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_COMMAND, _IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO = IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO, _IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED = IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED, _IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED = IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED, _IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED = IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED, _IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED = IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED, _IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED = IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED, } UCMTCPCI_PORT_CONTROLLER_IOCTL; typedef enum _UCMTCPCI_PORT_CONTROLLER_CONTROL_TYPE { UcmTcpciPortControllerControlInvalid = 0x0, UcmTcpciPortControllerTcpcControl, UcmTcpciPortControllerRoleControl, UcmTcpciPortControllerFaultControl, UcmTcpciPortControllerPowerControl, } UCMTCPCI_PORT_CONTROLLER_CONTROL_TYPE; typedef enum _UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_PIN_ASSIGNMENT { UcmTcpciPortControllerPinAssignmentInvalid = 0x0, UcmTcpciPortControllerDFPDPinAssignmentA, UcmTcpciPortControllerDFPDPinAssignmentB, UcmTcpciPortControllerDFPDPinAssignmentC, UcmTcpciPortControllerDFPDPinAssignmentD, UcmTcpciPortControllerDFPDPinAssignmentE, UcmTcpciPortControllerDFPDPinAssignmentF, UcmTcpciPortControllerUFPDPinAssignmentA, UcmTcpciPortControllerUFPDPinAssignmentB, UcmTcpciPortControllerUFPDPinAssignmentC, UcmTcpciPortControllerUFPDPinAssignmentD, UcmTcpciPortControllerUFPDPinAssignmentE, } UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_PIN_ASSIGNMENT; typedef enum _UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS { UcmTcpciPortControllerHPDStatusLow = 0x0, UcmTcpciPortControllerHPDStatusHigh = 0x1, } UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS; typedef enum _UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS { UcmTcpciPortControllerDisplayOutStatusOff = 0x0, UcmTcpciPortControllerDisplayOutStatusOn = 0x1, } UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS; #pragma warning(push) #pragma warning(disable:4201) // nonstandard extension used : nameless struct/union #include // // IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_GET_STATUS_IN_PARAMS // Out Buffer Type: UCMTCPCI_PORT_CONTROLLER_GET_STATUS_OUT_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_GET_STATUS_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; } UCMTCPCI_PORT_CONTROLLER_GET_STATUS_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_GET_STATUS_IN_PARAMS; typedef struct _UCMTCPCI_PORT_CONTROLLER_GET_STATUS_OUT_PARAMS { UCMTCPCI_PORT_CONTROLLER_CC_STATUS CCStatus; UCMTCPCI_PORT_CONTROLLER_POWER_STATUS PowerStatus; UCMTCPCI_PORT_CONTROLLER_FAULT_STATUS FaultStatus; } UCMTCPCI_PORT_CONTROLLER_GET_STATUS_OUT_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_GET_STATUS_OUT_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_IN_PARAMS // Out Buffer Type: UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; } UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_GET_CONTROL_IN_PARAMS; typedef struct _UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS { UCMTCPCI_PORT_CONTROLLER_TCPC_CONTROL TCPCControl; UCMTCPCI_PORT_CONTROLLER_ROLE_CONTROL RoleControl; UCMTCPCI_PORT_CONTROLLER_FAULT_CONTROL FaultControl; UCMTCPCI_PORT_CONTROLLER_POWER_CONTROL PowerControl; } UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONTROL // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_SET_CONTROL_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_SET_CONTROL_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_CONTROL_TYPE ControlType; union { UCMTCPCI_PORT_CONTROLLER_TCPC_CONTROL TCPCControl; UCMTCPCI_PORT_CONTROLLER_ROLE_CONTROL RoleControl; UCMTCPCI_PORT_CONTROLLER_FAULT_CONTROL FaultControl; UCMTCPCI_PORT_CONTROLLER_POWER_CONTROL PowerControl; }; } UCMTCPCI_PORT_CONTROLLER_SET_CONTROL_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_SET_CONTROL_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_TRANSMIT Transmit; } UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_TRANSMIT_BUFFER TransmitBuffer; } UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_RECEIVE_DETECT ReceiveDetect; } UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_CONFIG_STANDARD_OUTPUT ConfigStandardOutput; } UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_COMMAND // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_SET_COMMAND_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_SET_COMMAND_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_COMMAND Command; } UCMTCPCI_PORT_CONTROLLER_SET_COMMAND_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_SET_COMMAND_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_MESSAGE_HEADER_INFO MessageHeaderInfo; } UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UINT16 SVID; UINT32 Mode; } UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UINT16 SVID; UINT32 Mode; } UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_PIN_ASSIGNMENT PinAssignment; } UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS HPDStatus; } UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED_IN_PARAMS; // // IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED // // In Buffer Type: UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED_IN_PARAMS // typedef struct _UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED_IN_PARAMS { UCMTCPCIPORTCONTROLLER PortControllerObject; UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS DisplayOutStatus; UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_PIN_ASSIGNMENT PinAssignment; } UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED_IN_PARAMS, *PUCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED_IN_PARAMS; #include #pragma warning(pop) WDF_EXTERN_C_END #endif // _UCMTCPCIPORTCONTROLLERREQUESTS_H_