2013-04-16 18:45:16 +04:00
|
|
|
/*
|
|
|
|
* libqos PCI bindings for PC
|
|
|
|
*
|
|
|
|
* Copyright IBM, Corp. 2012-2013
|
|
|
|
*
|
|
|
|
* Authors:
|
|
|
|
* Anthony Liguori <aliguori@us.ibm.com>
|
|
|
|
*
|
|
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
|
|
* See the COPYING file in the top-level directory.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef LIBQOS_PCI_PC_H
|
|
|
|
#define LIBQOS_PCI_PC_H
|
|
|
|
|
|
|
|
#include "libqos/pci.h"
|
2016-09-29 13:32:45 +03:00
|
|
|
#include "libqos/malloc.h"
|
2018-07-03 17:53:10 +03:00
|
|
|
#include "libqos/qgraph.h"
|
|
|
|
|
|
|
|
typedef struct QPCIBusPC {
|
|
|
|
QOSGraphObject obj;
|
|
|
|
QPCIBus bus;
|
|
|
|
} QPCIBusPC;
|
|
|
|
|
|
|
|
/* qpci_init_pc():
|
|
|
|
* @ret: A valid QPCIBusPC * pointer
|
|
|
|
* @qts: The %QTestState for this PC machine
|
|
|
|
* @alloc: A previously initialized @alloc providing memory for @qts
|
|
|
|
*
|
|
|
|
* This function initializes an already allocated
|
|
|
|
* QPCIBusPC object.
|
|
|
|
*/
|
|
|
|
void qpci_init_pc(QPCIBusPC *ret, QTestState *qts, QGuestAllocator *alloc);
|
2013-04-16 18:45:16 +04:00
|
|
|
|
2018-07-19 14:50:27 +03:00
|
|
|
/* qpci_pc_new():
|
|
|
|
* @qts: The %QTestState for this PC machine
|
|
|
|
* @alloc: A previously initialized @alloc providing memory for @qts
|
|
|
|
*
|
|
|
|
* This function creates a new QPCIBusPC object,
|
|
|
|
* and properly initialize its fields.
|
|
|
|
*
|
2018-07-03 17:53:10 +03:00
|
|
|
* Returns the QPCIBus *bus field of a newly
|
|
|
|
* allocated QPCIBusPC.
|
2018-07-19 14:50:27 +03:00
|
|
|
*/
|
|
|
|
QPCIBus *qpci_new_pc(QTestState *qts, QGuestAllocator *alloc);
|
|
|
|
|
2014-08-05 01:11:23 +04:00
|
|
|
void qpci_free_pc(QPCIBus *bus);
|
2013-04-16 18:45:16 +04:00
|
|
|
|
|
|
|
#endif
|