VirtualBox

source: vbox/trunk/src/VBox/Additions/linux/module/vboxmod.h@ 1619

Last change on this file since 1619 was 1619, checked in by vboxsync, 18 years ago

Added an HGCM call ioctl to the Linux Additions kernel module. The code path is not yet tested and not yet used.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.3 KB
Line 
1/** @file
2 *
3 * vboxadd -- VirtualBox Guest Additions for Linux
4 */
5
6/*
7 * Copyright (C) 2006 InnoTek Systemberatung GmbH
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License as published by the Free Software Foundation,
13 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14 * distribution. VirtualBox OSE is distributed in the hope that it will
15 * be useful, but WITHOUT ANY WARRANTY of any kind.
16 *
17 * If you received this file as part of a commercial VirtualBox
18 * distribution, then only the terms of your commercial VirtualBox
19 * license agreement apply instead of the previous paragraph.
20 */
21
22#ifndef VBOXMOD_H
23#define VBOXMOD_H
24
25#include <VBox/VBoxGuest.h>
26#include <VBox/VBoxGuestLib.h>
27#include <iprt/asm.h>
28
29typedef struct VBoxDevice VBoxDevice;
30struct VBoxDevice
31{
32 /** the device name */
33 char name[128];
34 /** file node minor code */
35 unsigned minor;
36 /** IRQ number */
37 unsigned irq;
38 /** first IO port */
39 unsigned short io_port;
40 /** physical address of device memory */
41 uint32_t vmmdevmem;
42 /** size of adapter memory */
43 size_t vmmdevmem_size;
44
45 /** kernel space mapping of the adapter memory */
46 VMMDevMemory *pVMMDevMemory;
47 /** current pending events mask */
48 uint32_t u32Events;
49 /** request structure to acknowledge events in ISR */
50 VMMDevEvents *irqAckRequest;
51 /** start of the hypervisor window */
52 void *hypervisorStart;
53 /** size of the hypervisor window in bytes */
54 uint32_t hypervisorSize;
55 /** event synchronization */
56 wait_queue_head_t eventq;
57};
58
59extern int vboxadd_verbosity;
60
61#define wlog(...) printk (KERN_WARNING "vboxadd: " __VA_ARGS__)
62#define ilog(...) printk (KERN_INFO "vboxadd: " __VA_ARGS__)
63#define dlog(...) printk (KERN_DEBUG "vboxadd: " __VA_ARGS__)
64#define elog(...) printk (KERN_ERR "vboxadd: " __VA_ARGS__)
65
66#define vlog(n, ...) \
67if (n >= vboxadd_verbosity) printk (KERN_DEBUG "vboxadd: " __VA_ARGS__)
68
69#define compiler_assert(val) \
70do { \
71switch(0) { \
72case 0: \
73case (val): \
74default: \
75break; \
76} \
77} while(0);
78
79extern int vboxadd_cmc_init (void);
80extern void vboxadd_cmc_fini (void);
81
82#endif /* !VBOXMOD_H */
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette