File tree 4 files changed +47
-0
lines changed
4 files changed +47
-0
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ package vz
6
6
# include "virtualization_11.h"
7
7
# include "virtualization_12.h"
8
8
# include "virtualization_13.h"
9
+ # include "virtualization_15.h"
9
10
*/
10
11
import "C"
11
12
import (
@@ -40,6 +41,14 @@ func (m *GenericPlatformConfiguration) MachineIdentifier() *GenericMachineIdenti
40
41
return m .machineIdentifier
41
42
}
42
43
44
+ // SetNestedVirtualizationEnabled toggles nested virtualization.
45
+ func (m * GenericPlatformConfiguration ) SetNestedVirtualizationEnabled (enable bool ) {
46
+ C .setNestedVirtualizationEnabled (
47
+ objc .Ptr (m ),
48
+ C .bool (enable ),
49
+ )
50
+ }
51
+
43
52
var _ PlatformConfiguration = (* GenericPlatformConfiguration )(nil )
44
53
45
54
// NewGenericPlatformConfiguration creates a new generic platform configuration.
Original file line number Diff line number Diff line change
1
+ //
2
+ // virtualization_15.h
3
+
4
+ #pragma once
5
+
6
+ #import " virtualization_helper.h"
7
+ #import < Virtualization/Virtualization.h>
8
+
9
+ /* macOS 15 API */
10
+ void setNestedVirtualizationEnabled (void *config, bool nestedVirtualizationEnabled);
Original file line number Diff line number Diff line change
1
+ //
2
+ // virtualization_15.m
3
+ //
4
+ #import " virtualization_15.h"
5
+
6
+ /* !
7
+ @abstract Set nestedVirtualizationEnabled. The default is false.
8
+ */
9
+ void setNestedVirtualizationEnabled (void *config, bool nestedVirtualizationEnabled)
10
+ {
11
+ #ifdef INCLUDE_TARGET_OSX_15
12
+ if (@available (macOS 15 , *)) {
13
+ VZGenericPlatformConfiguration *platformConfig = (VZGenericPlatformConfiguration *)config;
14
+ if (VZGenericPlatformConfiguration.isNestedVirtualizationSupported ) {
15
+ platformConfig.nestedVirtualizationEnabled = (BOOL ) nestedVirtualizationEnabled;
16
+ }
17
+ return ;
18
+ }
19
+ #endif
20
+ RAISE_UNSUPPORTED_MACOS_EXCEPTION ();
21
+ }
Original file line number Diff line number Diff line change @@ -39,6 +39,13 @@ NSDictionary *dumpProcessinfo();
39
39
#pragma message("macOS 14 API has been disabled")
40
40
#endif
41
41
42
+ // for macOS 15 API
43
+ #if __MAC_OS_X_VERSION_MAX_ALLOWED >= 150000
44
+ #define INCLUDE_TARGET_OSX_15 1
45
+ #else
46
+ #pragma message("macOS 15 API has been disabled")
47
+ #endif
48
+
42
49
static inline int mac_os_x_version_max_allowed ()
43
50
{
44
51
#ifdef __MAC_OS_X_VERSION_MAX_ALLOWED
You can’t perform that action at this time.
0 commit comments