/// Specify an integer of 1 or higher to indicate the priority of the rule. Higher priority is given to rules with the lower priority values.
/// </summary>
publicuintPriority_u32;
/// <summary>
/// The flag if the rule is DISCARD operation or PASS operation. When a packet matches this rule condition, this operation is decided. When the operation of the rule is PASS, the packet is allowed to pass, otherwise the packet will be discarded.
/// </summary>
publicboolDiscard_bool;
/// <summary>
/// The flag if the rule is for IPv6. Specify false for IPv4, or specify true for IPv6.
/// </summary>
publicboolIsIPv6_bool;
/// <summary>
/// Valid only if the rule is IPv4 mode (IsIPv6_bool == false). Specify a source IPv4 address as a rule condition. You must also specify the SrcSubnetMask_ip field.
/// </summary>
publicstringSrcIpAddress_ip;
/// <summary>
/// Valid only if the rule is IPv4 mode (IsIPv6_bool == false). Specify a source IPv4 subnet mask as a rule condition. "0.0.0.0" means all hosts. "255.255.255.255" means one single host.
/// </summary>
publicstringSrcSubnetMask_ip;
/// <summary>
/// Valid only if the rule is IPv4 mode (IsIPv6_bool == false). Specify a destination IPv4 address as a rule condition. You must also specify the DestSubnetMask_ip field.
/// </summary>
publicstringDestIpAddress_ip;
/// <summary>
/// Valid only if the rule is IPv4 mode (IsIPv6_bool == false). Specify a destination IPv4 subnet mask as a rule condition. "0.0.0.0" means all hosts. "255.255.255.255" means one single host.
/// </summary>
publicstringDestSubnetMask_ip;
/// <summary>
/// Valid only if the rule is IPv6 mode (IsIPv6_bool == true). Specify a source IPv6 address as a rule condition. The field must be a byte array of 16 bytes (128 bits) to contain the IPv6 address in binary form. You must also specify the SrcSubnetMask6_bin field.
/// </summary>
publicbyte[]SrcIpAddress6_bin;
/// <summary>
/// Valid only if the rule is IPv6 mode (IsIPv6_bool == true). Specify a source IPv6 subnet mask as a rule condition. The field must be a byte array of 16 bytes (128 bits) to contain the IPv6 subnet mask in binary form.
/// </summary>
publicbyte[]SrcSubnetMask6_bin;
/// <summary>
/// Valid only if the rule is IPv6 mode (IsIPv6_bool == true). Specify a destination IPv6 address as a rule condition. The field must be a byte array of 16 bytes (128 bits) to contain the IPv6 address in binary form. You must also specify the DestSubnetMask6_bin field.
/// </summary>
publicbyte[]DestIpAddress6_bin;
/// <summary>
/// Valid only if the rule is IPv6 mode (IsIPv6_bool == true). Specify a destination IPv6 subnet mask as a rule condition. The field must be a byte array of 16 bytes (128 bits) to contain the IPv6 subnet mask in binary form.
/// </summary>
publicbyte[]DestSubnetMask6_bin;
/// <summary>
/// The IP protocol number
/// </summary>
publicVpnIpProtocolNumberProtocol_u32;
/// <summary>
/// The Start Value of the Source Port Number Range. If the specified protocol is TCP/IP or UDP/IP, specify the source port number as the rule condition. Protocols other than this will be ignored. When this parameter is not specified, the rules will apply to all port numbers.
/// </summary>
publicuintSrcPortStart_u32;
/// <summary>
/// The End Value of the Source Port Number Range. If the specified protocol is TCP/IP or UDP/IP, specify the source port number as the rule condition. Protocols other than this will be ignored. When this parameter is not specified, the rules will apply to all port numbers.
/// </summary>
publicuintSrcPortEnd_u32;
/// <summary>
/// The Start Value of the Destination Port Number Range. If the specified protocol is TCP/IP or UDP/IP, specify the destination port number as the rule condition. Protocols other than this will be ignored. When this parameter is not specified, the rules will apply to all port numbers.
/// </summary>
publicuintDestPortStart_u32;
/// <summary>
/// The End Value of the Destination Port Number Range. If the specified protocol is TCP/IP or UDP/IP, specify the destination port number as the rule condition. Protocols other than this will be ignored. When this parameter is not specified, the rules will apply to all port numbers.
/// </summary>
publicuintDestPortEnd_u32;
/// <summary>
/// Source user name. You can apply this rule to only the packets sent by a user session of a user name that has been specified as a rule condition. In this case, specify the user name.
/// </summary>
publicstringSrcUsername_str;
/// <summary>
/// Destination user name. You can apply this rule to only the packets received by a user session of a user name that has been specified as a rule condition. In this case, specify the user name.
/// </summary>
publicstringDestUsername_str;
/// <summary>
/// Specify true if you want to check the source MAC address.
/// </summary>
publicboolCheckSrcMac_bool;
/// <summary>
/// Source MAC address (6 bytes), valid only if CheckSrcMac_bool == true.
/// </summary>
publicbyte[]SrcMacAddress_bin;
/// <summary>
/// Source MAC address mask (6 bytes), valid only if CheckSrcMac_bool == true.
/// </summary>
publicbyte[]SrcMacMask_bin;
/// <summary>
/// Specify true if you want to check the destination MAC address.
/// </summary>
publicboolCheckDstMac_bool;
/// <summary>
/// Destination MAC address (6 bytes), valid only if CheckSrcMac_bool == true.
/// </summary>
publicbyte[]DstMacAddress_bin;
/// <summary>
/// Destination MAC address mask (6 bytes), valid only if CheckSrcMac_bool == true.
/// </summary>
publicbyte[]DstMacMask_bin;
/// <summary>
/// Specify true if you want to check the state of the TCP connection.
/// </summary>
publicboolCheckTcpState_bool;
/// <summary>
/// Valid only if CheckTcpState_bool == true. Set this field true to match only TCP-established packets. Set this field false to match only TCP-non established packets.
/// </summary>
publicboolEstablished_bool;
/// <summary>
/// Set this value to generate delays when packets is passing. Specify the delay period in milliseconds. Specify 0 means no delays to generate. The delays must be 10000 milliseconds at most.
/// </summary>
publicuintDelay_u32;
/// <summary>
/// Set this value to generate jitters when packets is passing. Specify the ratio of fluctuation of jitters within 0% to 100% range. Specify 0 means no jitters to generate.
/// </summary>
publicuintJitter_u32;
/// <summary>
/// Set this value to generate packet losses when packets is passing. Specify the ratio of packet losses within 0% to 100% range. Specify 0 means no packet losses to generate.
/// </summary>
publicuintLoss_u32;
/// <summary>
/// The specified URL will be mandatory replied to the client as a response for TCP connecting request packets which matches the conditions of this access list entry via this Virtual Hub. To use this setting, you can enforce the web browser of the VPN Client computer to show the specified web site when that web browser tries to access the specific IP address.
/// </summary>
publicstringRedirectUrl_str;
}
/// <summary>
/// Add an item to Access List
/// </summary>
publicclassVpnRpcAddAccess
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Access list (Must be a single item)
/// </summary>
publicVpnAccess[]AccessListSingle;
}
/// <summary>
/// Add CA to HUB
/// </summary>
publicclassVpnRpcHubAddCA
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// The body of the X.509 certificate
/// </summary>
publicbyte[]Cert_bin;
}
/// <summary>
/// CRL entry
/// </summary>
publicclassVpnRpcCrl
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Key ID
/// </summary>
publicuintKey_u32;
/// <summary>
/// CN, optional
/// </summary>
publicstringCommonName_utf;
/// <summary>
/// O, optional
/// </summary>
publicstringOrganization_utf;
/// <summary>
/// OU, optional
/// </summary>
publicstringUnit_utf;
/// <summary>
/// C, optional
/// </summary>
publicstringCountry_utf;
/// <summary>
/// ST, optional
/// </summary>
publicstringState_utf;
/// <summary>
/// L, optional
/// </summary>
publicstringLocal_utf;
/// <summary>
/// Serial, optional
/// </summary>
publicbyte[]Serial_bin;
/// <summary>
/// MD5 Digest, optional
/// </summary>
publicbyte[]DigestMD5_bin;
/// <summary>
/// SHA1 Digest, optional
/// </summary>
publicbyte[]DigestSHA1_bin;
}
/// <summary>
/// EtherIP key list entry
/// </summary>
publicclassVpnEtherIpId
{
/// <summary>
/// Specify an ISAKMP Phase 1 ID. The ID must be exactly same as a ID in the configuration of the EtherIP / L2TPv3 Client. You can specify IP address as well as characters as ID, if the EtherIP Client uses IP address as Phase 1 ID. If you specify '*' (asterisk), it will be a wildcard to match any clients which doesn't match other explicit rules.
/// </summary>
publicstringId_str;
/// <summary>
/// Specify the name of the Virtual Hub to connect.
/// </summary>
publicstringHubName_str;
/// <summary>
/// Specify the username to login to the destination Virtual Hub.
/// </summary>
publicstringUserName_str;
/// <summary>
/// Specify the password to login to the destination Virtual Hub.
/// </summary>
publicstringPassword_str;
}
/// <summary>
/// Layer-3 virtual interface
/// </summary>
publicclassVpnRpcL3If
{
/// <summary>
/// L3 switch name
/// </summary>
publicstringName_str;
/// <summary>
/// Virtual HUB name
/// </summary>
publicstringHubName_str;
/// <summary>
/// IP address
/// </summary>
publicstringIpAddress_ip;
/// <summary>
/// Subnet mask
/// </summary>
publicstringSubnetMask_ip;
}
/// <summary>
/// Layer-3 switch
/// </summary>
publicclassVpnRpcL3Sw
{
/// <summary>
/// Layer-3 Switch name
/// </summary>
publicstringName_str;
}
/// <summary>
/// Routing table
/// </summary>
publicclassVpnRpcL3Table
{
/// <summary>
/// L3 switch name
/// </summary>
publicstringName_str;
/// <summary>
/// Network address
/// </summary>
publicstringNetworkAddress_ip;
/// <summary>
/// Subnet mask
/// </summary>
publicstringSubnetMask_ip;
/// <summary>
/// Gateway address
/// </summary>
publicstringGatewayAddress_ip;
/// <summary>
/// Metric
/// </summary>
publicuintMetric_u32;
}
/// <summary>
/// Generic parameter to contain u32, u64, ascii_string and unicode string
/// </summary>
publicclassVpnRpcTest
{
/// <summary>
/// A 32-bit integer field
/// </summary>
publicuintIntValue_u32;
/// <summary>
/// A 64-bit integer field
/// </summary>
publiculongInt64Value_u64;
/// <summary>
/// An Ascii string field
/// </summary>
publicstringStrValue_str;
/// <summary>
/// An UTF-8 string field
/// </summary>
publicstringUniStrValue_utf;
}
/// <summary>
/// Local Bridge list item
/// </summary>
publicclassVpnRpcLocalBridge
{
/// <summary>
/// Physical Ethernet device name
/// </summary>
publicstringDeviceName_str;
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubNameLB_str;
/// <summary>
/// Online flag
/// </summary>
publicboolOnline_bool;
/// <summary>
/// Running flag
/// </summary>
publicboolActive_bool;
/// <summary>
/// Specify true if you are using a tap device rather than a network adapter for the bridge destination (only supported for Linux versions).
/// </summary>
publicboolTapMode_bool;
}
/// <summary>
/// Create, configure, and get the group
/// </summary>
publicclassVpnRpcSetGroup
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// The group name
/// </summary>
publicstringName_str;
/// <summary>
/// Optional real name (full name) of the group, allow using any Unicode characters
/// </summary>
publicstringRealname_utf;
/// <summary>
/// Optional, specify a description of the group
/// </summary>
publicstringNote_utf;
/// <summary>
/// Number of broadcast packets (Recv)
/// </summary>
[JsonProperty("Recv.BroadcastBytes_u64")]
publiculongRecv_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Recv)
/// </summary>
[JsonProperty("Recv.BroadcastCount_u64")]
publiculongRecv_BroadcastCount_u64;
/// <summary>
/// Unicast count (Recv)
/// </summary>
[JsonProperty("Recv.UnicastBytes_u64")]
publiculongRecv_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Recv)
/// </summary>
[JsonProperty("Recv.UnicastCount_u64")]
publiculongRecv_UnicastCount_u64;
/// <summary>
/// Number of broadcast packets (Send)
/// </summary>
[JsonProperty("Send.BroadcastBytes_u64")]
publiculongSend_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Send)
/// </summary>
[JsonProperty("Send.BroadcastCount_u64")]
publiculongSend_BroadcastCount_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Send.UnicastBytes_u64")]
publiculongSend_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Send.UnicastCount_u64")]
publiculongSend_UnicastCount_u64;
/// <summary>
/// The flag whether to use security policy
/// </summary>
publicboolUsePolicy_bool;
// ---- Start of Security policy ---
/// <summary>
/// Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server.
/// </summary>
[JsonProperty("policy:Access_bool")]
publicboolSecPol_Access_bool;
/// <summary>
/// Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:DHCPFilter_bool")]
publicboolSecPol_DHCPFilter_bool;
/// <summary>
/// Security policy: Disallow DHCP Server Operation (IPv4). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv4 addresses to DHCP clients.
/// </summary>
[JsonProperty("policy:DHCPNoServer_bool")]
publicboolSecPol_DHCPNoServer_bool;
/// <summary>
/// Security policy: Enforce DHCP Allocated IP Addresses (IPv4). Computers in sessions that have this policy setting will only be able to use IPv4 addresses allocated by a DHCP server on the virtual network side.
/// </summary>
[JsonProperty("policy:DHCPForce_bool")]
publicboolSecPol_DHCPForce_bool;
/// <summary>
/// Security policy: Deny Bridge Operation. Bridge-mode connections are denied for user sessions that have this policy setting. Even in cases when the Ethernet Bridge is configured in the client side, communication will not be possible.
/// </summary>
[JsonProperty("policy:NoBridge_bool")]
publicboolSecPol_NoBridge_bool;
/// <summary>
/// Security policy: Deny Routing Operation (IPv4). IPv4 routing will be denied for sessions that have this policy setting. Even in the case where the IP router is operating on the user client side, communication will not be possible.
/// </summary>
[JsonProperty("policy:NoRouting_bool")]
publicboolSecPol_NoRouting_bool;
/// <summary>
/// Security policy: Deny MAC Addresses Duplication. The use of duplicating MAC addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting.
/// </summary>
[JsonProperty("policy:CheckMac_bool")]
publicboolSecPol_CheckMac_bool;
/// <summary>
/// Security policy: Deny IP Address Duplication (IPv4). The use of duplicating IPv4 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting.
/// </summary>
[JsonProperty("policy:CheckIP_bool")]
publicboolSecPol_CheckIP_bool;
/// <summary>
/// Security policy: Deny Non-ARP / Non-DHCP / Non-ICMPv6 broadcasts. The sending or receiving of broadcast packets that are not ARP protocol, DHCP protocol, nor ICMPv6 on the virtual network will not be allowed for sessions with this policy setting.
/// </summary>
[JsonProperty("policy:ArpDhcpOnly_bool")]
publicboolSecPol_ArpDhcpOnly_bool;
/// <summary>
/// Security policy: Privacy Filter Mode. All direct communication between sessions with the privacy filter mode policy setting will be filtered.
/// </summary>
[JsonProperty("policy:PrivacyFilter_bool")]
publicboolSecPol_PrivacyFilter_bool;
/// <summary>
/// Security policy: Deny Operation as TCP/IP Server (IPv4). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv4.
/// </summary>
[JsonProperty("policy:NoServer_bool")]
publicboolSecPol_NoServer_bool;
/// <summary>
/// Security policy: Unlimited Number of Broadcasts. If a computer of a session with this policy setting sends broadcast packets of a number unusually larger than what would be considered normal on the virtual network, there will be no automatic limiting.
/// </summary>
[JsonProperty("policy:NoBroadcastLimiter_bool")]
publicboolSecPol_NoBroadcastLimiter_bool;
/// <summary>
/// Security policy: Allow Monitoring Mode. Users with this policy setting will be granted to connect to the Virtual Hub in Monitoring Mode. Sessions in Monitoring Mode are able to monitor (tap) all packets flowing through the Virtual Hub.
/// </summary>
[JsonProperty("policy:MonitorPort_bool")]
publicboolSecPol_MonitorPort_bool;
/// <summary>
/// Security policy: Maximum Number of TCP Connections. For sessions with this policy setting, this sets the maximum number of physical TCP connections consists in a physical VPN session.
/// </summary>
[JsonProperty("policy:MaxConnection_u32")]
publicuintSecPol_MaxConnection_u32;
/// <summary>
/// Security policy: Time-out Period. For sessions with this policy setting, this sets, in seconds, the time-out period to wait before disconnecting a session when communication trouble occurs between the VPN Client / VPN Server.
/// </summary>
[JsonProperty("policy:TimeOut_u32")]
publicuintSecPol_TimeOut_u32;
/// <summary>
/// Security policy: Maximum Number of MAC Addresses. For sessions with this policy setting, this limits the number of MAC addresses per session.
/// </summary>
[JsonProperty("policy:MaxMac_u32")]
publicuintSecPol_MaxMac_u32;
/// <summary>
/// Security policy: Maximum Number of IP Addresses (IPv4). For sessions with this policy setting, this specifies the number of IPv4 addresses that can be registered for a single session.
/// </summary>
[JsonProperty("policy:MaxIP_u32")]
publicuintSecPol_MaxIP_u32;
/// <summary>
/// Security policy: Upload Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the inwards direction from outside to inside the Virtual Hub.
/// </summary>
[JsonProperty("policy:MaxUpload_u32")]
publicuintSecPol_MaxUpload_u32;
/// <summary>
/// Security policy: Download Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the outwards direction from inside the Virtual Hub to outside the Virtual Hub.
/// </summary>
[JsonProperty("policy:MaxDownload_u32")]
publicuintSecPol_MaxDownload_u32;
/// <summary>
/// Security policy: Deny Changing Password. The users which use password authentication with this policy setting are not allowed to change their own password from the VPN Client Manager or similar.
/// </summary>
[JsonProperty("policy:FixPassword_bool")]
publicboolSecPol_FixPassword_bool;
/// <summary>
/// Security policy: Maximum Number of Multiple Logins. Users with this policy setting are unable to have more than this number of concurrent logins. Bridge Mode sessions are not subjects to this policy.
/// </summary>
[JsonProperty("policy:MultiLogins_u32")]
publicuintSecPol_MultiLogins_u32;
/// <summary>
/// Security policy: Deny VoIP / QoS Function. Users with this security policy are unable to use VoIP / QoS functions in VPN connection sessions.
/// </summary>
[JsonProperty("policy:NoQoS_bool")]
publicboolSecPol_NoQoS_bool;
/// <summary>
/// Security policy: Filter RS / RA Packets (IPv6). All ICMPv6 packets which the message-type is 133 (Router Solicitation) or 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, an IPv6 client will be unable to use IPv6 address prefix auto detection and IPv6 default gateway auto detection.
/// </summary>
[JsonProperty("policy:RSandRAFilter_bool")]
publicboolSecPol_RSandRAFilter_bool;
/// <summary>
/// Security policy: Filter RA Packets (IPv6). All ICMPv6 packets which the message-type is 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, a malicious users will be unable to spread illegal IPv6 prefix or default gateway advertisements on the network.
/// </summary>
[JsonProperty("policy:RAFilter_bool")]
publicboolSecPol_RAFilter_bool;
/// <summary>
/// Security policy: Filter DHCP Packets (IPv6). All IPv6 DHCP packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:DHCPv6Filter_bool")]
publicboolSecPol_DHCPv6Filter_bool;
/// <summary>
/// Security policy: Disallow DHCP Server Operation (IPv6). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv6 addresses to DHCP clients.
/// </summary>
[JsonProperty("policy:DHCPv6NoServer_bool")]
publicboolSecPol_DHCPv6NoServer_bool;
/// <summary>
/// Security policy: Deny Routing Operation (IPv6). IPv6 routing will be denied for sessions that have this policy setting. Even in the case where the IP router is operating on the user client side, communication will not be possible.
/// </summary>
[JsonProperty("policy:NoRoutingV6_bool")]
publicboolSecPol_NoRoutingV6_bool;
/// <summary>
/// Security policy: Deny IP Address Duplication (IPv6). The use of duplicating IPv6 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting.
/// </summary>
[JsonProperty("policy:CheckIPv6_bool")]
publicboolSecPol_CheckIPv6_bool;
/// <summary>
/// Security policy: Deny Operation as TCP/IP Server (IPv6). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv6.
/// </summary>
[JsonProperty("policy:NoServerV6_bool")]
publicboolSecPol_NoServerV6_bool;
/// <summary>
/// Security policy: Maximum Number of IP Addresses (IPv6). For sessions with this policy setting, this specifies the number of IPv6 addresses that can be registered for a single session.
/// </summary>
[JsonProperty("policy:MaxIPv6_u32")]
publicuintSecPol_MaxIPv6_u32;
/// <summary>
/// Security policy: Disallow Password Save in VPN Client. For users with this policy setting, when the user is using *standard* password authentication, the user will be unable to save the password in VPN Client. The user will be required to input passwords for every time to connect a VPN. This will improve the security. If this policy is enabled, VPN Client Version 2.0 will be denied to access.
/// </summary>
[JsonProperty("policy:NoSavePassword_bool")]
publicboolSecPol_NoSavePassword_bool;
/// <summary>
/// Security policy: VPN Client Automatic Disconnect. For users with this policy setting, a user's VPN session will be disconnected automatically after the specific period will elapse. In this case no automatic re-connection will be performed. This can prevent a lot of inactive VPN Sessions. If this policy is enabled, VPN Client Version 2.0 will be denied to access.
/// </summary>
[JsonProperty("policy:AutoDisconnect_u32")]
publicuintSecPol_AutoDisconnect_u32;
/// <summary>
/// Security policy: Filter All IPv4 Packets. All IPv4 and ARP packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:FilterIPv4_bool")]
publicboolSecPol_FilterIPv4_bool;
/// <summary>
/// Security policy: Filter All IPv6 Packets. All IPv6 packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:FilterIPv6_bool")]
publicboolSecPol_FilterIPv6_bool;
/// <summary>
/// Security policy: Filter All Non-IP Packets. All non-IP packets in sessions defined this policy will be filtered. "Non-IP packet" mean a packet which is not IPv4, ARP nor IPv6. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets.
/// </summary>
[JsonProperty("policy:FilterNonIP_bool")]
publicboolSecPol_FilterNonIP_bool;
/// <summary>
/// Security policy: No Default-Router on IPv6 RA. In all VPN Sessions defines this policy, any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router.
/// Security policy: No Default-Router on IPv6 RA (physical IPv6). In all VPN Sessions defines this policy (only when the physical communication protocol between VPN Client / VPN Bridge and VPN Server is IPv6), any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router.
/// Security policy: VLAN ID (IEEE802.1Q). You can specify the VLAN ID on the security policy. All VPN Sessions defines this policy, all Ethernet packets toward the Virtual Hub from the user will be inserted a VLAN tag (IEEE 802.1Q) with the VLAN ID. The user can also receive only packets with a VLAN tag which has the same VLAN ID. (Receiving process removes the VLAN tag automatically.) Any Ethernet packets with any other VLAN IDs or non-VLAN packets will not be received. All VPN Sessions without this policy definition can send / receive any kinds of Ethernet packets regardless of VLAN tags, and VLAN tags are not inserted or removed automatically. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets. Therefore, tagged-VLAN packets are not subjects for IPv4 / IPv6 security policies, access lists nor other IPv4 / IPv6 specific deep processing.
/// </summary>
[JsonProperty("policy:VLanId_u32")]
publicuintSecPol_VLanId_u32;
/// <summary>
/// Security policy: Whether version 3.0 (must be true)
/// </summary>
[JsonProperty("policy:Ver3_bool")]
publicboolSecPol_Ver3_bool=true;
// ---- End of Security policy ---
}
/// <summary>
/// Hub types
/// </summary>
publicenumVpnRpcHubType
{
/// <summary>
/// Stand-alone HUB
/// </summary>
Standalone=0,
/// <summary>
/// Static HUB
/// </summary>
FarmStatic=1,
/// <summary>
/// Dynamic HUB
/// </summary>
FarmDynamic=2,
}
/// <summary>
/// Create a HUB
/// </summary>
publicclassVpnRpcCreateHub
{
/// <summary>
/// Specify the name of the Virtual Hub to create / update.
/// </summary>
publicstringHubName_str;
/// <summary>
/// Specify an administrator password when the administrator password is going to be set for the Virtual Hub. On the update, leave it to empty string if you don't want to change the password.
/// </summary>
publicstringAdminPasswordPlainText_str;
/// <summary>
/// Online flag
/// </summary>
publicboolOnline_bool;
/// <summary>
/// Maximum number of VPN sessions
/// </summary>
publicuintMaxSession_u32;
/// <summary>
/// No Enum flag. By enabling this option, the VPN Client user will be unable to enumerate this Virtual Hub even if they send a Virtual Hub enumeration request to the VPN Server.
/// </summary>
publicboolNoEnum_bool;
/// <summary>
/// Type of the Virtual Hub (Valid only for Clustered VPN Servers)
/// </summary>
publicVpnRpcHubTypeHubType_u32;
}
publicenumVpnRpcClientAuthType
{
/// <summary>
/// Anonymous authentication
/// </summary>
Anonymous=0,
/// <summary>
/// SHA-0 hashed password authentication
/// </summary>
SHA0_Hashed_Password=1,
/// <summary>
/// Plain password authentication
/// </summary>
PlainPassword=2,
/// <summary>
/// Certificate authentication
/// </summary>
Cert=3,
}
/// <summary>
/// Create and set of link
/// </summary>
publicclassVpnRpcCreateLink
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_Ex_str;
/// <summary>
/// Online flag
/// </summary>
publicboolOnline_bool;
/// <summary>
/// The flag to enable validation for the server certificate
/// </summary>
publicboolCheckServerCert_bool;
/// <summary>
/// The body of server X.509 certificate to compare. Valid only if the CheckServerCert_bool flag is true.
/// </summary>
publicbyte[]ServerCert_bin;
// ---- Start of Client Option Parameters ---
/// <summary>
/// Client Option Parameters: Specify the name of the Cascade Connection
/// </summary>
[JsonProperty("AccountName_utf")]
publicstringClientOption_AccountName_utf;
/// <summary>
/// Client Option Parameters: Specify the hostname of the destination VPN Server. You can also specify by IP address.
/// </summary>
[JsonProperty("Hostname_str")]
publicstringClientOption_Hostname_str;
/// <summary>
/// Client Option Parameters: Specify the port number of the destination VPN Server.
/// </summary>
[JsonProperty("Port_u32")]
publicuintClientOption_Port_u32;
/// <summary>
/// Client Option Parameters: The type of the proxy server
/// </summary>
[JsonProperty("ProxyType_u32")]
publicVpnRpcProxyTypeClientOption_ProxyType_u32;
/// <summary>
/// Client Option Parameters: The hostname or IP address of the proxy server name
/// </summary>
[JsonProperty("ProxyName_str")]
publicstringClientOption_ProxyName_str;
/// <summary>
/// Client Option Parameters: The port number of the proxy server
/// </summary>
[JsonProperty("ProxyPort_u32")]
publicuintClientOption_ProxyPort_u32;
/// <summary>
/// Client Option Parameters: The username to connect to the proxy server
/// </summary>
[JsonProperty("ProxyUsername_str")]
publicstringClientOption_ProxyUsername_str;
/// <summary>
/// Client Option Parameters: The password to connect to the proxy server
/// </summary>
[JsonProperty("ProxyPassword_str")]
publicstringClientOption_ProxyPassword_str;
/// <summary>
/// Client Option Parameters: The Virtual Hub on the destination VPN Server
/// </summary>
[JsonProperty("HubName_str")]
publicstringClientOption_HubName_str;
/// <summary>
/// Client Option Parameters: Number of TCP Connections to Use in VPN Communication
/// </summary>
[JsonProperty("MaxConnection_u32")]
publicuintClientOption_MaxConnection_u32;
/// <summary>
/// Client Option Parameters: The flag to enable the encryption on the communication
/// </summary>
[JsonProperty("UseEncrypt_bool")]
publicboolClientOption_UseEncrypt_bool;
/// <summary>
/// Client Option Parameters: Enable / Disable Data Compression when Communicating by Cascade Connection
/// </summary>
[JsonProperty("UseCompress_bool")]
publicboolClientOption_UseCompress_bool;
/// <summary>
/// Client Option Parameters: Specify true when enabling half duplex mode. When using two or more TCP connections for VPN communication, it is possible to use Half Duplex Mode. By enabling half duplex mode it is possible to automatically fix data transmission direction as half and half for each TCP connection. In the case where a VPN using 8 TCP connections is established, for example, when half-duplex is enabled, communication can be fixes so that 4 TCP connections are dedicated to the upload direction and the other 4 connections are dedicated to the download direction.
/// </summary>
[JsonProperty("HalfConnection_bool")]
publicboolClientOption_HalfConnection_bool;
/// <summary>
/// Client Option Parameters: Connection attempt interval when additional connection will be established
/// SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(UpperCase(username_ascii_string) + password_ascii_string).
/// </summary>
[JsonProperty("HashedPassword_bin")]
publicbyte[]ClientAuth_HashedPassword_bin;
/// <summary>
/// Plaintext Password. Valid only if ClientAuth_AuthType_u32 == PlainPassword (2).
/// </summary>
[JsonProperty("PlainPassword_str")]
publicstringClientAuth_PlainPassword_str;
/// <summary>
/// Client certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
/// </summary>
[JsonProperty("ClientX_bin")]
publicbyte[]ClientAuth_ClientX_bin;
/// <summary>
/// Client private key of the certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
/// </summary>
[JsonProperty("ClientK_bin")]
publicbyte[]ClientAuth_ClientK_bin;
/// <summary>
/// Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:DHCPFilter_bool")]
publicboolSecPol_DHCPFilter_bool;
/// <summary>
/// Security policy: Disallow DHCP Server Operation (IPv4). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv4 addresses to DHCP clients.
/// </summary>
[JsonProperty("policy:DHCPNoServer_bool")]
publicboolSecPol_DHCPNoServer_bool;
/// <summary>
/// Security policy: Enforce DHCP Allocated IP Addresses (IPv4). Computers in sessions that have this policy setting will only be able to use IPv4 addresses allocated by a DHCP server on the virtual network side.
/// </summary>
[JsonProperty("policy:DHCPForce_bool")]
publicboolSecPol_DHCPForce_bool;
/// <summary>
/// Security policy: Prohibit the duplicate MAC address
/// </summary>
/// Security policy: Deny MAC Addresses Duplication. The use of duplicating MAC addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting.
publicboolSecPol_CheckMac_bool;
/// <summary>
/// Security policy: Prohibit a duplicate IP address (IPv4)
/// </summary>
/// Security policy: Deny IP Address Duplication (IPv4). The use of duplicating IPv4 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting.
publicboolSecPol_CheckIP_bool;
/// <summary>
/// Security policy: Deny Non-ARP / Non-DHCP / Non-ICMPv6 broadcasts. The sending or receiving of broadcast packets that are not ARP protocol, DHCP protocol, nor ICMPv6 on the virtual network will not be allowed for sessions with this policy setting.
/// </summary>
[JsonProperty("policy:ArpDhcpOnly_bool")]
publicboolSecPol_ArpDhcpOnly_bool;
/// <summary>
/// Security policy: Privacy Filter Mode. All direct communication between sessions with the privacy filter mode policy setting will be filtered.
/// </summary>
[JsonProperty("policy:PrivacyFilter_bool")]
publicboolSecPol_PrivacyFilter_bool;
/// <summary>
/// Security policy: Deny Operation as TCP/IP Server (IPv4). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv4.
/// </summary>
[JsonProperty("policy:NoServer_bool")]
publicboolSecPol_NoServer_bool;
/// <summary>
/// Security policy: Unlimited Number of Broadcasts. If a computer of a session with this policy setting sends broadcast packets of a number unusually larger than what would be considered normal on the virtual network, there will be no automatic limiting.
/// </summary>
[JsonProperty("policy:NoBroadcastLimiter_bool")]
publicboolSecPol_NoBroadcastLimiter_bool;
/// <summary>
/// Security policy: Maximum Number of MAC Addresses. For sessions with this policy setting, this limits the number of MAC addresses per session.
/// </summary>
[JsonProperty("policy:MaxMac_u32")]
publicuintSecPol_MaxMac_u32;
/// <summary>
/// Security policy: Maximum Number of IP Addresses (IPv4). For sessions with this policy setting, this specifies the number of IPv4 addresses that can be registered for a single session.
/// </summary>
[JsonProperty("policy:MaxIP_u32")]
publicuintSecPol_MaxIP_u32;
/// <summary>
/// Security policy: Upload Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the inwards direction from outside to inside the Virtual Hub.
/// </summary>
[JsonProperty("policy:MaxUpload_u32")]
publicuintSecPol_MaxUpload_u32;
/// <summary>
/// Security policy: Download Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the outwards direction from inside the Virtual Hub to outside the Virtual Hub.
/// </summary>
[JsonProperty("policy:MaxDownload_u32")]
publicuintSecPol_MaxDownload_u32;
/// <summary>
/// Security policy: Filter RS / RA Packets (IPv6). All ICMPv6 packets which the message-type is 133 (Router Solicitation) or 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, an IPv6 client will be unable to use IPv6 address prefix auto detection and IPv6 default gateway auto detection.
/// </summary>
[JsonProperty("policy:RSandRAFilter_bool")]
publicboolSecPol_RSandRAFilter_bool;
/// <summary>
/// Security policy: Filter the router advertisement packet (IPv6)
/// </summary>
/// Security policy: Filter RA Packets (IPv6). All ICMPv6 packets which the message-type is 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, a malicious users will be unable to spread illegal IPv6 prefix or default gateway advertisements on the network.
publicboolSecPol_RAFilter_bool;
/// <summary>
/// Security policy: Filter DHCP Packets (IPv6). All IPv6 DHCP packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:DHCPv6Filter_bool")]
publicboolSecPol_DHCPv6Filter_bool;
/// <summary>
/// Security policy: Disallow DHCP Server Operation (IPv6). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv6 addresses to DHCP clients.
/// </summary>
[JsonProperty("policy:DHCPv6NoServer_bool")]
publicboolSecPol_DHCPv6NoServer_bool;
/// <summary>
/// Security policy: Prohibit the duplicate IP address (IPv6)
/// </summary>
/// Security policy: Deny IP Address Duplication (IPv6). The use of duplicating IPv6 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting.
publicboolSecPol_CheckIPv6_bool;
/// <summary>
/// Security policy: Deny Operation as TCP/IP Server (IPv6). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv6.
/// </summary>
[JsonProperty("policy:NoServerV6_bool")]
publicboolSecPol_NoServerV6_bool;
/// <summary>
/// Security policy: Maximum Number of IP Addresses (IPv6). For sessions with this policy setting, this specifies the number of IPv6 addresses that can be registered for a single session.
/// </summary>
[JsonProperty("policy:MaxIPv6_u32")]
publicuintSecPol_MaxIPv6_u32;
/// <summary>
/// Security policy: Filter All IPv4 Packets. All IPv4 and ARP packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:FilterIPv4_bool")]
publicboolSecPol_FilterIPv4_bool;
/// <summary>
/// Security policy: Filter All IPv6 Packets. All IPv6 packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:FilterIPv6_bool")]
publicboolSecPol_FilterIPv6_bool;
/// <summary>
/// Security policy: Filter All Non-IP Packets. All non-IP packets in sessions defined this policy will be filtered. "Non-IP packet" mean a packet which is not IPv4, ARP nor IPv6. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets.
/// </summary>
[JsonProperty("policy:FilterNonIP_bool")]
publicboolSecPol_FilterNonIP_bool;
/// <summary>
/// Security policy: No Default-Router on IPv6 RA. In all VPN Sessions defines this policy, any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router.
/// Security policy: VLAN ID (IEEE802.1Q). You can specify the VLAN ID on the security policy. All VPN Sessions defines this policy, all Ethernet packets toward the Virtual Hub from the user will be inserted a VLAN tag (IEEE 802.1Q) with the VLAN ID. The user can also receive only packets with a VLAN tag which has the same VLAN ID. (Receiving process removes the VLAN tag automatically.) Any Ethernet packets with any other VLAN IDs or non-VLAN packets will not be received. All VPN Sessions without this policy definition can send / receive any kinds of Ethernet packets regardless of VLAN tags, and VLAN tags are not inserted or removed automatically. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets. Therefore, tagged-VLAN packets are not subjects for IPv4 / IPv6 security policies, access lists nor other IPv4 / IPv6 specific deep processing.
/// </summary>
[JsonProperty("policy:VLanId_u32")]
publicuintSecPol_VLanId_u32;
/// <summary>
/// Security policy: Whether version 3.0 (must be true)
/// </summary>
[JsonProperty("policy:Ver3_bool")]
publicboolSecPol_Ver3_bool=true;
// ---- End of Security policy ---
}
/// <summary>
/// Listener
/// </summary>
publicclassVpnRpcListener
{
/// <summary>
/// Port number (Range: 1 - 65535)
/// </summary>
publicuintPort_u32;
/// <summary>
/// Active state
/// </summary>
publicboolEnable_bool;
}
/// <summary>
/// User authentication type (server side)
/// </summary>
publicenumVpnRpcUserAuthType
{
/// <summary>
/// Anonymous authentication
/// </summary>
Anonymous=0,
/// <summary>
/// Password authentication
/// </summary>
Password=1,
/// <summary>
/// User certificate authentication
/// </summary>
UserCert=2,
/// <summary>
/// Root certificate which is issued by trusted Certificate Authority
/// </summary>
RootCert=3,
/// <summary>
/// Radius authentication
/// </summary>
Radius=4,
/// <summary>
/// Windows NT authentication
/// </summary>
NTDomain=5,
}
/// <summary>
/// Create, configure, and get the user
/// </summary>
publicclassVpnRpcSetUser
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Specify the user name of the user
/// </summary>
publicstringName_str;
/// <summary>
/// Assigned group name for the user
/// </summary>
publicstringGroupName_str;
/// <summary>
/// Optional real name (full name) of the user, allow using any Unicode characters
/// </summary>
publicstringRealname_utf;
/// <summary>
/// Optional User Description
/// </summary>
publicstringNote_utf;
/// <summary>
/// Creation date and time
/// </summary>
publicDateTimeCreatedTime_dt;
/// <summary>
/// Last modified date and time
/// </summary>
publicDateTimeUpdatedTime_dt;
/// <summary>
/// Expiration date and time
/// </summary>
publicDateTimeExpireTime_dt;
/// <summary>
/// Authentication method of the user
/// </summary>
publicVpnRpcUserAuthTypeAuthType_u32;
/// <summary>
/// User password, valid only if AuthType_u32 == Password(1). Valid only to create or set operations.
/// </summary>
publicstringAuth_Password_str;
/// <summary>
/// User certificate, valid only if AuthType_u32 == UserCert(2).
/// </summary>
[JsonProperty("UserX_bin")]
publicbyte[]Auth_UserCert_CertData;
/// <summary>
/// Certificate Serial Number, optional, valid only if AuthType_u32 == RootCert(3).
/// </summary>
[JsonProperty("Serial_bin")]
publicbyte[]Auth_RootCert_Serial;
/// <summary>
/// Certificate Common Name, optional, valid only if AuthType_u32 == RootCert(3).
/// </summary>
[JsonProperty("CommonName_utf")]
publicstringAuth_RootCert_CommonName;
/// <summary>
/// Username in RADIUS server, optional, valid only if AuthType_u32 == Radius(4).
/// </summary>
[JsonProperty("RadiusUsername_utf")]
publicstringAuth_Radius_RadiusUsername;
/// <summary>
/// Username in NT Domain server, optional, valid only if AuthType_u32 == NT(5).
/// </summary>
[JsonProperty("NtUsername_utf")]
publicstringAuth_NT_NTUsername;
/// <summary>
/// Number of total logins of the user
/// </summary>
publicuintNumLogin_u32;
/// <summary>
/// Number of broadcast packets (Recv)
/// </summary>
[JsonProperty("Recv.BroadcastBytes_u64")]
publiculongRecv_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Recv)
/// </summary>
[JsonProperty("Recv.BroadcastCount_u64")]
publiculongRecv_BroadcastCount_u64;
/// <summary>
/// Unicast count (Recv)
/// </summary>
[JsonProperty("Recv.UnicastBytes_u64")]
publiculongRecv_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Recv)
/// </summary>
[JsonProperty("Recv.UnicastCount_u64")]
publiculongRecv_UnicastCount_u64;
/// <summary>
/// Number of broadcast packets (Send)
/// </summary>
[JsonProperty("Send.BroadcastBytes_u64")]
publiculongSend_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Send)
/// </summary>
[JsonProperty("Send.BroadcastCount_u64")]
publiculongSend_BroadcastCount_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Send.UnicastBytes_u64")]
publiculongSend_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Send.UnicastCount_u64")]
publiculongSend_UnicastCount_u64;
/// <summary>
/// The flag whether to use security policy
/// </summary>
publicboolUsePolicy_bool;
// ---- Start of Security policy ---
/// <summary>
/// Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server.
/// </summary>
[JsonProperty("policy:Access_bool")]
publicboolSecPol_Access_bool;
/// <summary>
/// Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:DHCPFilter_bool")]
publicboolSecPol_DHCPFilter_bool;
/// <summary>
/// Security policy: Disallow DHCP Server Operation (IPv4). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv4 addresses to DHCP clients.
/// </summary>
[JsonProperty("policy:DHCPNoServer_bool")]
publicboolSecPol_DHCPNoServer_bool;
/// <summary>
/// Security policy: Enforce DHCP Allocated IP Addresses (IPv4). Computers in sessions that have this policy setting will only be able to use IPv4 addresses allocated by a DHCP server on the virtual network side.
/// </summary>
[JsonProperty("policy:DHCPForce_bool")]
publicboolSecPol_DHCPForce_bool;
/// <summary>
/// Security policy: Deny Bridge Operation. Bridge-mode connections are denied for user sessions that have this policy setting. Even in cases when the Ethernet Bridge is configured in the client side, communication will not be possible.
/// </summary>
[JsonProperty("policy:NoBridge_bool")]
publicboolSecPol_NoBridge_bool;
/// <summary>
/// Security policy: Deny Routing Operation (IPv4). IPv4 routing will be denied for sessions that have this policy setting. Even in the case where the IP router is operating on the user client side, communication will not be possible.
/// </summary>
[JsonProperty("policy:NoRouting_bool")]
publicboolSecPol_NoRouting_bool;
/// <summary>
/// Security policy: Deny MAC Addresses Duplication. The use of duplicating MAC addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting.
/// </summary>
[JsonProperty("policy:CheckMac_bool")]
publicboolSecPol_CheckMac_bool;
/// <summary>
/// Security policy: Deny IP Address Duplication (IPv4). The use of duplicating IPv4 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting.
/// </summary>
[JsonProperty("policy:CheckIP_bool")]
publicboolSecPol_CheckIP_bool;
/// <summary>
/// Security policy: Deny Non-ARP / Non-DHCP / Non-ICMPv6 broadcasts. The sending or receiving of broadcast packets that are not ARP protocol, DHCP protocol, nor ICMPv6 on the virtual network will not be allowed for sessions with this policy setting.
/// </summary>
[JsonProperty("policy:ArpDhcpOnly_bool")]
publicboolSecPol_ArpDhcpOnly_bool;
/// <summary>
/// Security policy: Privacy Filter Mode. All direct communication between sessions with the privacy filter mode policy setting will be filtered.
/// </summary>
[JsonProperty("policy:PrivacyFilter_bool")]
publicboolSecPol_PrivacyFilter_bool;
/// <summary>
/// Security policy: Deny Operation as TCP/IP Server (IPv4). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv4.
/// </summary>
[JsonProperty("policy:NoServer_bool")]
publicboolSecPol_NoServer_bool;
/// <summary>
/// Security policy: Unlimited Number of Broadcasts. If a computer of a session with this policy setting sends broadcast packets of a number unusually larger than what would be considered normal on the virtual network, there will be no automatic limiting.
/// </summary>
[JsonProperty("policy:NoBroadcastLimiter_bool")]
publicboolSecPol_NoBroadcastLimiter_bool;
/// <summary>
/// Security policy: Allow Monitoring Mode. Users with this policy setting will be granted to connect to the Virtual Hub in Monitoring Mode. Sessions in Monitoring Mode are able to monitor (tap) all packets flowing through the Virtual Hub.
/// </summary>
[JsonProperty("policy:MonitorPort_bool")]
publicboolSecPol_MonitorPort_bool;
/// <summary>
/// Security policy: Maximum Number of TCP Connections. For sessions with this policy setting, this sets the maximum number of physical TCP connections consists in a physical VPN session.
/// </summary>
[JsonProperty("policy:MaxConnection_u32")]
publicuintSecPol_MaxConnection_u32;
/// <summary>
/// Security policy: Time-out Period. For sessions with this policy setting, this sets, in seconds, the time-out period to wait before disconnecting a session when communication trouble occurs between the VPN Client / VPN Server.
/// </summary>
[JsonProperty("policy:TimeOut_u32")]
publicuintSecPol_TimeOut_u32;
/// <summary>
/// Security policy: Maximum Number of MAC Addresses. For sessions with this policy setting, this limits the number of MAC addresses per session.
/// </summary>
[JsonProperty("policy:MaxMac_u32")]
publicuintSecPol_MaxMac_u32;
/// <summary>
/// Security policy: Maximum Number of IP Addresses (IPv4). For sessions with this policy setting, this specifies the number of IPv4 addresses that can be registered for a single session.
/// </summary>
[JsonProperty("policy:MaxIP_u32")]
publicuintSecPol_MaxIP_u32;
/// <summary>
/// Security policy: Upload Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the inwards direction from outside to inside the Virtual Hub.
/// </summary>
[JsonProperty("policy:MaxUpload_u32")]
publicuintSecPol_MaxUpload_u32;
/// <summary>
/// Security policy: Download Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the outwards direction from inside the Virtual Hub to outside the Virtual Hub.
/// </summary>
[JsonProperty("policy:MaxDownload_u32")]
publicuintSecPol_MaxDownload_u32;
/// <summary>
/// Security policy: Deny Changing Password. The users which use password authentication with this policy setting are not allowed to change their own password from the VPN Client Manager or similar.
/// </summary>
[JsonProperty("policy:FixPassword_bool")]
publicboolSecPol_FixPassword_bool;
/// <summary>
/// Security policy: Maximum Number of Multiple Logins. Users with this policy setting are unable to have more than this number of concurrent logins. Bridge Mode sessions are not subjects to this policy.
/// </summary>
[JsonProperty("policy:MultiLogins_u32")]
publicuintSecPol_MultiLogins_u32;
/// <summary>
/// Security policy: Deny VoIP / QoS Function. Users with this security policy are unable to use VoIP / QoS functions in VPN connection sessions.
/// </summary>
[JsonProperty("policy:NoQoS_bool")]
publicboolSecPol_NoQoS_bool;
/// <summary>
/// Security policy: Filter RS / RA Packets (IPv6). All ICMPv6 packets which the message-type is 133 (Router Solicitation) or 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, an IPv6 client will be unable to use IPv6 address prefix auto detection and IPv6 default gateway auto detection.
/// </summary>
[JsonProperty("policy:RSandRAFilter_bool")]
publicboolSecPol_RSandRAFilter_bool;
/// <summary>
/// Security policy: Filter RA Packets (IPv6). All ICMPv6 packets which the message-type is 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, a malicious users will be unable to spread illegal IPv6 prefix or default gateway advertisements on the network.
/// </summary>
[JsonProperty("policy:RAFilter_bool")]
publicboolSecPol_RAFilter_bool;
/// <summary>
/// Security policy: Filter DHCP Packets (IPv6). All IPv6 DHCP packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:DHCPv6Filter_bool")]
publicboolSecPol_DHCPv6Filter_bool;
/// <summary>
/// Security policy: Disallow DHCP Server Operation (IPv6). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv6 addresses to DHCP clients.
/// </summary>
[JsonProperty("policy:DHCPv6NoServer_bool")]
publicboolSecPol_DHCPv6NoServer_bool;
/// <summary>
/// Security policy: Deny Routing Operation (IPv6). IPv6 routing will be denied for sessions that have this policy setting. Even in the case where the IP router is operating on the user client side, communication will not be possible.
/// </summary>
[JsonProperty("policy:NoRoutingV6_bool")]
publicboolSecPol_NoRoutingV6_bool;
/// <summary>
/// Security policy: Deny IP Address Duplication (IPv6). The use of duplicating IPv6 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting.
/// </summary>
[JsonProperty("policy:CheckIPv6_bool")]
publicboolSecPol_CheckIPv6_bool;
/// <summary>
/// Security policy: Deny Operation as TCP/IP Server (IPv6). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv6.
/// </summary>
[JsonProperty("policy:NoServerV6_bool")]
publicboolSecPol_NoServerV6_bool;
/// <summary>
/// Security policy: Maximum Number of IP Addresses (IPv6). For sessions with this policy setting, this specifies the number of IPv6 addresses that can be registered for a single session.
/// </summary>
[JsonProperty("policy:MaxIPv6_u32")]
publicuintSecPol_MaxIPv6_u32;
/// <summary>
/// Security policy: Disallow Password Save in VPN Client. For users with this policy setting, when the user is using *standard* password authentication, the user will be unable to save the password in VPN Client. The user will be required to input passwords for every time to connect a VPN. This will improve the security. If this policy is enabled, VPN Client Version 2.0 will be denied to access.
/// </summary>
[JsonProperty("policy:NoSavePassword_bool")]
publicboolSecPol_NoSavePassword_bool;
/// <summary>
/// Security policy: VPN Client Automatic Disconnect. For users with this policy setting, a user's VPN session will be disconnected automatically after the specific period will elapse. In this case no automatic re-connection will be performed. This can prevent a lot of inactive VPN Sessions. If this policy is enabled, VPN Client Version 2.0 will be denied to access.
/// </summary>
[JsonProperty("policy:AutoDisconnect_u32")]
publicuintSecPol_AutoDisconnect_u32;
/// <summary>
/// Security policy: Filter All IPv4 Packets. All IPv4 and ARP packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:FilterIPv4_bool")]
publicboolSecPol_FilterIPv4_bool;
/// <summary>
/// Security policy: Filter All IPv6 Packets. All IPv6 packets in sessions defined this policy will be filtered.
/// </summary>
[JsonProperty("policy:FilterIPv6_bool")]
publicboolSecPol_FilterIPv6_bool;
/// <summary>
/// Security policy: Filter All Non-IP Packets. All non-IP packets in sessions defined this policy will be filtered. "Non-IP packet" mean a packet which is not IPv4, ARP nor IPv6. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets.
/// </summary>
[JsonProperty("policy:FilterNonIP_bool")]
publicboolSecPol_FilterNonIP_bool;
/// <summary>
/// Security policy: No Default-Router on IPv6 RA. In all VPN Sessions defines this policy, any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router.
/// Security policy: No Default-Router on IPv6 RA (physical IPv6). In all VPN Sessions defines this policy (only when the physical communication protocol between VPN Client / VPN Bridge and VPN Server is IPv6), any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router.
/// Security policy: VLAN ID (IEEE802.1Q). You can specify the VLAN ID on the security policy. All VPN Sessions defines this policy, all Ethernet packets toward the Virtual Hub from the user will be inserted a VLAN tag (IEEE 802.1Q) with the VLAN ID. The user can also receive only packets with a VLAN tag which has the same VLAN ID. (Receiving process removes the VLAN tag automatically.) Any Ethernet packets with any other VLAN IDs or non-VLAN packets will not be received. All VPN Sessions without this policy definition can send / receive any kinds of Ethernet packets regardless of VLAN tags, and VLAN tags are not inserted or removed automatically. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets. Therefore, tagged-VLAN packets are not subjects for IPv4 / IPv6 security policies, access lists nor other IPv4 / IPv6 specific deep processing.
/// </summary>
[JsonProperty("policy:VLanId_u32")]
publicuintSecPol_VLanId_u32;
/// <summary>
/// Security policy: Whether version 3.0 (must be true)
/// </summary>
[JsonProperty("policy:Ver3_bool")]
publicboolSecPol_Ver3_bool=true;
// ---- End of Security policy ---
}
/// <summary>
/// Delete the access list
/// </summary>
publicclassVpnRpcDeleteAccess
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// ID
/// </summary>
publicuintId_u32;
}
/// <summary>
/// Delete the CA of HUB
/// </summary>
publicclassVpnRpcHubDeleteCA
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Certificate key id to be deleted
/// </summary>
publicuintKey_u32;
}
/// <summary>
/// Deleting a user or group
/// </summary>
publicclassVpnRpcDeleteUser
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// User or group name
/// </summary>
publicstringName_str;
}
/// <summary>
/// Delete the HUB
/// </summary>
publicclassVpnRpcDeleteHub
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
}
/// <summary>
/// Delete the table
/// </summary>
publicclassVpnRpcDeleteTable
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Key ID
/// </summary>
publicuintKey_u32;
}
/// <summary>
/// Specify the Link
/// </summary>
publicclassVpnRpcLink
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// The name of the cascade connection
/// </summary>
publicstringAccountName_utf;
}
/// <summary>
/// Disconnect the session
/// </summary>
publicclassVpnRpcDeleteSession
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Session name
/// </summary>
publicstringName_str;
}
/// <summary>
/// Specify the HUB
/// </summary>
publicclassVpnRpcHub
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
}
/// <summary>
/// Disconnect a connection
/// </summary>
publicclassVpnRpcDisconnectConnection
{
/// <summary>
/// Connection name
/// </summary>
publicstringName_str;
}
/// <summary>
/// Enumeration of the access list
/// </summary>
publicclassVpnRpcEnumAccessList
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Access list
/// </summary>
publicVpnAccess[]AccessList;
}
/// <summary>
/// CA enumeration items of HUB
/// </summary>
publicclassVpnRpcHubEnumCAItem
{
/// <summary>
/// The key id of the item
/// </summary>
publicuintKey_u32;
/// <summary>
/// Subject
/// </summary>
publicstringSubjectName_utf;
/// <summary>
/// Issuer
/// </summary>
publicstringIssuerName_utf;
/// <summary>
/// Expiration date
/// </summary>
publicDateTimeExpires_dt;
}
/// <summary>
/// CA enumeration of HUB
/// </summary>
publicclassVpnRpcHubEnumCA
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// The list of CA
/// </summary>
publicVpnRpcHubEnumCAItem[]CAList;
}
/// <summary>
/// Type of connection
/// </summary>
publicenumVpnRpcConnectionType
{
/// <summary>
/// VPN Client
/// </summary>
Client=0,
/// <summary>
/// During initialization
/// </summary>
Init=1,
/// <summary>
/// Login connection
/// </summary>
Login=2,
/// <summary>
/// Additional connection
/// </summary>
Additional=3,
/// <summary>
/// RPC for server farm
/// </summary>
FarmRpc=4,
/// <summary>
/// RPC for Management
/// </summary>
AdminRpc=5,
/// <summary>
/// HUB enumeration
/// </summary>
EnumHub=6,
/// <summary>
/// Password change
/// </summary>
Password=7,
/// <summary>
/// SSTP
/// </summary>
SSTP=8,
/// <summary>
/// OpenVPN
/// </summary>
OpenVPN=9,
}
/// <summary>
/// Connection enumeration items
/// </summary>
publicclassVpnRpcEnumConnectionItem
{
/// <summary>
/// Connection name
/// </summary>
publicstringName_str;
/// <summary>
/// Host name
/// </summary>
publicstringHostname_str;
/// <summary>
/// IP address
/// </summary>
publicstringIp_ip;
/// <summary>
/// Port number
/// </summary>
publicuintPort_u32;
/// <summary>
/// Connected time
/// </summary>
publicDateTimeConnectedTime_dt;
/// <summary>
/// Connection type
/// </summary>
publicVpnRpcConnectionTypeType_u32;
}
/// <summary>
/// Connection enumeration
/// </summary>
publicclassVpnRpcEnumConnection
{
/// <summary>
/// Number of connections
/// </summary>
publicuintNumConnection_u32;
/// <summary>
/// Connection list
/// </summary>
publicVpnRpcEnumConnectionItem[]ConnectionList;
}
/// <summary>
/// Enum CRL Item
/// </summary>
publicclassVpnRpcEnumCrlItem
{
/// <summary>
/// Key ID
/// </summary>
publicuintKey_u32;
/// <summary>
/// The contents of the CRL item
/// </summary>
publicstringCrlInfo_utf;
}
/// <summary>
/// Enum CRL
///</summary>
publicclassVpnRpcEnumCrl
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// CRL list
/// </summary>
publicVpnRpcEnumCrlItem[]CRLList;
}
/// <summary>
/// RPC_ENUM_DHCP_ITEM
/// </summary>
publicclassVpnRpcEnumDhcpItem
{
/// <summary>
/// ID
/// </summary>
publicuintId_u32;
/// <summary>
/// Lease time
/// </summary>
publicDateTimeLeasedTime_dt;
/// <summary>
/// Expiration date
/// </summary>
publicDateTimeExpireTime_dt;
/// <summary>
/// MAC address
/// </summary>
publicbyte[]MacAddress_bin;
/// <summary>
/// IP address
/// </summary>
publicstringIpAddress_ip;
/// <summary>
/// Subnet mask
/// </summary>
publicuintMask_u32;
/// <summary>
/// Host name
/// </summary>
publicstringHostname_str;
}
/// <summary>
/// RPC_ENUM_DHCP
/// </summary>
publicclassVpnRpcEnumDhcp
{
/// <summary>
/// Virtual Hub Name
/// </summary>
publicstringHubName_str;
/// <summary>
/// DHCP Item
/// </summary>
publicVpnRpcEnumDhcpItem[]DhcpTable;
}
/// <summary>
/// EtherIP setting list
/// </summary>
publicclassVpnRpcEnumEtherIpId
{
/// <summary>
/// Setting list
/// </summary>
publicVpnEtherIpId[]Settings;
}
/// <summary>
/// Ethernet Network Adapters list item
/// </summary>
publicclassVpnRpcEnumEthItem
{
/// <summary>
/// Device name
/// </summary>
publicstringDeviceName_str;
/// <summary>
/// Network connection name (description)
/// </summary>
publicstringNetworkConnectionName_utf;
}
/// <summary>
/// Ethernet Network Adapters list
/// </summary>
publicclassVpnRpcEnumEth
{
/// <summary>
/// Ethernet Network Adapters list
/// </summary>
publicVpnRpcEnumEthItem[]EthList;
}
/// <summary>
/// Server farm members enumeration items
/// </summary>
publicclassVpnRpcEnumFarmItem
{
/// <summary>
/// ID
/// </summary>
publicuintId_u32;
/// <summary>
/// Controller
/// </summary>
publicboolController_bool;
/// <summary>
/// Connection time
/// </summary>
publicDateTimeConnectedTime_dt;
/// <summary>
/// IP address
/// </summary>
publicstringIp_ip;
/// <summary>
/// Host name
/// </summary>
publicstringHostname_str;
/// <summary>
/// Point
/// </summary>
publicuintPoint_u32;
/// <summary>
/// Number of sessions
/// </summary>
publicuintNumSessions_u32;
/// <summary>
/// Number of TCP connections
/// </summary>
publicuintNumTcpConnections_u32;
/// <summary>
/// Number of HUBs
/// </summary>
publicuintNumHubs_u32;
/// <summary>
/// Number of assigned client licenses
/// </summary>
publicuintAssignedClientLicense_u32;
/// <summary>
/// Number of assigned bridge licenses
/// </summary>
publicuintAssignedBridgeLicense_u32;
}
/// <summary>
/// Server farm member enumeration
/// </summary>
publicclassVpnRpcEnumFarm
{
/// <summary>
/// Number of Cluster Members
/// </summary>
publicuintNumFarm_u32;
/// <summary>
/// Cluster Members list
/// </summary>
publicVpnRpcEnumFarmItem[]FarmMemberList;
}
/// <summary>
/// Enumeration items in the group
/// </summary>
publicclassVpnRpcEnumGroupItem
{
/// <summary>
/// User name
/// </summary>
publicstringName_str;
/// <summary>
/// Real name
/// </summary>
publicstringRealname_utf;
/// <summary>
/// Note
/// </summary>
publicstringNote_utf;
/// <summary>
/// Number of users
/// </summary>
publicuintNumUsers_u32;
/// <summary>
/// Access denied
/// </summary>
publicboolDenyAccess_bool;
}
/// <summary>
/// Group enumeration
/// </summary>
publicclassVpnRpcEnumGroup
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Group list
/// </summary>
publicVpnRpcEnumGroupItem[]GroupList;
}
/// <summary>
/// Enumeration items of HUB
/// </summary>
publicclassVpnRpcEnumHubItem
{
/// <summary>
/// The name of the Virtual Hub
/// </summary>
publicstringHubName_str;
/// <summary>
/// Online state
/// </summary>
publicboolOnline_bool;
/// <summary>
/// Type of HUB (Valid only for Clustered VPN Servers)
/// </summary>
publicVpnRpcHubTypeHubType_u32;
/// <summary>
/// Number of users
/// </summary>
publicuintNumUsers_u32;
/// <summary>
/// Number of registered groups
/// </summary>
publicuintNumGroups_u32;
/// <summary>
/// Number of registered sessions
/// </summary>
publicuintNumSessions_u32;
/// <summary>
/// Number of current MAC table entries
/// </summary>
publicuintNumMacTables_u32;
/// <summary>
/// Number of current IP table entries
/// </summary>
publicuintNumIpTables_u32;
/// <summary>
/// Last communication date and time
/// </summary>
publicDateTimeLastCommTime_dt;
/// <summary>
/// Last login date and time
/// </summary>
publicDateTimeLastLoginTime_dt;
/// <summary>
/// Creation date and time
/// </summary>
publicDateTimeCreatedTime_dt;
/// <summary>
/// Number of accumulated logins
/// </summary>
publicuintNumLogin_u32;
/// <summary>
/// Whether the traffic information is provided
/// </summary>
publicboolIsTrafficFilled_bool;
/// <summary>
/// Number of broadcast packets (Recv)
/// </summary>
[JsonProperty("Ex.Recv.BroadcastBytes_u64")]
publiculongRecv_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Recv)
/// </summary>
[JsonProperty("Ex.Recv.BroadcastCount_u64")]
publiculongRecv_BroadcastCount_u64;
/// <summary>
/// Unicast count (Recv)
/// </summary>
[JsonProperty("Ex.Recv.UnicastBytes_u64")]
publiculongRecv_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Recv)
/// </summary>
[JsonProperty("Ex.Recv.UnicastCount_u64")]
publiculongRecv_UnicastCount_u64;
/// <summary>
/// Number of broadcast packets (Send)
/// </summary>
[JsonProperty("Ex.Send.BroadcastBytes_u64")]
publiculongSend_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Send)
/// </summary>
[JsonProperty("Ex.Send.BroadcastCount_u64")]
publiculongSend_BroadcastCount_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Ex.Send.UnicastBytes_u64")]
publiculongSend_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Ex.Send.UnicastCount_u64")]
publiculongSend_UnicastCount_u64;
}
/// <summary>
/// Enumeration of HUB
/// </summary>
publicclassVpnRpcEnumHub
{
/// <summary>
/// Number of Virtual Hubs
/// </summary>
publicuintNumHub_u32;
/// <summary>
/// Virtual Hubs
/// </summary>
publicVpnRpcEnumHubItem[]HubList;
}
/// <summary>
/// Enumeration items of IP table
/// </summary>
publicclassVpnRpcEnumIpTableItem
{
/// <summary>
/// Key ID
/// </summary>
publicuintKey_u32;
/// <summary>
/// Session name
/// </summary>
publicstringSessionName_str;
/// <summary>
/// IP address
/// </summary>
publicstringIpAddress_ip;
/// <summary>
/// Assigned by the DHCP
/// </summary>
publicboolDhcpAllocated_bool;
/// <summary>
/// Creation date and time
/// </summary>
publicDateTimeCreatedTime_dt;
/// <summary>
/// Updating date
/// </summary>
publicDateTimeUpdatedTime_dt;
/// <summary>
/// Remote items
/// </summary>
publicboolRemoteItem_bool;
/// <summary>
/// Remote host name
/// </summary>
publicstringRemoteHostname_str;
}
/// <summary>
/// Enumeration of IP table
/// </summary>
publicclassVpnRpcEnumIpTable
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// MAC table
/// </summary>
publicVpnRpcEnumIpTableItem[]IpTable;
}
/// <summary>
/// Layer-3 interface enumeration
/// </summary>
publicclassVpnRpcEnumL3If
{
/// <summary>
/// Layer-3 switch name
/// </summary>
publicstringName_str;
/// <summary>
/// Layer-3 interface list
/// </summary>
publicVpnRpcL3If[]L3IFList;
}
/// <summary>
/// Layer-3 switch enumeration item
/// </summary>
publicclassVpnRpcEnumL3SwItem
{
/// <summary>
/// Name of the layer-3 switch
/// </summary>
publicstringName_str;
/// <summary>
/// Number of layer-3 switch virtual interfaces
/// </summary>
publicuintNumInterfaces_u32;
/// <summary>
/// Number of routing tables
/// </summary>
publicuintNumTables_u32;
/// <summary>
/// Activated flag
/// </summary>
publicboolActive_bool;
/// <summary>
/// Online flag
/// </summary>
publicboolOnline_bool;
}
/// <summary>
/// Layer-3 switch enumeration
/// </summary>
publicclassVpnRpcEnumL3Sw
{
/// <summary>
/// Layer-3 switch list
/// </summary>
publicVpnRpcEnumL3SwItem[]L3SWList;
}
/// <summary>
/// Routing table enumeration
/// </summary>
publicclassVpnRpcEnumL3Table
{
/// <summary>
/// L3 switch name
/// </summary>
publicstringName_str;
/// <summary>
/// Routing table item list
/// </summary>
publicVpnRpcL3Table[]L3Table;
}
/// <summary>
/// Cascade Connection Enumeration
/// </summary>
publicclassVpnRpcEnumLinkItem
{
/// <summary>
/// The name of cascade connection
/// </summary>
publicstringAccountName_utf;
/// <summary>
/// Online flag
/// </summary>
publicboolOnline_bool;
/// <summary>
/// The flag indicates whether the cascade connection is established
/// </summary>
publicboolConnected_bool;
/// <summary>
/// The error last occurred if the cascade connection is in the fail state
/// </summary>
publicuintLastError_u32;
/// <summary>
/// Connection completion time
/// </summary>
publicDateTimeConnectedTime_dt;
/// <summary>
/// Host name of the destination VPN server
/// </summary>
publicstringHostname_str;
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringTargetHubName_str;
}
/// <summary>
/// Enumeration of the link
/// </summary>
publicclassVpnRpcEnumLink
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Number of cascade connections
/// </summary>
publicuintNumLink_u32;
/// <summary>
/// The list of cascade connections
/// </summary>
publicVpnRpcEnumLinkItem[]LinkList;
}
/// <summary>
/// List of listeners item
/// </summary>
publicclassVpnRpcListenerListItem
{
/// <summary>
/// TCP port number (range: 1 - 65535)
/// </summary>
publicuintPorts_u32;
/// <summary>
/// Active state
/// </summary>
publicboolEnables_bool;
/// <summary>
/// The flag to indicate if the error occurred on the listener port
/// </summary>
publicboolErrors_bool;
}
/// <summary>
/// List of listeners
/// </summary>
publicclassVpnRpcListenerList
{
/// <summary>
/// List of listener items
/// </summary>
publicVpnRpcListenerListItem[]ListenerList;
}
/// <summary>
/// Local Bridge enumeration
/// </summary>
publicclassVpnRpcEnumLocalBridge
{
/// <summary>
/// Local Bridge list
/// </summary>
publicVpnRpcLocalBridge[]LocalBridgeList;
}
/// <summary>
/// Log file enumeration
/// </summary>
publicclassVpnRpcEnumLogFileItem
{
/// <summary>
/// Server name
/// </summary>
publicstringServerName_str;
/// <summary>
/// File path
/// </summary>
publicstringFilePath_str;
/// <summary>
/// File size
/// </summary>
publicuintFileSize_u32;
/// <summary>
/// Last write date
/// </summary>
publicDateTimeUpdatedTime_dt;
}
/// <summary>
/// Log file enumeration
///</summary>
publicclassVpnRpcEnumLogFile
{
/// <summary>
/// Log file list
/// </summary>
publicVpnRpcEnumLogFileItem[]LogFiles;
}
/// <summary>
/// Enumeration items of the MAC table
/// </summary>
publicclassVpnRpcEnumMacTableItem
{
/// <summary>
/// Key ID
/// </summary>
publicuintKey_u32;
/// <summary>
/// Session name
/// </summary>
publicstringSessionName_str;
/// <summary>
/// MAC address
/// </summary>
publicbyte[]MacAddress_bin;
/// <summary>
/// Creation date and time
/// </summary>
publicDateTimeCreatedTime_dt;
/// <summary>
/// Updating date
/// </summary>
publicDateTimeUpdatedTime_dt;
/// <summary>
/// Remote items
/// </summary>
publicboolRemoteItem_bool;
/// <summary>
/// Remote host name
/// </summary>
publicstringRemoteHostname_str;
/// <summary>
/// VLAN ID
/// </summary>
publicuintVlanId_u32;
}
/// <summary>
/// Enumeration of the MAC table
/// </summary>
publicclassVpnRpcEnumMacTable
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// MAC table
/// </summary>
publicVpnRpcEnumMacTableItem[]MacTable;
}
/// <summary>
/// NAT Entry Protocol Number
/// </summary>
publicenumVpnRpcNatProtocol
{
/// <summary>
/// TCP
/// </summary>
TCP=0,
/// <summary>
/// UDP
/// </summary>
UDP=1,
/// <summary>
/// DNS
/// </summary>
DNS=2,
/// <summary>
/// ICMP
/// </summary>
ICMP=3,
}
/// <summary>
/// State of NAT session (TCP)
/// </summary>
publicenumVpnRpcNatTcpState
{
/// <summary>
/// Connecting
/// </summary>
Connecting=0,
/// <summary>
/// Send the RST (Connection failure or disconnected)
/// </summary>
SendReset=1,
/// <summary>
/// Connection complete
/// </summary>
Connected=2,
/// <summary>
/// Connection established
/// </summary>
Established=3,
/// <summary>
/// Wait for socket disconnection
/// </summary>
WaitDisconnect=4,
}
/// <summary>
/// VpnRpcEnumNat List Item
/// </summary>
publicclassVpnRpcEnumNatItem
{
/// <summary>
/// ID
/// </summary>
publicuintId_u32;
/// <summary>
/// Protocol
/// </summary>
publicVpnRpcNatProtocolProtocol_u32;
/// <summary>
/// Source IP address
/// </summary>
publicstringSrcIp_ip;
/// <summary>
/// Source host name
/// </summary>
publicstringSrcHost_str;
/// <summary>
/// Source port number
/// </summary>
publicuintSrcPort_u32;
/// <summary>
/// Destination IP address
/// </summary>
publicstringDestIp_ip;
/// <summary>
/// Destination host name
/// </summary>
publicstringDestHost_str;
/// <summary>
/// Destination port number
/// </summary>
publicuintDestPort_u32;
/// <summary>
/// Connection time
/// </summary>
publicDateTimeCreatedTime_dt;
/// <summary>
/// Last communication time
/// </summary>
publicDateTimeLastCommTime_dt;
/// <summary>
/// Transmission size
/// </summary>
publiculongSendSize_u64;
/// <summary>
/// Receive size
/// </summary>
publiculongRecvSize_u64;
/// <summary>
/// TCP state
/// </summary>
publicVpnRpcNatTcpStateTcpStatus_u32;
}
/// <summary>
/// RPC_ENUM_NAT
/// </summary>
publicclassVpnRpcEnumNat
{
/// <summary>
/// Virtual Hub Name
/// </summary>
publicstringHubName_str;
/// <summary>
/// NAT item
/// </summary>
publicVpnRpcEnumNatItem[]NatTable;
}
/// <summary>
/// Enumeration item of VPN session
/// </summary>
publicclassVpnRpcEnumSessionItem
{
/// <summary>
/// Session name
/// </summary>
publicstringName_str;
/// <summary>
/// Remote session
/// </summary>
publicboolRemoteSession_bool;
/// <summary>
/// Remote server name
/// </summary>
publicstringRemoteHostname_str;
/// <summary>
/// User name
/// </summary>
publicstringUsername_str;
/// <summary>
/// IP address
/// </summary>
publicstringClientIP_ip;
/// <summary>
/// Host name
/// </summary>
publicstringHostname_str;
/// <summary>
/// Maximum number of underlying TCP connections
/// </summary>
publicuintMaxNumTcp_u32;
/// <summary>
/// Number of current underlying TCP connections
/// </summary>
publicuintCurrentNumTcp_u32;
/// <summary>
/// Packet size transmitted
/// </summary>
publiculongPacketSize_u64;
/// <summary>
/// Number of packets transmitted
/// </summary>
publiculongPacketNum_u64;
/// <summary>
/// Is a Cascade VPN session
/// </summary>
publicboolLinkMode_bool;
/// <summary>
/// Is a SecureNAT VPN session
/// </summary>
publicboolSecureNATMode_bool;
/// <summary>
/// Is the VPN session for Local Bridge
/// </summary>
publicboolBridgeMode_bool;
/// <summary>
/// Is a Layer-3 Switch VPN session
/// </summary>
publicboolLayer3Mode_bool;
/// <summary>
/// Is in Bridge Mode
/// </summary>
publicboolClient_BridgeMode_bool;
/// <summary>
/// Is in Monitor Mode
/// </summary>
publicboolClient_MonitorMode_bool;
/// <summary>
/// VLAN ID
/// </summary>
publicuintVLanId_u32;
/// <summary>
/// Unique ID of the VPN Session
/// </summary>
publicbyte[]UniqueId_bin;
/// <summary>
/// Creation date and time
/// </summary>
publicDateTimeCreatedTime_dt;
/// <summary>
/// Last communication date and time
/// </summary>
publicDateTimeLastCommTime_dt;
}
/// <summary>
/// Enumerate VPN sessions
/// </summary>
publicclassVpnRpcEnumSession
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// VPN sessions list
/// </summary>
publicVpnRpcEnumSessionItem[]SessionList;
}
/// <summary>
/// Enumeration item of user
/// </summary>
publicclassVpnRpcEnumUserItem
{
/// <summary>
/// User name
/// </summary>
publicstringName_str;
/// <summary>
/// Group name
/// </summary>
publicstringGroupName_str;
/// <summary>
/// Real name
/// </summary>
publicstringRealname_utf;
/// <summary>
/// Note
/// </summary>
publicstringNote_utf;
/// <summary>
/// Authentication method
/// </summary>
publicVpnRpcUserAuthTypeAuthType_u32;
/// <summary>
/// Number of logins
/// </summary>
publicuintNumLogin_u32;
/// <summary>
/// Last login date and time
/// </summary>
publicDateTimeLastLoginTime_dt;
/// <summary>
/// Access denied
/// </summary>
publicboolDenyAccess_bool;
/// <summary>
/// Flag of whether the traffic variable is set
/// </summary>
publicboolIsTrafficFilled_bool;
/// <summary>
/// Flag of whether expiration date variable is set
/// </summary>
publicboolIsExpiresFilled_bool;
/// <summary>
/// Expiration date
/// </summary>
publicDateTimeExpires_dt;
/// <summary>
/// Number of broadcast packets (Recv)
/// </summary>
[JsonProperty("Ex.Recv.BroadcastBytes_u64")]
publiculongRecv_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Recv)
/// </summary>
[JsonProperty("Ex.Recv.BroadcastCount_u64")]
publiculongRecv_BroadcastCount_u64;
/// <summary>
/// Unicast count (Recv)
/// </summary>
[JsonProperty("Ex.Recv.UnicastBytes_u64")]
publiculongRecv_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Recv)
/// </summary>
[JsonProperty("Ex.Recv.UnicastCount_u64")]
publiculongRecv_UnicastCount_u64;
/// <summary>
/// Number of broadcast packets (Send)
/// </summary>
[JsonProperty("Ex.Send.BroadcastBytes_u64")]
publiculongSend_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Send)
/// </summary>
[JsonProperty("Ex.Send.BroadcastCount_u64")]
publiculongSend_BroadcastCount_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Ex.Send.UnicastBytes_u64")]
publiculongSend_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Ex.Send.UnicastCount_u64")]
publiculongSend_UnicastCount_u64;
}
/// <summary>
/// Enumeration of user
/// </summary>
publicclassVpnRpcEnumUser
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// User list
/// </summary>
publicVpnRpcEnumUserItem[]UserList;
}
/// <summary>
/// Source IP Address Limit List Item
/// </summary>
publicclassVpnAc
{
/// <summary>
/// ID
/// </summary>
publicuintId_u32;
/// <summary>
/// Priority
/// </summary>
publicuintPriority_u32;
/// <summary>
/// Deny access
/// </summary>
publicboolDeny_bool;
/// <summary>
/// Set true if you want to specify the SubnetMask_ip item.
/// </summary>
publicboolMasked_bool;
/// <summary>
/// IP address
/// </summary>
publicstringIpAddress_ip;
/// <summary>
/// Subnet mask, valid only if Masked_bool == true
/// </summary>
publicstringSubnetMask_ip;
}
/// <summary>
/// Source IP Address Limit List
/// </summary>
publicclassVpnRpcAcList
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Source IP Address Limit List
/// </summary>
publicVpnAc[]ACList;
}
/// <summary>
/// Message
/// </summary>
publicclassVpnRpcMsg
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Message (Unicode strings acceptable)
/// </summary>
publicbyte[]Msg_bin;
}
/// <summary>
/// Get / Set the Azure state
/// </summary>
publicclassVpnRpcAzureStatus
{
/// <summary>
/// Whether VPN Azure Function is Enabled
/// </summary>
publicboolIsEnabled_bool;
/// <summary>
/// Whether connection to VPN Azure Cloud Server is established
/// </summary>
publicboolIsConnected_bool;
}
/// <summary>
/// Local Bridge support information
/// </summary>
publicclassVpnRpcBridgeSupport
{
/// <summary>
/// Whether the OS supports the Local Bridge function
/// </summary>
publicboolIsBridgeSupportedOs_bool;
/// <summary>
/// Whether WinPcap is necessary to install
/// </summary>
publicboolIsWinPcapNeeded_bool;
}
/// <summary>
/// Get the CA of HUB
/// </summary>
publicclassVpnRpcHubGetCA
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// The key id of the certificate
/// </summary>
publicuintKey_u32;
/// <summary>
/// The body of the X.509 certificate
/// </summary>
publicbyte[]Cert_bin;
}
/// <summary>
/// Caps item of the VPN Server
/// </summary>
publicclassVpnCaps
{
/// <summary>
/// Name
/// </summary>
publicstringCapsName_str;
/// <summary>
/// Value
/// </summary>
publicuintCapsValue_u32;
/// <summary>
/// Descrption
/// </summary>
publicstringCapsDescrption_utf;
}
/// <summary>
/// Caps list of the VPN Server
///</summary>
publicclassVpnCapslist
{
/// <summary>
/// Caps list of the VPN Server
/// </summary>
publicVpnCaps[]CapsList;
}
/// <summary>
/// Config operation
/// </summary>
publicclassVpnRpcConfig
{
/// <summary>
/// File name (valid only for returning from the server)
/// </summary>
publicstringFileName_str;
/// <summary>
/// File data
/// </summary>
publicbyte[]FileData_bin;
}
/// <summary>
/// Connection information
/// </summary>
publicclassVpnRpcConnectionInfo
{
/// <summary>
/// Connection name
/// </summary>
publicstringName_str;
/// <summary>
/// Type
/// </summary>
publicVpnRpcConnectionTypeType_u32;
/// <summary>
/// Host name
/// </summary>
publicstringHostname_str;
/// <summary>
/// IP address
/// </summary>
publicstringIp_ip;
/// <summary>
/// Port number
/// </summary>
publicuintPort_u32;
/// <summary>
/// Connected time
/// </summary>
publicDateTimeConnectedTime_dt;
/// <summary>
/// Server string
/// </summary>
publicstringServerStr_str;
/// <summary>
/// Server version
/// </summary>
publicuintServerVer_u32;
/// <summary>
/// Server build number
/// </summary>
publicuintServerBuild_u32;
/// <summary>
/// Client string
/// </summary>
publicstringClientStr_str;
/// <summary>
/// Client version
/// </summary>
publicuintClientVer_u32;
/// <summary>
/// Client build number
/// </summary>
publicuintClientBuild_u32;
}
/// <summary>
/// Proxy type
/// </summary>
publicenumVpnRpcProxyType
{
/// <summary>
/// Direct TCP connection
/// </summary>
Direct=0,
/// <summary>
/// Connection via HTTP proxy server
/// </summary>
HTTP=1,
/// <summary>
/// Connection via SOCKS proxy server
/// </summary>
SOCKS=2,
}
/// <summary>
/// The current status of the DDNS
/// </summary>
publicclassVpnDDnsClientStatus
{
/// <summary>
/// Last error code (IPv4)
/// </summary>
publicuintErr_IPv4_u32;
/// <summary>
/// Last error string (IPv4)
/// </summary>
publicstringErrStr_IPv4_utf;
/// <summary>
/// Last error code (IPv6)
/// </summary>
publicuintErr_IPv6_u32;
/// <summary>
/// Last error string (IPv6)
/// </summary>
publicstringErrStr_IPv6_utf;
/// <summary>
/// Current DDNS host name
/// </summary>
publicstringCurrentHostName_str;
/// <summary>
/// Current FQDN of the DDNS hostname
/// </summary>
publicstringCurrentFqdn_str;
/// <summary>
/// DDNS suffix
/// </summary>
publicstringDnsSuffix_str;
/// <summary>
/// Current IPv4 address of the VPN Server
/// </summary>
publicstringCurrentIPv4_str;
/// <summary>
/// Current IPv6 address of the VPN Server
/// </summary>
publicstringCurrentIPv6_str;
}
/// <summary>
/// Internet connection settings
/// </summary>
publicclassVpnInternetSetting
{
/// <summary>
/// Type of proxy server
/// </summary>
publicVpnRpcProxyTypeProxyType_u32;
/// <summary>
/// Proxy server host name
/// </summary>
publicstringProxyHostName_str;
/// <summary>
/// Proxy server port number
/// </summary>
publicuintProxyPort_u32;
/// <summary>
/// Proxy server user name
/// </summary>
publicstringProxyUsername_str;
/// <summary>
/// Proxy server password
/// </summary>
publicstringProxyPassword_str;
}
/// <summary>
/// Administration options
/// </summary>
publicclassVpnAdminOption
{
/// <summary>
/// Name
/// </summary>
publicstringName_str;
/// <summary>
/// Data
/// </summary>
publicuintValue_u32;
/// <summary>
/// Descrption
/// </summary>
publicstringDescrption_utf;
}
/// <summary>
/// Administration options list
/// </summary>
publicclassVpnRpcAdminOption
{
/// <summary>
/// Virtual HUB name
/// </summary>
publicstringHubName_str;
/// <summary>
/// List data
/// </summary>
publicVpnAdminOption[]AdminOptionList;
}
/// <summary>
/// Connection state to the controller
/// </summary>
publicclassVpnRpcFarmConnectionStatus
{
/// <summary>
/// IP address
/// </summary>
publicstringIp_ip;
/// <summary>
/// Port number
/// </summary>
publicuintPort_u32;
/// <summary>
/// Online state
/// </summary>
publicboolOnline_bool;
/// <summary>
/// Last error code
/// </summary>
publicuintLastError_u32;
/// <summary>
/// Connection start time
/// </summary>
publicDateTimeStartedTime_dt;
/// <summary>
/// First connection time
/// </summary>
publicDateTimeFirstConnectedTime_dt;
/// <summary>
/// Connection time of this time
/// </summary>
publicDateTimeCurrentConnectedTime_dt;
/// <summary>
/// Number of retries
/// </summary>
publicuintNumTry_u32;
/// <summary>
/// Number of connection count
/// </summary>
publicuintNumConnected_u32;
/// <summary>
/// Connection failure count
/// </summary>
publicuintNumFailed_u32;
}
/// <summary>
/// HUB item of each farm member
/// </summary>
publicclassVpnRpcFarmHub
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Dynamic HUB
/// </summary>
publicboolDynamicHub_bool;
}
/// <summary>
/// Server farm member information acquisition
/// </summary>
publicclassVpnRpcFarmInfo
{
/// <summary>
/// ID
/// </summary>
publicuintId_u32;
/// <summary>
/// The flag if the server is Cluster Controller (false: Cluster Member servers)
/// </summary>
publicboolController_bool;
/// <summary>
/// Connection Established Time
/// </summary>
publicDateTimeConnectedTime_dt;
/// <summary>
/// IP address
/// </summary>
publicstringIp_ip;
/// <summary>
/// Host name
/// </summary>
publicstringHostname_str;
/// <summary>
/// Point
/// </summary>
publicuintPoint_u32;
/// <summary>
/// Number of Public Ports
/// </summary>
publicuintNumPort_u32;
/// <summary>
/// Public Ports
/// </summary>
publicuint[]Ports_u32;
/// <summary>
/// Server certificate
/// </summary>
publicbyte[]ServerCert_bin;
/// <summary>
/// Number of farm HUB
/// </summary>
publicuintNumFarmHub_u32;
/// <summary>
/// The hosted Virtual Hub list
/// </summary>
publicVpnRpcFarmHub[]HubsList;
/// <summary>
/// Number of hosted VPN sessions
/// </summary>
publicuintNumSessions_u32;
/// <summary>
/// Number of TCP connections
/// </summary>
publicuintNumTcpConnections_u32;
/// <summary>
/// Performance Standard Ratio
/// </summary>
publicuintWeight_u32;
}
/// <summary>
/// Server farm configuration
/// </summary>
publicclassVpnRpcFarm
{
/// <summary>
/// Type of server
/// </summary>
publicVpnRpcServerTypeServerType_u32;
/// <summary>
/// Valid only for Cluster Member servers. Number of the Ports_u32 element.
/// </summary>
publicuintNumPort_u32;
/// <summary>
/// Valid only for Cluster Member servers. Specify the list of public port numbers on this server. The list must have at least one public port number set, and it is also possible to set multiple public port numbers.
/// </summary>
publicuint[]Ports_u32;
/// <summary>
/// Valid only for Cluster Member servers. Specify the public IP address of this server. If you wish to leave public IP address unspecified, specify the empty string. When a public IP address is not specified, the IP address of the network interface used when connecting to the cluster controller will be automatically used.
/// </summary>
publicstringPublicIp_ip;
/// <summary>
/// Valid only for Cluster Member servers. Specify the host name or IP address of the destination cluster controller.
/// </summary>
publicstringControllerName_str;
/// <summary>
/// Valid only for Cluster Member servers. Specify the TCP port number of the destination cluster controller.
/// </summary>
publicuintControllerPort_u32;
/// <summary>
/// Valid only for Cluster Member servers. Specify the password required to connect to the destination controller. It needs to be the same as an administrator password on the destination controller.
/// </summary>
publicstringMemberPasswordPlaintext_str;
/// <summary>
/// This sets a value for the performance standard ratio of this VPN Server. This is the standard value for when load balancing is performed in the cluster. For example, making only one machine 200 while the other members have a status of 100, will regulate that machine to receive twice as many connections as the other members. Specify 1 or higher for the value. If this parameter is left unspecified, 100 will be used.
/// </summary>
publicuintWeight_u32;
/// <summary>
/// Valid only for Cluster Controller server. By specifying true, the VPN Server will operate only as a controller on the cluster and it will always distribute general VPN Client connections to members other than itself. This function is used in high-load environments.
/// </summary>
publicboolControllerOnly_bool;
}
/// <summary>
/// Log switch type
/// </summary>
publicenumVpnRpcLogSwitchType
{
/// <summary>
/// No switching
/// </summary>
No=0,
/// <summary>
/// Secondly basis
/// </summary>
Second=1,
/// <summary>
/// Minutely basis
/// </summary>
Minute=2,
/// <summary>
/// Hourly basis
/// </summary>
Hour=3,
/// <summary>
/// Daily basis
/// </summary>
Day=4,
/// <summary>
/// Monthly basis
/// </summary>
Month=5,
}
/// <summary>
/// Packet log settings
/// </summary>
publicenumVpnRpcPacketLogSetting
{
/// <summary>
/// Not save
/// </summary>
None=0,
/// <summary>
/// Only header
/// </summary>
Header=1,
/// <summary>
/// All payloads
/// </summary>
All=2,
}
/// <summary>
/// Packet log settings array index
/// </summary>
publicenumVpnRpcPacketLogSettingIndex
{
/// <summary>
/// TCP connection log
/// </summary>
TcpConnection=0,
/// <summary>
/// TCP packet log
/// </summary>
TcpAll=1,
/// <summary>
/// DHCP Log
/// </summary>
Dhcp=2,
/// <summary>
/// UDP log
/// </summary>
Udp=3,
/// <summary>
/// ICMP log
/// </summary>
Icmp=4,
/// <summary>
/// IP log
/// </summary>
Ip=5,
/// <summary>
/// ARP log
/// </summary>
Arp=6,
/// <summary>
/// Ethernet log
/// </summary>
Ethernet=7,
}
/// <summary>
/// HUB log settings
/// </summary>
publicclassVpnRpcHubLog
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// The flag to enable / disable saving the security log
/// </summary>
publicboolSaveSecurityLog_bool;
/// <summary>
/// The log filename switching setting of the security log
/// Enable or Disable the L2TP Server Function (Raw L2TP with No Encryptions). To accept special VPN clients, enable this option.
/// </summary>
publicboolL2TP_Raw_bool;
/// <summary>
/// Enable or Disable the L2TP over IPsec Server Function. To accept VPN connections from iPhone, iPad, Android, Windows or Mac OS X, enable this option.
/// </summary>
publicboolL2TP_IPsec_bool;
/// <summary>
/// Enable or Disable the EtherIP / L2TPv3 over IPsec Server Function (for site-to-site VPN Server function). Router Products which are compatible with EtherIP over IPsec can connect to Virtual Hubs on the VPN Server and establish Layer-2 (Ethernet) Bridging.
/// </summary>
publicboolEtherIP_IPsec_bool;
/// <summary>
/// Specify the IPsec Pre-Shared Key. An IPsec Pre-Shared Key is also called as "PSK" or "secret". Specify it equal or less than 8 letters, and distribute it to every users who will connect to the VPN Server. Please note: Google Android 4.0 has a bug which a Pre-Shared Key with 10 or more letters causes a unexpected behavior. For that reason, the letters of a Pre-Shared Key should be 9 or less characters.
/// </summary>
publicstringIPsec_Secret_str;
/// <summary>
/// Specify the default Virtual HUB in a case of omitting the name of HUB on the Username. Users should specify their username such as "Username@Target Virtual HUB Name" to connect this L2TP Server. If the designation of the Virtual Hub is omitted, the above HUB will be used as the target.
/// </summary>
publicstringL2TP_DefaultHub_str;
}
/// <summary>
/// Keep alive protocol
/// </summary>
publicenumVpnRpcKeepAliveProtocol
{
/// <summary>
/// TCP
/// </summary>
TCP=0,
/// <summary>
/// UDP
/// </summary>
UDP=1,
}
/// <summary>
/// Keep Alive settings
/// </summary>
publicclassVpnRpcKeep
{
/// <summary>
/// The flag to enable keep-alive to the Internet
/// </summary>
publicboolUseKeepConnect_bool;
/// <summary>
/// Specify the host name or IP address of the destination
/// The flag whether the cascade connection is enabled
/// </summary>
publicboolActive_bool;
/// <summary>
/// The flag whether the cascade connection is established
/// </summary>
publicboolConnected_bool;
/// <summary>
/// The session status
/// </summary>
publicVpnRpcClientSessionStatusSessionStatus_u32;
/// <summary>
/// The destination VPN server name
/// </summary>
publicstringServerName_str;
/// <summary>
/// The port number of the server
/// </summary>
publicuintServerPort_u32;
/// <summary>
/// Server product name
/// </summary>
publicstringServerProductName_str;
/// <summary>
/// Server product version
/// </summary>
publicuintServerProductVer_u32;
/// <summary>
/// Server product build number
/// </summary>
publicuintServerProductBuild_u32;
/// <summary>
/// Server's X.509 certificate
/// </summary>
publicbyte[]ServerX_bin;
/// <summary>
/// Client certificate
/// </summary>
publicbyte[]ClientX_bin;
/// <summary>
/// Connection start time
/// </summary>
publicDateTimeStartTime_dt;
/// <summary>
/// Connection completion time of the first connection
/// </summary>
publicDateTimeFirstConnectionEstablisiedTime_dt;
/// <summary>
/// Connection completion time of this connection
/// </summary>
publicDateTimeCurrentConnectionEstablishTime_dt;
/// <summary>
/// Number of connections have been established so far
/// </summary>
publicuintNumConnectionsEatablished_u32;
/// <summary>
/// Half-connection
/// </summary>
publicboolHalfConnection_bool;
/// <summary>
/// VoIP / QoS
/// </summary>
publicboolQoS_bool;
/// <summary>
/// Maximum number of the underlying TCP connections
/// </summary>
publicuintMaxTcpConnections_u32;
/// <summary>
/// Number of current underlying TCP connections
/// </summary>
publicuintNumTcpConnections_u32;
/// <summary>
/// Number of underlying inbound TCP connections
/// </summary>
publicuintNumTcpConnectionsUpload_u32;
/// <summary>
/// Number of underlying outbound TCP connections
/// </summary>
publicuintNumTcpConnectionsDownload_u32;
/// <summary>
/// Use of encryption
/// </summary>
publicboolUseEncrypt_bool;
/// <summary>
/// Cipher algorithm name
/// </summary>
publicstringCipherName_str;
/// <summary>
/// Use of compression
/// </summary>
publicboolUseCompress_bool;
/// <summary>
/// The flag whether this is a R-UDP session
/// </summary>
publicboolIsRUDPSession_bool;
/// <summary>
/// Underlying physical communication protocol
/// </summary>
publicstringUnderlayProtocol_str;
/// <summary>
/// The UDP acceleration is enabled
/// </summary>
publicboolIsUdpAccelerationEnabled_bool;
/// <summary>
/// The UDP acceleration is being actually used
/// </summary>
publicboolIsUsingUdpAcceleration_bool;
/// <summary>
/// Session name
/// </summary>
publicstringSessionName_str;
/// <summary>
/// Connection name
/// </summary>
publicstringConnectionName_str;
/// <summary>
/// Session key
/// </summary>
publicbyte[]SessionKey_bin;
/// <summary>
/// Total transmitted data size
/// </summary>
publiculongTotalSendSize_u64;
/// <summary>
/// Total received data size
/// </summary>
publiculongTotalRecvSize_u64;
/// <summary>
/// Total transmitted data size (no compression)
/// </summary>
publiculongTotalSendSizeReal_u64;
/// <summary>
/// Total received data size (no compression)
/// </summary>
publiculongTotalRecvSizeReal_u64;
/// <summary>
/// The flag whether the VPN session is Bridge Mode
/// </summary>
publicboolIsBridgeMode_bool;
/// <summary>
/// The flag whether the VPN session is Monitor mode
/// </summary>
publicboolIsMonitorMode_bool;
/// <summary>
/// VLAN ID
/// </summary>
publicuintVLanId_u32;
}
/// <summary>
/// Setting of SSTP and OpenVPN
/// </summary>
publicclassVpnOpenVpnSstpConfig
{
/// <summary>
/// Specify true to enable the OpenVPN Clone Server Function. Specify false to disable.
/// </summary>
publicboolEnableOpenVPN_bool;
/// <summary>
/// Specify UDP ports to listen for OpenVPN. Multiple UDP ports can be specified with splitting by space or comma letters, for example: "1194, 2001, 2010, 2012". The default port for OpenVPN is UDP 1194. You can specify any other UDP ports.
/// </summary>
publicstringOpenVPNPortList_str;
/// <summary>
/// pecify true to enable the Microsoft SSTP VPN Clone Server Function. Specify false to disable.
/// </summary>
publicboolEnableSSTP_bool;
}
/// <summary>
/// Virtual host option
/// </summary>
publicclassVpnVhOption
{
/// <summary>
/// Target Virtual HUB name
/// </summary>
publicstringRpcHubName_str;
/// <summary>
/// MAC address
/// </summary>
publicbyte[]MacAddress_bin;
/// <summary>
/// IP address
/// </summary>
publicstringIp_ip;
/// <summary>
/// Subnet mask
/// </summary>
publicstringMask_ip;
/// <summary>
/// Use flag of the Virtual NAT function
/// </summary>
publicboolUseNat_bool;
/// <summary>
/// MTU value (Standard: 1500)
/// </summary>
publicuintMtu_u32;
/// <summary>
/// NAT TCP timeout in seconds
/// </summary>
publicuintNatTcpTimeout_u32;
/// <summary>
/// NAT UDP timeout in seconds
/// </summary>
publicuintNatUdpTimeout_u32;
/// <summary>
/// Using flag of DHCP function
/// </summary>
publicboolUseDhcp_bool;
/// <summary>
/// Specify the start point of the address band to be distributed to the client. (Example: 192.168.30.10)
/// </summary>
publicstringDhcpLeaseIPStart_ip;
/// <summary>
/// Specify the end point of the address band to be distributed to the client. (Example: 192.168.30.200)
/// </summary>
publicstringDhcpLeaseIPEnd_ip;
/// <summary>
/// Specify the subnet mask to be specified for the client. (Example: 255.255.255.0)
/// </summary>
publicstringDhcpSubnetMask_ip;
/// <summary>
/// Specify the expiration date in second units for leasing an IP address to a client.
/// </summary>
publicuintDhcpExpireTimeSpan_u32;
/// <summary>
/// Specify the IP address of the default gateway to be notified to the client. You can specify a SecureNAT Virtual Host IP address for this when the SecureNAT Function's Virtual NAT Function has been enabled and is being used also. If you specify 0 or none, then the client will not be notified of the default gateway.
/// </summary>
publicstringDhcpGatewayAddress_ip;
/// <summary>
/// Specify the IP address of the primary DNS Server to be notified to the client. You can specify a SecureNAT Virtual Host IP address for this when the SecureNAT Function's Virtual NAT Function has been enabled and is being used also. If you specify empty, then the client will not be notified of the DNS Server address.
/// </summary>
publicstringDhcpDnsServerAddress_ip;
/// <summary>
/// Specify the IP address of the secondary DNS Server to be notified to the client. You can specify a SecureNAT Virtual Host IP address for this when the SecureNAT Function's Virtual NAT Function has been enabled and is being used also. If you specify empty, then the client will not be notified of the DNS Server address.
/// </summary>
publicstringDhcpDnsServerAddress2_ip;
/// <summary>
/// Specify the domain name to be notified to the client. If you specify none, then the client will not be notified of the domain name.
/// </summary>
publicstringDhcpDomainName_str;
/// <summary>
/// Specify whether or not to save the Virtual DHCP Server operation in the Virtual Hub security log. Specify true to save it. This value is interlinked with the Virtual NAT Function log save setting.
/// </summary>
publicboolSaveLog_bool;
/// <summary>
/// The flag to enable the DhcpPushRoutes_str field.
/// </summary>
publicboolApplyDhcpPushRoutes_bool;
/// <summary>
/// Specify the static routing table to push. Example: "192.168.5.0/255.255.255.0/192.168.4.254, 10.0.0.0/255.0.0.0/192.168.4.253" Split multiple entries (maximum: 64 entries) by comma or space characters. Each entry must be specified in the "IP network address/subnet mask/gateway IP address" format. This Virtual DHCP Server can push the classless static routes (RFC 3442) with DHCP reply messages to VPN clients. Whether or not a VPN client can recognize the classless static routes (RFC 3442) depends on the target VPN client software. SoftEther VPN Client and OpenVPN Client are supporting the classless static routes. On L2TP/IPsec and MS-SSTP protocols, the compatibility depends on the implementation of the client software. You can realize the split tunneling if you clear the default gateway field on the Virtual DHCP Server options. On the client side, L2TP/IPsec and MS-SSTP clients need to be configured not to set up the default gateway for the split tunneling usage. You can also push the classless static routes (RFC 3442) by your existing external DHCP server. In that case, disable the Virtual DHCP Server function on SecureNAT, and you need not to set up the classless routes on this API. See the RFC 3442 to understand the classless routes.
/// </summary>
publicstringDhcpPushRoutes_str;
}
/// <summary>
/// RPC_NAT_STATUS
/// </summary>
publicclassVpnRpcNatStatus
{
/// <summary>
/// Virtual Hub Name
/// </summary>
publicstringHubName_str;
/// <summary>
/// Number of TCP sessions
/// </summary>
publicuintNumTcpSessions_u32;
/// <summary>
/// Ntmber of UDP sessions
/// </summary>
publicuintNumUdpSessions_u32;
/// <summary>
/// Nymber of ICMP sessions
/// </summary>
publicuintNumIcmpSessions_u32;
/// <summary>
/// Number of DNS sessions
/// </summary>
publicuintNumDnsSessions_u32;
/// <summary>
/// Number of DHCP clients
/// </summary>
publicuintNumDhcpClients_u32;
/// <summary>
/// Whether the NAT is operating in the Kernel Mode
/// </summary>
publicboolIsKernelMode_bool;
/// <summary>
/// Whether the NAT is operating in the Raw IP Mode
/// </summary>
publicboolIsRawIpMode_bool;
}
/// <summary>
/// Key pair
/// </summary>
publicclassVpnRpcKeyPair
{
/// <summary>
/// The body of the certificate
/// </summary>
publicbyte[]Cert_bin;
/// <summary>
/// The body of the private key
/// </summary>
publicbyte[]Key_bin;
}
/// <summary>
/// Single string value
/// </summary>
publicclassVpnRpcStr
{
/// <summary>
/// A string value
/// </summary>
publicstringString_str;
}
/// <summary>
/// Type of VPN Server
/// </summary>
publicenumVpnRpcServerType
{
/// <summary>
/// Stand-alone server
/// </summary>
Standalone=0,
/// <summary>
/// Farm controller server
/// </summary>
FarmController=1,
/// <summary>
/// Farm member server
/// </summary>
FarmMember=2,
}
/// <summary>
/// Operating system type
/// </summary>
publicenumVpnRpcOsType
{
/// <summary>
/// Windows 95
/// </summary>
WINDOWS_95=1100,
/// <summary>
/// Windows 98
/// </summary>
WINDOWS_98=1200,
/// <summary>
/// Windows Me
/// </summary>
WINDOWS_ME=1300,
/// <summary>
/// Windows (unknown)
/// </summary>
WINDOWS_UNKNOWN=1400,
/// <summary>
/// Windows NT 4.0 Workstation
/// </summary>
WINDOWS_NT_4_WORKSTATION=2100,
/// <summary>
/// Windows NT 4.0 Server
/// </summary>
WINDOWS_NT_4_SERVER=2110,
/// <summary>
/// Windows NT 4.0 Server, Enterprise Edition
/// </summary>
WINDOWS_NT_4_SERVER_ENTERPRISE=2111,
/// <summary>
/// Windows NT 4.0 Terminal Server
/// </summary>
WINDOWS_NT_4_TERMINAL_SERVER=2112,
/// <summary>
/// BackOffice Server 4.5
/// </summary>
WINDOWS_NT_4_BACKOFFICE=2113,
/// <summary>
/// Small Business Server 4.5
/// </summary>
WINDOWS_NT_4_SMS=2114,
/// <summary>
/// Windows 2000 Professional
/// </summary>
WINDOWS_2000_PROFESSIONAL=2200,
/// <summary>
/// Windows 2000 Server
/// </summary>
WINDOWS_2000_SERVER=2211,
/// <summary>
/// Windows 2000 Advanced Server
/// </summary>
WINDOWS_2000_ADVANCED_SERVER=2212,
/// <summary>
/// Windows 2000 Datacenter Server
/// </summary>
WINDOWS_2000_DATACENTER_SERVER=2213,
/// <summary>
/// BackOffice Server 2000
/// </summary>
WINDOWS_2000_BACKOFFICE=2214,
/// <summary>
/// Small Business Server 2000
/// </summary>
WINDOWS_2000_SBS=2215,
/// <summary>
/// Windows XP Home Edition
/// </summary>
WINDOWS_XP_HOME=2300,
/// <summary>
/// Windows XP Professional
/// </summary>
WINDOWS_XP_PROFESSIONAL=2301,
/// <summary>
/// Windows Server 2003 Web Edition
/// </summary>
WINDOWS_2003_WEB=2410,
/// <summary>
/// Windows Server 2003 Standard Edition
/// </summary>
WINDOWS_2003_STANDARD=2411,
/// <summary>
/// Windows Server 2003 Enterprise Edition
/// </summary>
WINDOWS_2003_ENTERPRISE=2412,
/// <summary>
/// Windows Server 2003 DataCenter Edition
/// </summary>
WINDOWS_2003_DATACENTER=2413,
/// <summary>
/// BackOffice Server 2003
/// </summary>
WINDOWS_2003_BACKOFFICE=2414,
/// <summary>
/// Small Business Server 2003
/// </summary>
WINDOWS_2003_SBS=2415,
/// <summary>
/// Windows Vista
/// </summary>
WINDOWS_LONGHORN_PROFESSIONAL=2500,
/// <summary>
/// Windows Server 2008
/// </summary>
WINDOWS_LONGHORN_SERVER=2510,
/// <summary>
/// Windows 7
/// </summary>
WINDOWS_7=2600,
/// <summary>
/// Windows Server 2008 R2
/// </summary>
WINDOWS_SERVER_2008_R2=2610,
/// <summary>
/// Windows 8
/// </summary>
WINDOWS_8=2700,
/// <summary>
/// Windows Server 2012
/// </summary>
WINDOWS_SERVER_8=2710,
/// <summary>
/// Windows 8.1
/// </summary>
WINDOWS_81=2701,
/// <summary>
/// Windows Server 2012 R2
/// </summary>
WINDOWS_SERVER_81=2711,
/// <summary>
/// Windows 10
/// </summary>
WINDOWS_10=2702,
/// <summary>
/// Windows Server 10
/// </summary>
WINDOWS_SERVER_10=2712,
/// <summary>
/// Windows 11 or later
/// </summary>
WINDOWS_11=2800,
/// <summary>
/// Windows Server 11 or later
/// </summary>
WINDOWS_SERVER_11=2810,
/// <summary>
/// Unknown UNIX
/// </summary>
UNIX_UNKNOWN=3000,
/// <summary>
/// Linux
/// </summary>
LINUX=3100,
/// <summary>
/// Solaris
/// </summary>
SOLARIS=3200,
/// <summary>
/// Cygwin
/// </summary>
CYGWIN=3300,
/// <summary>
/// BSD
/// </summary>
BSD=3400,
/// <summary>
/// MacOS X
/// </summary>
MACOS_X=3500,
}
/// <summary>
/// VPN Server Information
/// </summary>
publicclassVpnRpcServerInfo
{
/// <summary>
/// Server product name
/// </summary>
publicstringServerProductName_str;
/// <summary>
/// Server version string
/// </summary>
publicstringServerVersionString_str;
/// <summary>
/// Server build information string
/// </summary>
publicstringServerBuildInfoString_str;
/// <summary>
/// Server version integer value
/// </summary>
publicuintServerVerInt_u32;
/// <summary>
/// Server build number integer value
/// </summary>
publicuintServerBuildInt_u32;
/// <summary>
/// Server host name
/// </summary>
publicstringServerHostName_str;
/// <summary>
/// Type of server
/// </summary>
publicVpnRpcServerTypeServerType_u32;
/// <summary>
/// Build date and time of the server
/// </summary>
publicDateTimeServerBuildDate_dt;
/// <summary>
/// Family name
/// </summary>
publicstringServerFamilyName_str;
/// <summary>
/// OS type
/// </summary>
publicVpnRpcOsTypeOsType_u32;
/// <summary>
/// Service pack number
/// </summary>
publicuintOsServicePack_u32;
/// <summary>
/// OS system name
/// </summary>
publicstringOsSystemName_str;
/// <summary>
/// OS product name
/// </summary>
publicstringOsProductName_str;
/// <summary>
/// OS vendor name
/// </summary>
publicstringOsVendorName_str;
/// <summary>
/// OS version
/// </summary>
publicstringOsVersion_str;
/// <summary>
/// Kernel name
/// </summary>
publicstringKernelName_str;
/// <summary>
/// Kernel version
/// </summary>
publicstringKernelVersion_str;
}
/// <summary>
/// Server status
/// </summary>
publicclassVpnRpcServerStatus
{
/// <summary>
/// Type of server
/// </summary>
publicVpnRpcServerTypeServerType_u32;
/// <summary>
/// Total number of TCP connections
/// </summary>
publicuintNumTcpConnections_u32;
/// <summary>
/// Number of Local TCP connections
/// </summary>
publicuintNumTcpConnectionsLocal_u32;
/// <summary>
/// Number of remote TCP connections
/// </summary>
publicuintNumTcpConnectionsRemote_u32;
/// <summary>
/// Total number of HUBs
/// </summary>
publicuintNumHubTotal_u32;
/// <summary>
/// Nymber of stand-alone HUB
/// </summary>
publicuintNumHubStandalone_u32;
/// <summary>
/// Number of static HUBs
/// </summary>
publicuintNumHubStatic_u32;
/// <summary>
/// Number of Dynamic HUBs
/// </summary>
publicuintNumHubDynamic_u32;
/// <summary>
/// Total number of sessions
/// </summary>
publicuintNumSessionsTotal_u32;
/// <summary>
/// Number of local VPN sessions
/// </summary>
publicuintNumSessionsLocal_u32;
/// <summary>
/// The number of remote sessions
/// </summary>
publicuintNumSessionsRemote_u32;
/// <summary>
/// Number of MAC table entries (total sum of all Virtual Hubs)
/// </summary>
publicuintNumMacTables_u32;
/// <summary>
/// Number of IP table entries (total sum of all Virtual Hubs)
/// </summary>
publicuintNumIpTables_u32;
/// <summary>
/// Number of users (total sum of all Virtual Hubs)
/// </summary>
publicuintNumUsers_u32;
/// <summary>
/// Number of groups (total sum of all Virtual Hubs)
/// </summary>
publicuintNumGroups_u32;
/// <summary>
/// Number of assigned bridge licenses (Useful to make a commercial version)
/// </summary>
publicuintAssignedBridgeLicenses_u32;
/// <summary>
/// Number of assigned client licenses (Useful to make a commercial version)
/// </summary>
publicuintAssignedClientLicenses_u32;
/// <summary>
/// Number of Assigned bridge license (cluster-wide), useful to make a commercial version
/// </summary>
publicuintAssignedBridgeLicensesTotal_u32;
/// <summary>
/// Number of assigned client licenses (cluster-wide), useful to make a commercial version
/// </summary>
publicuintAssignedClientLicensesTotal_u32;
/// <summary>
/// Number of broadcast packets (Recv)
/// </summary>
[JsonProperty("Recv.BroadcastBytes_u64")]
publiculongRecv_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Recv)
/// </summary>
[JsonProperty("Recv.BroadcastCount_u64")]
publiculongRecv_BroadcastCount_u64;
/// <summary>
/// Unicast count (Recv)
/// </summary>
[JsonProperty("Recv.UnicastBytes_u64")]
publiculongRecv_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Recv)
/// </summary>
[JsonProperty("Recv.UnicastCount_u64")]
publiculongRecv_UnicastCount_u64;
/// <summary>
/// Number of broadcast packets (Send)
/// </summary>
[JsonProperty("Send.BroadcastBytes_u64")]
publiculongSend_BroadcastBytes_u64;
/// <summary>
/// Broadcast bytes (Send)
/// </summary>
[JsonProperty("Send.BroadcastCount_u64")]
publiculongSend_BroadcastCount_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Send.UnicastBytes_u64")]
publiculongSend_UnicastBytes_u64;
/// <summary>
/// Unicast bytes (Send)
/// </summary>
[JsonProperty("Send.UnicastCount_u64")]
publiculongSend_UnicastCount_u64;
/// <summary>
/// Current time
/// </summary>
publicDateTimeCurrentTime_dt;
/// <summary>
/// 64 bit High-Precision Logical System Clock
/// </summary>
publiculongCurrentTick_u64;
/// <summary>
/// VPN Server Start-up time
/// </summary>
publicDateTimeStartTime_dt;
/// <summary>
/// Memory information: Total Memory
/// </summary>
publiculongTotalMemory_u64;
/// <summary>
/// Memory information: Used Memory
/// </summary>
publiculongUsedMemory_u64;
/// <summary>
/// Memory information: Free Memory
/// </summary>
publiculongFreeMemory_u64;
/// <summary>
/// Memory information: Total Phys
/// </summary>
publiculongTotalPhys_u64;
/// <summary>
/// Memory information: Used Phys
/// </summary>
publiculongUsedPhys_u64;
/// <summary>
/// Memory information: Free Phys
/// </summary>
publiculongFreePhys_u64;
}
/// <summary>
/// VPN Session status
/// </summary>
publicclassVpnRpcSessionStatus
{
/// <summary>
/// The Virtual Hub name
/// </summary>
publicstringHubName_str;
/// <summary>
/// VPN session name
/// </summary>
publicstringName_str;
/// <summary>
/// User name
/// </summary>
publicstringUsername_str;
/// <summary>
/// Real user name which was used for the authentication
/// Connection completion time of the first connection
/// </summary>
publicDateTimeFirstConnectionEstablisiedTime_dt;
/// <summary>
/// Connection completion time of this connection
/// </summary>
publicDateTimeCurrentConnectionEstablishTime_dt;
/// <summary>
/// Number of connections have been established so far
/// </summary>
publicuintNumConnectionsEatablished_u32;
/// <summary>
/// Half-connection
/// </summary>
publicboolHalfConnection_bool;
/// <summary>
/// VoIP / QoS
/// </summary>
publicboolQoS_bool;
/// <summary>
/// Maximum number of the underlying TCP connections
/// </summary>
publicuintMaxTcpConnections_u32;
/// <summary>
/// Number of current underlying TCP connections
/// </summary>
publicuintNumTcpConnections_u32;
/// <summary>
/// Number of inbound underlying connections
/// </summary>
publicuintNumTcpConnectionsUpload_u32;
/// <summary>
/// Number of outbound underlying connections
/// </summary>
publicuintNumTcpConnectionsDownload_u32;
/// <summary>
/// Use of encryption
/// </summary>
publicboolUseEncrypt_bool;
/// <summary>
/// Cipher algorithm name
/// </summary>
publicstringCipherName_str;
/// <summary>
/// Use of compression
/// </summary>
publicboolUseCompress_bool;
/// <summary>
/// Is R-UDP session
/// </summary>
publicboolIsRUDPSession_bool;
/// <summary>
/// Physical underlying communication protocol
/// </summary>
publicstringUnderlayProtocol_str;
/// <summary>
/// The UDP acceleration is enabled
/// </summary>
publicboolIsUdpAccelerationEnabled_bool;
/// <summary>
/// Using the UDP acceleration function
/// </summary>
publicboolIsUsingUdpAcceleration_bool;
/// <summary>
/// VPN session name
/// </summary>
publicstringSessionName_str;
/// <summary>
/// Connection name
/// </summary>
publicstringConnectionName_str;
/// <summary>
/// Session key
/// </summary>
publicbyte[]SessionKey_bin;
/// <summary>
/// Total transmitted data size
/// </summary>
publiculongTotalSendSize_u64;
/// <summary>
/// Total received data size
/// </summary>
publiculongTotalRecvSize_u64;
/// <summary>
/// Total transmitted data size (no compression)
/// </summary>
publiculongTotalSendSizeReal_u64;
/// <summary>
/// Total received data size (no compression)
/// </summary>
publiculongTotalRecvSizeReal_u64;
/// <summary>
/// Is Bridge Mode
/// </summary>
publicboolIsBridgeMode_bool;
/// <summary>
/// Is Monitor mode
/// </summary>
publicboolIsMonitorMode_bool;
/// <summary>
/// VLAN ID
/// </summary>
publicuintVLanId_u32;
/// <summary>
/// Client product name
/// </summary>
publicstringClientProductName_str;
/// <summary>
/// Client version
/// </summary>
publicuintClientProductVer_u32;
/// <summary>
/// Client build number
/// </summary>
publicuintClientProductBuild_u32;
/// <summary>
/// Client OS name
/// </summary>
publicstringClientOsName_str;
/// <summary>
/// Client OS version
/// </summary>
publicstringClientOsVer_str;
/// <summary>
/// Client OS Product ID
/// </summary>
publicstringClientOsProductId_str;
/// <summary>
/// Client host name
/// </summary>
publicstringClientHostname_str;
/// <summary>
/// Unique ID
/// </summary>
publicbyte[]UniqueId_bin;
}
/// <summary>
/// Set the special listener
/// </summary>
publicclassVpnRpcSpecialListener
{
/// <summary>
/// The flag to activate the VPN over ICMP server function
/// </summary>
publicboolVpnOverIcmpListener_bool;
/// <summary>
/// The flag to activate the VPN over DNS function
/// </summary>
publicboolVpnOverDnsListener_bool;
}
/// <summary>
/// Syslog configuration
/// </summary>
publicenumVpnSyslogSaveType
{
/// <summary>
/// Do not use syslog
/// </summary>
None=0,
/// <summary>
/// Only server log
/// </summary>
ServerLog=1,
/// <summary>
/// Server and Virtual HUB security log
/// </summary>
ServerAndHubSecurityLog=2,
/// <summary>
/// Server, Virtual HUB security, and packet log
/// </summary>
ServerAndHubAllLog=3,
}
/// <summary>
/// Syslog configuration
/// </summary>
publicclassVpnSyslogSetting
{
/// <summary>
/// The behavior of the syslog function
/// </summary>
publicVpnSyslogSaveTypeSaveType_u32;
/// <summary>
/// Specify the host name or IP address of the syslog server
/// </summary>
publicstringHostname_str;
/// <summary>
/// Specify the port number of the syslog server
/// </summary>
publicuintPort_u32;
}
/// <summary>
/// VPN Gate Server Config
/// </summary>
publicclassVpnVgsConfig
{
/// <summary>
/// Active flag
/// </summary>
publicboolIsEnabled_bool;
/// <summary>
/// Message
/// </summary>
publicstringMessage_utf;
/// <summary>
/// Owner name
/// </summary>
publicstringOwner_utf;
/// <summary>
/// Abuse email
/// </summary>
publicstringAbuse_utf;
/// <summary>
/// Log save flag
/// </summary>
publicboolNoLog_bool;
/// <summary>
/// Save log permanently
/// </summary>
publicboolLogPermanent_bool;
/// <summary>
/// Enable the L2TP VPN function
/// </summary>
publicboolEnableL2TP_bool;
}
/// <summary>
/// Read a Log file
/// </summary>
publicclassVpnRpcReadLogFile
{
/// <summary>
/// Server name
/// </summary>
publicstringServerName_str;
/// <summary>
/// File Path
/// </summary>
publicstringFilePath_str;
/// <summary>
/// Offset to download. You have to call the ReadLogFile API multiple times to download the entire log file with requesting a part of the file by specifying the Offset_u32 field.