VirtualBox

source: vbox/trunk/src/VBox/HostDrivers/Support/SUPLibInternal.h@ 2676

Last change on this file since 2676 was 1890, checked in by vboxsync, 17 years ago

Attempt to fix ALSA on Linux kernels <= 2.6.17: use mmap not memalign for allocating pages. Use madvise or mprotect to separater VM area structs inside the kernel. Most SUP* functions work on cPages now (not cBytes anymore). The free functions take a cPages parameter which is used for munmap on Linux.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1/** @file
2 *
3 * VBox host drivers - Ring-0 support drivers - Shared code:
4 * Internal header for support library
5 */
6
7/*
8 * Copyright (C) 2006 InnoTek Systemberatung GmbH
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License as published by the Free Software Foundation,
14 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
15 * distribution. VirtualBox OSE is distributed in the hope that it will
16 * be useful, but WITHOUT ANY WARRANTY of any kind.
17 *
18 * If you received this file as part of a commercial VirtualBox
19 * distribution, then only the terms of your commercial VirtualBox
20 * license agreement apply instead of the previous paragraph.
21 */
22
23#ifndef __SupInternal_h__
24#define __SupInternal_h__
25
26#include <VBox/cdefs.h>
27#include <VBox/types.h>
28
29
30
31/*******************************************************************************
32* Global Variables *
33*******************************************************************************/
34/** The negotiated interrupt number. */
35extern uint8_t g_uchInterruptNo;
36/** The negotiated cookie. */
37extern uint32_t g_u32Cookie;
38/** The negotiated cookie. */
39extern uint32_t g_u32CookieSession;
40
41
42
43/*******************************************************************************
44* OS Specific Function *
45*******************************************************************************/
46__BEGIN_DECLS
47int suplibOsInstall(void);
48int suplibOsUninstall(void);
49int suplibOsInit(size_t cbReserve);
50int suplibOsTerm(void);
51int suplibOsIOCtl(unsigned uFunction, void *pvIn, size_t cbIn, void *pvOut, size_t cbOut);
52#ifdef VBOX_WITHOUT_IDT_PATCHING
53int suplibOSIOCtlFast(unsigned uFunction);
54#endif
55int suplibOsPageAlloc(size_t cPages, void **ppvPages);
56int suplibOsPageFree(void *pvPages, size_t cPages);
57__END_DECLS
58
59
60#endif
61
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use