45 #if defined(PLX_MSWINDOWS) && !defined(PLX_DRIVER)
47 #elif defined(PLX_LINUX)
50 #include <sys/ioctl.h>
64 PLX_STATUS ReturnCode;
82 #if defined(PLX_MSWINDOWS)
87 #define PLX_IOCTL_CODE_BASE 0x800
88 #define IOCTL_MSG( code ) CTL_CODE( \
89 FILE_DEVICE_UNKNOWN, \
95 #elif defined(PLX_LINUX) || defined(PLX_LINUX_DRIVER)
97 #define PLX_IOCTL_CODE_BASE 0x0
99 #define IOCTL_MSG( code ) _IOWR( \
105 #elif defined(PLX_DOS)
107 #define PLX_IOCTL_CODE_BASE 0x0
108 #define IOCTL_MSG( code ) code
113 typedef enum _DRIVER_MSGS
115 MSG_DRIVER_VERSION = PLX_IOCTL_CODE_BASE,
116 MSG_DRIVER_PROPERTIES,
117 MSG_DRIVER_SCHEDULE_RESCAN,
120 MSG_GET_PORT_PROPERTIES,
121 MSG_PCI_DEVICE_RESET,
123 MSG_PCI_BAR_PROPERTIES,
126 MSG_PCI_REGISTER_READ,
127 MSG_PCI_REGISTER_WRITE,
128 MSG_PCI_REG_READ_BYPASS_OS,
129 MSG_PCI_REG_WRITE_BYPASS_OS,
132 MSG_MAPPED_REGISTER_READ,
133 MSG_MAPPED_REGISTER_WRITE,
134 MSG_PHYSICAL_MEM_ALLOCATE,
135 MSG_PHYSICAL_MEM_FREE,
136 MSG_PHYSICAL_MEM_MAP,
137 MSG_PHYSICAL_MEM_UNMAP,
138 MSG_COMMON_BUFFER_PROPERTIES,
141 MSG_PCI_BAR_SPACE_READ,
142 MSG_PCI_BAR_SPACE_WRITE,
147 MSG_EEPROM_GET_ADDRESS_WIDTH,
148 MSG_EEPROM_SET_ADDRESS_WIDTH,
150 MSG_EEPROM_CRC_UPDATE,
151 MSG_EEPROM_READ_BY_OFFSET,
152 MSG_EEPROM_WRITE_BY_OFFSET,
153 MSG_EEPROM_READ_BY_OFFSET_16,
154 MSG_EEPROM_WRITE_BY_OFFSET_16,
160 MSG_NOTIFICATION_REGISTER_FOR,
161 MSG_NOTIFICATION_CANCEL,
162 MSG_NOTIFICATION_WAIT,
163 MSG_NOTIFICATION_STATUS,
164 MSG_DMA_CHANNEL_OPEN,
165 MSG_DMA_GET_PROPERTIES,
166 MSG_DMA_SET_PROPERTIES,
169 MSG_DMA_TRANSFER_BLOCK,
170 MSG_DMA_TRANSFER_USER_BUFFER,
171 MSG_DMA_CHANNEL_CLOSE,
172 MSG_PERFORMANCE_INIT_PROPERTIES,
173 MSG_PERFORMANCE_MONITOR_CTRL,
174 MSG_PERFORMANCE_RESET_COUNTERS,
175 MSG_PERFORMANCE_GET_COUNTERS,
176 MSG_MH_GET_PROPERTIES,
177 MSG_MH_MIGRATE_DS_PORTS,
179 MSG_NT_LUT_PROPERTIES,
187 #define PLX_IOCTL_DRIVER_VERSION IOCTL_MSG( MSG_DRIVER_VERSION )
188 #define PLX_IOCTL_DRIVER_PROPERTIES IOCTL_MSG( MSG_DRIVER_PROPERTIES )
189 #define PLX_IOCTL_DRIVER_SCHEDULE_RESCAN IOCTL_MSG( MSG_DRIVER_SCHEDULE_RESCAN )
190 #define PLX_IOCTL_CHIP_TYPE_GET IOCTL_MSG( MSG_CHIP_TYPE_GET )
191 #define PLX_IOCTL_CHIP_TYPE_SET IOCTL_MSG( MSG_CHIP_TYPE_SET )
192 #define PLX_IOCTL_GET_PORT_PROPERTIES IOCTL_MSG( MSG_GET_PORT_PROPERTIES )
194 #define PLX_IOCTL_PCI_DEVICE_FIND IOCTL_MSG( MSG_PCI_DEVICE_FIND )
195 #define PLX_IOCTL_PCI_DEVICE_RESET IOCTL_MSG( MSG_PCI_DEVICE_RESET )
196 #define PLX_IOCTL_PCI_BAR_PROPERTIES IOCTL_MSG( MSG_PCI_BAR_PROPERTIES )
197 #define PLX_IOCTL_PCI_BAR_MAP IOCTL_MSG( MSG_PCI_BAR_MAP )
198 #define PLX_IOCTL_PCI_BAR_UNMAP IOCTL_MSG( MSG_PCI_BAR_UNMAP )
200 #define PLX_IOCTL_PCI_REGISTER_READ IOCTL_MSG( MSG_PCI_REGISTER_READ )
201 #define PLX_IOCTL_PCI_REGISTER_WRITE IOCTL_MSG( MSG_PCI_REGISTER_WRITE )
202 #define PLX_IOCTL_PCI_REG_READ_BYPASS_OS IOCTL_MSG( MSG_PCI_REG_READ_BYPASS_OS )
203 #define PLX_IOCTL_PCI_REG_WRITE_BYPASS_OS IOCTL_MSG( MSG_PCI_REG_WRITE_BYPASS_OS )
205 #define PLX_IOCTL_REGISTER_READ IOCTL_MSG( MSG_REGISTER_READ )
206 #define PLX_IOCTL_REGISTER_WRITE IOCTL_MSG( MSG_REGISTER_WRITE )
207 #define PLX_IOCTL_MAPPED_REGISTER_READ IOCTL_MSG( MSG_MAPPED_REGISTER_READ )
208 #define PLX_IOCTL_MAPPED_REGISTER_WRITE IOCTL_MSG( MSG_MAPPED_REGISTER_WRITE )
209 #define PLX_IOCTL_MAILBOX_READ IOCTL_MSG( MSG_MAILBOX_READ )
210 #define PLX_IOCTL_MAILBOX_WRITE IOCTL_MSG( MSG_MAILBOX_WRITE )
212 #define PLX_IOCTL_PHYSICAL_MEM_ALLOCATE IOCTL_MSG( MSG_PHYSICAL_MEM_ALLOCATE )
213 #define PLX_IOCTL_PHYSICAL_MEM_FREE IOCTL_MSG( MSG_PHYSICAL_MEM_FREE )
214 #define PLX_IOCTL_PHYSICAL_MEM_MAP IOCTL_MSG( MSG_PHYSICAL_MEM_MAP )
215 #define PLX_IOCTL_PHYSICAL_MEM_UNMAP IOCTL_MSG( MSG_PHYSICAL_MEM_UNMAP )
216 #define PLX_IOCTL_COMMON_BUFFER_PROPERTIES IOCTL_MSG( MSG_COMMON_BUFFER_PROPERTIES )
218 #define PLX_IOCTL_IO_PORT_READ IOCTL_MSG( MSG_IO_PORT_READ )
219 #define PLX_IOCTL_IO_PORT_WRITE IOCTL_MSG( MSG_IO_PORT_WRITE )
220 #define PLX_IOCTL_PCI_BAR_SPACE_READ IOCTL_MSG( MSG_PCI_BAR_SPACE_READ )
221 #define PLX_IOCTL_PCI_BAR_SPACE_WRITE IOCTL_MSG( MSG_PCI_BAR_SPACE_WRITE )
223 #define PLX_IOCTL_VPD_READ IOCTL_MSG( MSG_VPD_READ )
224 #define PLX_IOCTL_VPD_WRITE IOCTL_MSG( MSG_VPD_WRITE )
226 #define PLX_IOCTL_EEPROM_PRESENT IOCTL_MSG( MSG_EEPROM_PRESENT )
227 #define PLX_IOCTL_EEPROM_PROBE IOCTL_MSG( MSG_EEPROM_PROBE )
228 #define PLX_IOCTL_EEPROM_GET_ADDRESS_WIDTH IOCTL_MSG( MSG_EEPROM_GET_ADDRESS_WIDTH )
229 #define PLX_IOCTL_EEPROM_SET_ADDRESS_WIDTH IOCTL_MSG( MSG_EEPROM_SET_ADDRESS_WIDTH )
230 #define PLX_IOCTL_EEPROM_CRC_GET IOCTL_MSG( MSG_EEPROM_CRC_GET )
231 #define PLX_IOCTL_EEPROM_CRC_UPDATE IOCTL_MSG( MSG_EEPROM_CRC_UPDATE )
232 #define PLX_IOCTL_EEPROM_READ_BY_OFFSET IOCTL_MSG( MSG_EEPROM_READ_BY_OFFSET )
233 #define PLX_IOCTL_EEPROM_WRITE_BY_OFFSET IOCTL_MSG( MSG_EEPROM_WRITE_BY_OFFSET )
234 #define PLX_IOCTL_EEPROM_READ_BY_OFFSET_16 IOCTL_MSG( MSG_EEPROM_READ_BY_OFFSET_16 )
235 #define PLX_IOCTL_EEPROM_WRITE_BY_OFFSET_16 IOCTL_MSG( MSG_EEPROM_WRITE_BY_OFFSET_16 )
237 #define PLX_IOCTL_INTR_ENABLE IOCTL_MSG( MSG_INTR_ENABLE )
238 #define PLX_IOCTL_INTR_DISABLE IOCTL_MSG( MSG_INTR_DISABLE )
239 #define PLX_IOCTL_INTR_STATUS_GET IOCTL_MSG( MSG_INTR_STATUS_GET )
240 #define PLX_IOCTL_NOTIFICATION_REGISTER_FOR IOCTL_MSG( MSG_NOTIFICATION_REGISTER_FOR )
241 #define PLX_IOCTL_NOTIFICATION_CANCEL IOCTL_MSG( MSG_NOTIFICATION_CANCEL )
242 #define PLX_IOCTL_NOTIFICATION_WAIT IOCTL_MSG( MSG_NOTIFICATION_WAIT )
243 #define PLX_IOCTL_NOTIFICATION_STATUS IOCTL_MSG( MSG_NOTIFICATION_STATUS )
245 #define PLX_IOCTL_DMA_CHANNEL_OPEN IOCTL_MSG( MSG_DMA_CHANNEL_OPEN )
246 #define PLX_IOCTL_DMA_GET_PROPERTIES IOCTL_MSG( MSG_DMA_GET_PROPERTIES )
247 #define PLX_IOCTL_DMA_SET_PROPERTIES IOCTL_MSG( MSG_DMA_SET_PROPERTIES )
248 #define PLX_IOCTL_DMA_CONTROL IOCTL_MSG( MSG_DMA_CONTROL )
249 #define PLX_IOCTL_DMA_STATUS IOCTL_MSG( MSG_DMA_STATUS )
250 #define PLX_IOCTL_DMA_TRANSFER_BLOCK IOCTL_MSG( MSG_DMA_TRANSFER_BLOCK )
251 #define PLX_IOCTL_DMA_TRANSFER_USER_BUFFER IOCTL_MSG( MSG_DMA_TRANSFER_USER_BUFFER )
252 #define PLX_IOCTL_DMA_CHANNEL_CLOSE IOCTL_MSG( MSG_DMA_CHANNEL_CLOSE )
254 #define PLX_IOCTL_PERFORMANCE_INIT_PROPERTIES IOCTL_MSG( MSG_PERFORMANCE_INIT_PROPERTIES )
255 #define PLX_IOCTL_PERFORMANCE_MONITOR_CTRL IOCTL_MSG( MSG_PERFORMANCE_MONITOR_CTRL )
256 #define PLX_IOCTL_PERFORMANCE_RESET_COUNTERS IOCTL_MSG( MSG_PERFORMANCE_RESET_COUNTERS )
257 #define PLX_IOCTL_PERFORMANCE_GET_COUNTERS IOCTL_MSG( MSG_PERFORMANCE_GET_COUNTERS )
259 #define PLX_IOCTL_MH_GET_PROPERTIES IOCTL_MSG( MSG_MH_GET_PROPERTIES )
260 #define PLX_IOCTL_MH_MIGRATE_DS_PORTS IOCTL_MSG( MSG_MH_MIGRATE_DS_PORTS )
262 #define PLX_IOCTL_NT_PROBE_REQ_ID IOCTL_MSG( MSG_NT_PROBE_REQ_ID )
263 #define PLX_IOCTL_NT_LUT_PROPERTIES IOCTL_MSG( MSG_NT_LUT_PROPERTIES )
264 #define PLX_IOCTL_NT_LUT_ADD IOCTL_MSG( MSG_NT_LUT_ADD )
265 #define PLX_IOCTL_NT_LUT_DISABLE IOCTL_MSG( MSG_NT_LUT_DISABLE )
Definition: PlxTypes.h:579
Definition: PlxTypes.h:666
Definition: PlxTypes.h:701
Definition: PlxTypes.h:531
Definition: PlxIoctl.h:62
Definition: PlxTypes.h:748
Definition: PlxTypes.h:541
Definition: PlxTypes.h:616
Definition: PlxTypes.h:553
Definition: PlxTypes.h:563