VirtualBox

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

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

main: Implemented DarwinGetEthernetControllers.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.7 KB
Line 
1/* $Id: iokit.h 10895 2008-07-25 23:21:54Z 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 PDMMAC Mac;
58 /** Internal category number (0..7). */
59 int iCat;
60 /** Whether it's wireless (true) or wired (false). */
61 bool fWireless;
62 /** Whether it is an AirPort device. */
63 bool fAirPort;
64 /** Whether it's built in or not. */
65 bool fBuiltin;
66 /** Whether it's a USB device or not. */
67 bool fUSB;
68 /** Whether it's the primary interface. */
69 bool fPrimaryIf;
70 /** A variable length descriptive name if possible. */
71 char szName[1];
72} DARWINETHERNIC;
73/** Pointer to a Darwin ethernet controller descriptor. */
74typedef DARWINETHERNIC *PDARWINETHERNIC;
75
76
77/** The run loop mode string used by iokit.cpp when it registers
78 * notifications events. */
79#define VBOX_IOKIT_MODE_STRING "VBoxIOKitMode"
80
81__BEGIN_DECLS
82#ifdef VBOX_WITH_USB
83void * DarwinSubscribeUSBNotifications(void);
84void DarwinUnsubscribeUSBNotifications(void *pvOpaque);
85PUSBDEVICE DarwinGetUSBDevices(void);
86void DarwinFreeUSBDeviceFromIOKit(PUSBDEVICE pCur);
87int DarwinReEnumerateUSBDevice(PCUSBDEVICE pCur);
88#endif /* VBOX_WITH_USB */
89PDARWINDVD DarwinGetDVDDrives(void);
90PDARWINETHERNIC DarwinGetEthernetControllers(void);
91__END_DECLS
92
93#endif
94
Note: See TracBrowser for help on using the repository browser.

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