|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /proc/21573/task/21573/root/proc/21572/root/usr/include/kudzu/ |
Upload File : |
/* Copyright 1999-2003 Red Hat, Inc.
*
* This software may be freely redistributed under the terms of the GNU
* public license.
*
* 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.
*
*/
#ifndef _KUDZU_H_
#define _KUDZU_H_
/* kudzu: it grows on you */
/* level of debugging output */
#undef DEBUG_LEVEL
#ifdef DEBUG_LEVEL
#define DEBUG(s...) fprintf(stderr,s)
#else
#define DEBUG(s...) ;
#endif
#include "device.h"
#include "alias.h"
#include "ddc.h"
#include "scsi.h"
#include "ide.h"
#include "isapnp.h"
#include "sbus.h"
#include "pci.h"
#include "pcmcia.h"
#include "serial.h"
#include "parallel.h"
#include "psaux.h"
#include "usb.h"
#include "firewire.h"
#include "keyboard.h"
/* Do any preinitialization of device data */
/* Only required if you desire to change the default device lists */
int initializeDeviceList(void);
int initializeBusDeviceList(enum deviceBus bus);
/* Free any driver lists initialized with initializeDeviceList() */
void freeDeviceList();
/* Probe for devices of the specified class, on the specified bus,
* with the specified class. Returns a NULL-terminated array of
* device (or subclass) pointers */
struct device ** probeDevices ( enum deviceClass probeClass,
enum deviceBus probeBus,
int probeFlags
);
/* Read a config file for a device list */
struct device ** readDevices ( char *fn );
/* Like readDevices, except pass the file directly */
struct device ** readDevs ( FILE *f );
/* Write the NULL-terminated device pointer array to a file, in a
* format suitable for readDevices() */
int writeDevices ( char *fn, struct device **devlist);
/* Compares the two lists.
* retlist1 and retlist2 contain items that are unique to list1/list2. */
int listCompare( struct device **list1, struct device **list2,
struct device ***retlist1, struct device ***retlist2);
/* Remove device 'dev' from list 'devlist'.
* Returns the new list head. */
struct device *listRemove(struct device *devlist, struct device *dev);
/* Match network devices in devlist with their configured names */
void matchNetDevices(struct device *devlist);
typedef struct device *(newFunc)(struct device *);
typedef int (initFunc)();
typedef struct device *(probeFunc)(enum deviceClass, int, struct device *);
struct bus {
enum deviceBus busType;
char *string;
struct device *(*newFunc)(struct device *);
int (*initFunc)(char *filename);
void (*freeFunc)();
struct device *(*probeFunc)(enum deviceClass, int, struct device *);
};
extern struct bus buses[];
struct kudzuclass {
enum deviceClass classType;
char *string;
};
extern struct kudzuclass classes[];
struct netdev {
char *hwaddr;
char *dev;
struct netdev *next;
};
extern struct netdev *confdevs;
extern char *module_file;
extern float kernel_release;
extern char *kernel_ver;
extern struct aliaslist *aliases;
#endif