zigwin32/win32/network_management/windows_network_virtualizat...

156 lines
5.0 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (2)
//--------------------------------------------------------------------------------
pub const WNV_API_MAJOR_VERSION_1 = @as(u32, 1);
pub const WNV_API_MINOR_VERSION_0 = @as(u32, 0);
//--------------------------------------------------------------------------------
// Section: Types (11)
//--------------------------------------------------------------------------------
pub const WNV_NOTIFICATION_TYPE = enum(i32) {
PolicyMismatchType = 0,
RedirectType = 1,
ObjectChangeType = 2,
NotificationTypeMax = 3,
};
pub const WnvPolicyMismatchType = WNV_NOTIFICATION_TYPE.PolicyMismatchType;
pub const WnvRedirectType = WNV_NOTIFICATION_TYPE.RedirectType;
pub const WnvObjectChangeType = WNV_NOTIFICATION_TYPE.ObjectChangeType;
pub const WnvNotificationTypeMax = WNV_NOTIFICATION_TYPE.NotificationTypeMax;
pub const WNV_OBJECT_TYPE = enum(i32) {
ProviderAddressType = 0,
CustomerAddressType = 1,
ObjectTypeMax = 2,
};
pub const WnvProviderAddressType = WNV_OBJECT_TYPE.ProviderAddressType;
pub const WnvCustomerAddressType = WNV_OBJECT_TYPE.CustomerAddressType;
pub const WnvObjectTypeMax = WNV_OBJECT_TYPE.ObjectTypeMax;
pub const WNV_CA_NOTIFICATION_TYPE = enum(i32) {
Added = 0,
Deleted = 1,
Moved = 2,
Max = 3,
};
pub const WnvCustomerAddressAdded = WNV_CA_NOTIFICATION_TYPE.Added;
pub const WnvCustomerAddressDeleted = WNV_CA_NOTIFICATION_TYPE.Deleted;
pub const WnvCustomerAddressMoved = WNV_CA_NOTIFICATION_TYPE.Moved;
pub const WnvCustomerAddressMax = WNV_CA_NOTIFICATION_TYPE.Max;
pub const WNV_OBJECT_HEADER = extern struct {
MajorVersion: u8,
MinorVersion: u8,
Size: u32,
};
pub const WNV_NOTIFICATION_PARAM = extern struct {
Header: WNV_OBJECT_HEADER,
NotificationType: WNV_NOTIFICATION_TYPE,
PendingNotifications: u32,
Buffer: ?*u8,
};
pub const WNV_IP_ADDRESS = extern struct {
IP: extern union {
v4: IN_ADDR,
v6: IN6_ADDR,
Addr: [16]u8,
},
};
pub const WNV_POLICY_MISMATCH_PARAM = extern struct {
CAFamily: u16,
PAFamily: u16,
VirtualSubnetId: u32,
CA: WNV_IP_ADDRESS,
PA: WNV_IP_ADDRESS,
};
pub const WNV_PROVIDER_ADDRESS_CHANGE_PARAM = extern struct {
PAFamily: u16,
PA: WNV_IP_ADDRESS,
AddressState: NL_DAD_STATE,
};
pub const WNV_CUSTOMER_ADDRESS_CHANGE_PARAM = extern struct {
MACAddress: DL_EUI48,
CAFamily: u16,
CA: WNV_IP_ADDRESS,
VirtualSubnetId: u32,
PAFamily: u16,
PA: WNV_IP_ADDRESS,
NotificationReason: WNV_CA_NOTIFICATION_TYPE,
};
pub const WNV_OBJECT_CHANGE_PARAM = extern struct {
ObjectType: WNV_OBJECT_TYPE,
ObjectParam: extern union {
ProviderAddressChange: WNV_PROVIDER_ADDRESS_CHANGE_PARAM,
CustomerAddressChange: WNV_CUSTOMER_ADDRESS_CHANGE_PARAM,
},
};
pub const WNV_REDIRECT_PARAM = extern struct {
CAFamily: u16,
PAFamily: u16,
NewPAFamily: u16,
VirtualSubnetId: u32,
CA: WNV_IP_ADDRESS,
PA: WNV_IP_ADDRESS,
NewPA: WNV_IP_ADDRESS,
};
//--------------------------------------------------------------------------------
// Section: Functions (2)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "wnvapi" fn WnvOpen(
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "wnvapi" fn WnvRequestNotification(
WnvHandle: ?HANDLE,
NotificationParam: ?*WNV_NOTIFICATION_PARAM,
Overlapped: ?*OVERLAPPED,
BytesTransferred: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (6)
//--------------------------------------------------------------------------------
const DL_EUI48 = @import("../network_management/windows_filtering_platform.zig").DL_EUI48;
const HANDLE = @import("../foundation.zig").HANDLE;
const IN6_ADDR = @import("../networking/win_sock.zig").IN6_ADDR;
const IN_ADDR = @import("../networking/win_sock.zig").IN_ADDR;
const NL_DAD_STATE = @import("../networking/win_sock.zig").NL_DAD_STATE;
const OVERLAPPED = @import("../system/io.zig").OVERLAPPED;
test {
@setEvalBranchQuota(
comptime @import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("builtin").is_test) return;
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
_ = @field(@This(), decl.name);
}
}