📄 cpqphpd_ioctl.h
字号:
/* * Compaq Hot Plug Controller Driver * Copyright 1995,2001 Compaq Computer Corporation * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or * NON INFRINGEMENT. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * Send feedback to <linuxhotplug@compaq.com> */#ifndef _CPQPHPD_IOCTL#define MAXLEN 128typedef struct BUS_INFO_STRUCT { int bus_number; int current_speed; int supported_speed;} public_bus_info;typedef struct SLOT_INFO_STRUCT { int slot_number; int is_hotpluggable; int power; int attention_status; int latch_status; int adapter_presence; int bit_mode; // 0 = 32-bit, 1 = 64-bit public_bus_info* bus;} public_slot_info;typedef struct FUNCTION_INFO_STRUCT { int is_bridge; int is_driverloaded; int supported_speed_mode; int vendor_id; int subvendor_id; int device_id; int subdevice_id; int bus_number; int device_number; int function_number; char device_name[MAXLEN]; char driver_name[MAXLEN];} public_function_info;typedef struct ADAPTER_INFO_STRUCT{ char adapter_name[MAXLEN]; public_slot_info* slot; public_function_info* function;} public_adapter_info;typedef struct CPQUSNTILTN_STRUCT { u8 offset; u8 value; u8 bus; u8 device; u8 function; u8 type_of_request; u8 return_status; u8 physical_slot; public_function_info* adapter_info;} ioctl_data;typedef struct _message { int eb_serial_number; int message_id;} message;#define HPCD_DATA_LENGTH sizeof(struct _message) #define HPCD_BUFFER_LENGTH 32 //this number needs adjusting to the maximum amount of pending messages possible //If there is no upper bound on this, the implementation here is rather dangerous to use, as messages are not prevented to "step over" each other.#define GET_CTRL_STRUCTURE 1#define GET_IRQ_ROUTE 2#define ADD_BOARD 10 #define POWER_DOWN_BOARD 3#define WRITE_REGISTER_VALUE 4#define SET_SOGO 5#define HARDWARE_TEST 8#define SET_ATTENTION_STATUS 11#define GET_STATUS 12#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -