ahci: centralize, fix port reset
[minix.git] / include / minix / vboxtype.h
blobcada0f3cf44fcaa55ce8ea665bd1974a164cb35e
1 #ifndef _MINIX_VBOXTYPE_H
2 #define _MINIX_VBOXTYPE_H
4 /* This header declares the type definitions shared between VBOX driver, the
5 * interface in libsys, and any caller of those interface functions.
6 */
8 /* Call parameter type. */
9 typedef enum {
10 VBOX_TYPE_INVALID, /* invalid type */
11 VBOX_TYPE_U32, /* 32-bit value */
12 VBOX_TYPE_U64, /* 64-bit value */
13 VBOX_TYPE_PTR /* pointer to granted memory area */
14 } vbox_type_t;
16 /* Call parameter transfer direction. */
17 #define VBOX_DIR_IN 0x01 /* from host to guest */
18 #define VBOX_DIR_OUT 0x02 /* from guest to host */
19 #define VBOX_DIR_INOUT (VBOX_DIR_IN | VBOX_DIR_OUT)
21 /* Call parameter. */
22 typedef struct {
23 vbox_type_t type;
24 union {
25 u32_t u32;
26 u64_t u64;
27 struct {
28 cp_grant_id_t grant;
29 size_t off;
30 size_t size;
31 unsigned int dir;
32 } ptr;
34 } vbox_param_t;
36 #endif /*_MINIX_VBOXTYPE_H */