/* $Id$ */
/** @file
* VirtualBox Guest Additions: Virtio Driver for Solaris, header.
*/
/*
* Copyright (C) 2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*
* The contents of this file may alternatively be used under the terms
* of the Common Development and Distribution License Version 1.0
* (CDDL) only, as it comes in the "COPYING.CDDL" file of the
* VirtualBox OSE distribution, in which case the provisions of the
* CDDL are applicable instead of those of the GPL.
*
* You may elect to license modified versions of this file under the
* terms and conditions of either the GPL or the CDDL or both.
*/
#ifndef ___Virtio_solaris_h
#define ___Virtio_solaris_h
/** Release log descriptive prefix. */
/** Buffer continues via the Next field */
/** Buffer is write-only, else is read-only. */
/** Indirect buffer (buffer contains list of buffer descriptors) */
/* Values from our Virtio.h */
/**
* The ring descriptor table refers to the buffers the guest is using for the
* device.
*/
struct VirtioRingDesc
{
};
/**
* The available ring refers to what descriptors are being offered to the
* device.
*/
struct VirtioRingAvail
{
};
/**
* The used ring refers to the buffers the device is done using them. The
* element is a pair-descriptor refers to the buffer once the device is done
* with the buffer.
*/
struct VirtioRingUsedElem
{
};
/**
* The Virtio Ring which contains the descriptors.
*/
struct VirtioRing
{
};
struct VirtioDevice;
struct VirtioQueue;
/**
* Virtio device operations.
*/
struct VirtioDeviceOps
{
};
/**
* Hypervisor access operations.
*/
struct VirtioHyperOps
{
};
/**
* Virtio Queue into which buffers are posted.
*/
struct VirtioQueue
{
};
/**
* Virtio device descriptor, common to all Virtio devices.
*/
struct VirtioDevice
{
};
int VirtioAttach(dev_info_t *pDip, ddi_attach_cmd_t enmCmd, PVIRTIODEVICEOPS pDeviceOps, PVIRTIOHYPEROPS pHyperOps);
#endif