mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-05-18 03:51:44 +08:00
138 lines
5.0 KiB
C
138 lines
5.0 KiB
C
/*
|
|
* This file is produced automatically.
|
|
* Do not modify anything in here by hand.
|
|
*
|
|
* Created from source file
|
|
* dev/pci/pcib_if.m
|
|
* with
|
|
* makeobjops.awk
|
|
*
|
|
* See the source file for legal information
|
|
*/
|
|
|
|
|
|
#ifndef _pcib_if_h_
|
|
#define _pcib_if_h_
|
|
|
|
/** @brief Unique descriptor for the PCIB_MAXSLOTS() method */
|
|
extern struct kobjop_desc pcib_maxslots_desc;
|
|
/** @brief A function implementing the PCIB_MAXSLOTS() method */
|
|
typedef int pcib_maxslots_t(device_t dev);
|
|
|
|
static __inline int PCIB_MAXSLOTS(device_t dev)
|
|
{
|
|
kobjop_t _m;
|
|
KOBJOPLOOKUP(((kobj_t)dev)->ops,pcib_maxslots);
|
|
return ((pcib_maxslots_t *) _m)(dev);
|
|
}
|
|
|
|
/** @brief Unique descriptor for the PCIB_READ_CONFIG() method */
|
|
extern struct kobjop_desc pcib_read_config_desc;
|
|
/** @brief A function implementing the PCIB_READ_CONFIG() method */
|
|
typedef u_int32_t pcib_read_config_t(device_t dev, u_int bus, u_int slot,
|
|
u_int func, u_int reg, int width);
|
|
|
|
static __inline u_int32_t PCIB_READ_CONFIG(device_t dev, u_int bus, u_int slot,
|
|
u_int func, u_int reg, int width)
|
|
{
|
|
kobjop_t _m;
|
|
KOBJOPLOOKUP(((kobj_t)dev)->ops,pcib_read_config);
|
|
return ((pcib_read_config_t *) _m)(dev, bus, slot, func, reg, width);
|
|
}
|
|
|
|
/** @brief Unique descriptor for the PCIB_WRITE_CONFIG() method */
|
|
extern struct kobjop_desc pcib_write_config_desc;
|
|
/** @brief A function implementing the PCIB_WRITE_CONFIG() method */
|
|
typedef void pcib_write_config_t(device_t dev, u_int bus, u_int slot,
|
|
u_int func, u_int reg, u_int32_t value,
|
|
int width);
|
|
|
|
static __inline void PCIB_WRITE_CONFIG(device_t dev, u_int bus, u_int slot,
|
|
u_int func, u_int reg, u_int32_t value,
|
|
int width)
|
|
{
|
|
kobjop_t _m;
|
|
KOBJOPLOOKUP(((kobj_t)dev)->ops,pcib_write_config);
|
|
((pcib_write_config_t *) _m)(dev, bus, slot, func, reg, value, width);
|
|
}
|
|
|
|
/** @brief Unique descriptor for the PCIB_ROUTE_INTERRUPT() method */
|
|
extern struct kobjop_desc pcib_route_interrupt_desc;
|
|
/** @brief A function implementing the PCIB_ROUTE_INTERRUPT() method */
|
|
typedef int pcib_route_interrupt_t(device_t pcib, device_t dev, int pin);
|
|
|
|
static __inline int PCIB_ROUTE_INTERRUPT(device_t pcib, device_t dev, int pin)
|
|
{
|
|
kobjop_t _m;
|
|
KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_route_interrupt);
|
|
return ((pcib_route_interrupt_t *) _m)(pcib, dev, pin);
|
|
}
|
|
|
|
/** @brief Unique descriptor for the PCIB_ALLOC_MSI() method */
|
|
extern struct kobjop_desc pcib_alloc_msi_desc;
|
|
/** @brief A function implementing the PCIB_ALLOC_MSI() method */
|
|
typedef int pcib_alloc_msi_t(device_t pcib, device_t dev, int count,
|
|
int maxcount, int *irqs);
|
|
|
|
static __inline int PCIB_ALLOC_MSI(device_t pcib, device_t dev, int count,
|
|
int maxcount, int *irqs)
|
|
{
|
|
kobjop_t _m;
|
|
KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_alloc_msi);
|
|
return ((pcib_alloc_msi_t *) _m)(pcib, dev, count, maxcount, irqs);
|
|
}
|
|
|
|
/** @brief Unique descriptor for the PCIB_RELEASE_MSI() method */
|
|
extern struct kobjop_desc pcib_release_msi_desc;
|
|
/** @brief A function implementing the PCIB_RELEASE_MSI() method */
|
|
typedef int pcib_release_msi_t(device_t pcib, device_t dev, int count,
|
|
int *irqs);
|
|
|
|
static __inline int PCIB_RELEASE_MSI(device_t pcib, device_t dev, int count,
|
|
int *irqs)
|
|
{
|
|
kobjop_t _m;
|
|
KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_release_msi);
|
|
return ((pcib_release_msi_t *) _m)(pcib, dev, count, irqs);
|
|
}
|
|
|
|
/** @brief Unique descriptor for the PCIB_ALLOC_MSIX() method */
|
|
extern struct kobjop_desc pcib_alloc_msix_desc;
|
|
/** @brief A function implementing the PCIB_ALLOC_MSIX() method */
|
|
typedef int pcib_alloc_msix_t(device_t pcib, device_t dev, int *irq);
|
|
|
|
static __inline int PCIB_ALLOC_MSIX(device_t pcib, device_t dev, int *irq)
|
|
{
|
|
kobjop_t _m;
|
|
KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_alloc_msix);
|
|
return ((pcib_alloc_msix_t *) _m)(pcib, dev, irq);
|
|
}
|
|
|
|
/** @brief Unique descriptor for the PCIB_RELEASE_MSIX() method */
|
|
extern struct kobjop_desc pcib_release_msix_desc;
|
|
/** @brief A function implementing the PCIB_RELEASE_MSIX() method */
|
|
typedef int pcib_release_msix_t(device_t pcib, device_t dev, int irq);
|
|
|
|
static __inline int PCIB_RELEASE_MSIX(device_t pcib, device_t dev, int irq)
|
|
{
|
|
kobjop_t _m;
|
|
KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_release_msix);
|
|
return ((pcib_release_msix_t *) _m)(pcib, dev, irq);
|
|
}
|
|
|
|
/** @brief Unique descriptor for the PCIB_MAP_MSI() method */
|
|
extern struct kobjop_desc pcib_map_msi_desc;
|
|
/** @brief A function implementing the PCIB_MAP_MSI() method */
|
|
typedef int pcib_map_msi_t(device_t pcib, device_t dev, int irq, uint64_t *addr,
|
|
uint32_t *data);
|
|
|
|
static __inline int PCIB_MAP_MSI(device_t pcib, device_t dev, int irq,
|
|
uint64_t *addr, uint32_t *data)
|
|
{
|
|
kobjop_t _m;
|
|
KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_map_msi);
|
|
return ((pcib_map_msi_t *) _m)(pcib, dev, irq, addr, data);
|
|
}
|
|
|
|
#endif /* _pcib_if_h_ */
|