Use "struct undi_device" instead of "struct pxe_device", and use the

function prefix "undinet_" and the variable name "undinic" in undinet.c,
so that we can reserve the variable name "undi" for a struct undi_device.

The idea is that we preserve the Etherboot 5.4 convention that the "UNDI"
code refers to our using an underlying UNDI stack, while the "PXE" code
refers to our providing a PXE API.
This commit is contained in:
Michael Brown
2007-01-08 02:24:53 +00:00
parent 36c1e1aa57
commit 675fe200e5
3 changed files with 208 additions and 151 deletions

View File

@@ -0,0 +1,59 @@
#ifndef _UNDI_H
#define _UNDI_H
/** @file
*
* UNDI driver
*
*/
/** An UNDI device */
struct undi_device {
/** Generic device */
struct device dev;
/** Driver-private data
*
* Use undi_set_drvdata() and undi_get_drvdata() to access this
* field.
*/
void *priv;
/** PXENV+ structure address */
SEGOFF16_t pxenv;
/** !PXE structure address */
SEGOFF16_t ppxe;
/** Entry point */
SEGOFF16_t entry;
/** PCI bus:dev.fn, or 0 */
unsigned int pci_busdevfn;
/** ISAPnP card select number, or -1U */
unsigned int isapnp_csn;
/** ISAPnP read port, or -1U */
unsigned int isapnp_read_port;
/** Free base memory prior to load */
unsigned int restore_fbms;
/** Free base memory after load */
unsigned int fbms;
};
/**
* Set UNDI driver-private data
*
* @v undi UNDI device
* @v priv Private data
*/
static inline void undi_set_drvdata ( struct undi_device *undi, void *priv ) {
undi->priv = priv;
}
/**
* Get UNDI driver-private data
*
* @v undi UNDI device
* @ret priv Private data
*/
static inline void * undi_get_drvdata ( struct undi_device *undi ) {
return undi->priv;
}
#endif /* _UNDI_H */

View File

@@ -0,0 +1,15 @@
#ifndef _UNDINET_H
#define _UNDINET_H
/** @file
*
* UNDI network device driver
*
*/
struct undi_device;
extern int undinet_probe ( struct undi_device *undi );
extern void undinet_remove ( struct undi_device *undi );
#endif /* _UNDINET_H */