VirtualBox

source: vbox/trunk/src/VBox/Main/darwin/iokit.h@ 16560

Last change on this file since 16560 was 11638, checked in by vboxsync, 16 years ago

#1869: Use the SCNetworkInterfaceCopyAll / SCNetworkInterfaceGetLocalizedDisplayName APIs for getting the correct interface name.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.7 KB
Line 
1/* $Id: iokit.h 11638 2008-08-26 01:02:36Z vboxsync $ */
2/** @file
3 * Main - Darwin IOKit Routines.
4 */
5
6/*
7 * Copyright (C) 2006-2007 Sun Microsystems, Inc.
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 (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 *
17 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18 * Clara, CA 95054 USA or visit http://www.sun.com if you need
19 * additional information or have any questions.
20 */
21
22#ifndef ___darwin_iokit_h___
23#define ___darwin_iokit_h___
24
25#include <iprt/cdefs.h>
26#include <iprt/types.h>
27#ifdef VBOX_WITH_USB
28# include <VBox/usb.h>
29#endif
30
31/**
32 * Darwin DVD descriptor as returned by DarwinGetDVDDrives().
33 */
34typedef struct DARWINDVD
35{
36 /** Pointer to the next DVD. */
37 struct DARWINDVD *pNext;
38 /** Variable length name / identifier. */
39 char szName[1];
40} DARWINDVD;
41/** Pointer to a Darwin DVD descriptor. */
42typedef DARWINDVD *PDARWINDVD;
43
44
45/**
46 * Darwin ethernet controler descriptor as returned by DarwinGetEthernetControllers().
47 */
48typedef struct DARWINETHERNIC
49{
50 /** Pointer to the next NIC. */
51 struct DARWINETHERNIC *pNext;
52 /** The BSD name. (like en0)*/
53 char szBSDName[8];
54 /** The fake unique identifier. */
55 RTUUID Uuid;
56 /** The MAC address. */
57 RTMAC Mac;
58 /** Whether it's wireless (true) or wired (false). */
59 bool fWireless;
60 /** Whether it is an AirPort device. */
61 bool fAirPort;
62 /** Whether it's built in or not. */
63 bool fBuiltin;
64 /** Whether it's a USB device or not. */
65 bool fUSB;
66 /** Whether it's the primary interface. */
67 bool fPrimaryIf;
68 /** A variable length descriptive name if possible. */
69 char szName[1];
70} DARWINETHERNIC;
71/** Pointer to a Darwin ethernet controller descriptor. */
72typedef DARWINETHERNIC *PDARWINETHERNIC;
73
74
75/** The run loop mode string used by iokit.cpp when it registers
76 * notifications events. */
77#define VBOX_IOKIT_MODE_STRING "VBoxIOKitMode"
78
79__BEGIN_DECLS
80#ifdef VBOX_WITH_USB
81void * DarwinSubscribeUSBNotifications(void);
82void DarwinUnsubscribeUSBNotifications(void *pvOpaque);
83PUSBDEVICE DarwinGetUSBDevices(void);
84void DarwinFreeUSBDeviceFromIOKit(PUSBDEVICE pCur);
85int DarwinReEnumerateUSBDevice(PCUSBDEVICE pCur);
86#endif /* VBOX_WITH_USB */
87PDARWINDVD DarwinGetDVDDrives(void);
88PDARWINETHERNIC DarwinGetEthernetControllers(void);
89__END_DECLS
90
91#endif
92
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use