Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37858275
en ru br
Репозитории ALT
4.1: 2004_09_23-alt17
4.0: 2004_09_23-alt17
3.0: 2004_09_23-alt14
+updates:2004_09_23-alt14.1
www.altlinux.org/Changes

Группа :: Система/Настройка/Оборудование
Пакет: hotplug

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

/*
* 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 128

typedef 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
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin