aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libelf/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/libelf/Makefile')
0 files changed, 0 insertions, 0 deletions
='#n56'>56 57 58 59 60 61 62 63 64 65 66 67
/*
** include/xen/vbd.h: 
** -- xen internal declarations + prototypes for virtual block devices
*/

#ifndef __VBD_H__
#define __VBD_H__

#include <hypervisor-ifs/block.h>
#include <hypervisor-ifs/vbd.h>

#include <xen/rbtree.h>

/* An entry in a list of xen_extents. */
typedef struct _xen_extent_le { 
    xen_extent_t extent;               /* an individual extent */
    struct _xen_extent_le *next;       /* and a pointer to the next */ 
} xen_extent_le_t; 

/*
 * This is what a vbd looks like from the p.o.v. of xen: essentially a list of
 * xen_extents which a given domain refers to by a particular 16bit id. Each
 * domain has a lookup structure to map from these to the relevant VBD.
 */
typedef struct _vbd { 
    unsigned short    vdevice;   /* what the domain refers to this vbd as */
    unsigned char     mode;      /* VBD_MODE_{R,W} */
    unsigned char     type;      /* XD_TYPE_xxx */
    xen_extent_le_t  *extents;   /* list of xen_extents making up this vbd */
    rb_node_t         rb;        /* for linking into R-B tree lookup struct */
} vbd_t; 

/*
 * Internal forms of 'vbd_create' and 'vbd_grow. Used when setting up real 
 * physical device access for domain 0.
 */