diff options
Diffstat (limited to 'Tizen.Network.WiFiDirect/Interop/Interop.WiFiDirect.cs')
-rw-r--r-- | Tizen.Network.WiFiDirect/Interop/Interop.WiFiDirect.cs | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/Tizen.Network.WiFiDirect/Interop/Interop.WiFiDirect.cs b/Tizen.Network.WiFiDirect/Interop/Interop.WiFiDirect.cs new file mode 100644 index 0000000..ac9afc1 --- /dev/null +++ b/Tizen.Network.WiFiDirect/Interop/Interop.WiFiDirect.cs @@ -0,0 +1,229 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using Tizen.Network.WiFiDirect; +using System.Runtime.InteropServices; + +/// <summary> +/// Interop class for Wi-Fi Direct +/// </summary> +internal static partial class Interop +{ + /// <summary> + /// Wi-Fi Direct Native Apis + /// </summary> + internal static partial class WiFiDirect + { + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate void DiscoveryStateChangedCallback(int result, WiFiDirectDiscoveryState state, IntPtr userData); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate void PeerFoundCallback(int result, WiFiDirectDiscoveryState state, string address, IntPtr userData); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate void DeviceStateChangedCallback(int result, WiFiDirectDeviceState state, IntPtr userData); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate void ConnectionStateChangedCallback(int result, WiFiDirectConnectionState state, string address, IntPtr userData); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate void ClientIpAddressAssignedCallback(string macAddress, string ipAddress, string interfaceAddress, IntPtr userData); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate void ServiceStateChangedCallback(int result, WiFiDirectServiceDiscoveryState state, WiFiDirectServiceType type, IntPtr responseData, string address, IntPtr userData); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate void StateChangedCallback(WiFiDirectState state, IntPtr userData); + + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate bool DiscoveredPeerCallback(ref DiscoveredPeerStruct peer, IntPtr userData); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate bool ConnectedPeerCallback(ref ConnectedPeerStruct peer, IntPtr userData); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate bool WpsTypeCallback(WiFiDirectWpsType type, IntPtr userData); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate bool PersistentGroupCallback(string address, string ssid, IntPtr userData); + + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_state_changed_cb")] + internal static extern int SetStateChangedCallback(StateChangedCallback stateChangedCb, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_unset_state_changed_cb")] + internal static extern int UnsetStateChangedCallback(); + + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_device_state_changed_cb")] + internal static extern int SetDeviceStateChangedCallback(DeviceStateChangedCallback deviceChangedCb, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_unset_device_state_changed_cb")] + internal static extern int UnsetDeviceStateChangedCallback(); + + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_discovery_state_changed_cb")] + internal static extern int SetDiscoveryStateChangedCallback(DiscoveryStateChangedCallback discoveryStateChangedCb, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_unset_discovery_state_changed_cb")] + internal static extern int UnsetDiscoveryStateChangedCallback(); + + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_peer_found_cb")] + internal static extern int SetPeerFoundCallback(PeerFoundCallback peerFoundCb, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_unset_peer_found_cb")] + internal static extern int UnsetPeerFoundCallback(); + + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_connection_state_changed_cb")] + internal static extern int SetConnectionChangedCallback(ConnectionStateChangedCallback connectionCb, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_unset_connection_state_changed_cb")] + internal static extern int UnsetConnectionChangedCallback(); + + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_client_ip_address_assigned_cb")] + internal static extern int SetIpAddressAssignedCallback(ClientIpAddressAssignedCallback callback, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_unset_client_ip_address_assigned_cb")] + internal static extern int UnsetIpAddressAssignedCallback(); + + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_service_state_changed_cb")] + internal static extern int SetServiceStateChangedCallback(ServiceStateChangedCallback serviceStateChangedCb, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_unset_service_state_changed_cb")] + internal static extern int UnsetServiceStateChangedCallback(); + + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_initialize")] + internal static extern int Initialize(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_deinitialize")] + internal static extern int Deinitialize(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_activate")] + internal static extern int Activate(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_deactivate")] + internal static extern int Deactivate(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_start_discovery_specific_channel")] + internal static extern int StartDiscoveryInChannel(bool listenOnly, int timeout, WiFiDirectDiscoveryChannel channel); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_cancel_discovery")] + internal static extern int StopDiscovery(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_foreach_discovered_peers")] + internal static extern int GetDiscoveredPeers(DiscoveredPeerCallback callback, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_connect")] + internal static extern int Connect(string address); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_cancel_connection")] + internal static extern int CancelConnection(string address); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_disconnect_all")] + internal static extern int DisconnectAll(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_disconnect")] + internal static extern int Disconnect(string address); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_foreach_connected_peers")] + internal static extern int GetConnectedPeers(ConnectedPeerCallback callback, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_create_group")] + internal static extern int CreateGroup(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_destroy_group")] + internal static extern int DestroyGroup(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_is_group_owner")] + internal static extern int IsGroupOwner(out bool isGroupOwner); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_is_autonomous_group")] + internal static extern int IsAutonomousGroup(out bool isAutonomous); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_device_name")] + internal static extern int SetName(string name); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_device_name")] + internal static extern int GetName(out string name); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_ssid")] + internal static extern int GetSsid(out string ssid); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_network_interface_name")] + internal static extern int GetInterfaceName(out string name); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_ip_address")] + internal static extern int GetIpAddress(out string address); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_subnet_mask")] + internal static extern int GetSubnetMask(out string mask); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_gateway_address")] + internal static extern int GetGatewayAddress(out string address); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_mac_address")] + internal static extern int GetMacAddress(out string address); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_state")] + internal static extern int GetState(out WiFiDirectState state); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_is_discoverable")] + internal static extern int IsDiscoverable(out bool isDiscoverable); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_is_listening_only")] + internal static extern int IsListeningOnly(out bool listenOnly); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_primary_device_type")] + internal static extern int GetPrimaryType(out WiFiDirectPrimaryDeviceType type); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_secondary_device_type")] + internal static extern int GetSecondaryType(out WiFiDirectSecondaryDeviceType type); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_activate_pushbutton")] + internal static extern int ActivatePushButton(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_wps_pin")] + internal static extern int SetWpsPin(string pin); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_wps_pin")] + internal static extern int GetWpsPin(out string pin); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_supported_wps_mode")] + internal static extern int GetWpsMode(out int mode); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_foreach_supported_wps_types")] + internal static extern int GetWpsTypes(WpsTypeCallback callback, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_local_wps_type")] + internal static extern int GetLocalWpsType(out WiFiDirectWpsType type); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_req_wps_type")] + internal static extern int SetReqWpsType(WiFiDirectWpsType type); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_req_wps_type")] + internal static extern int GetReqWpsType(out WiFiDirectWpsType type); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_group_owner_intent")] + internal static extern int SetIntent(int intent); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_group_owner_intent")] + internal static extern int GetIntent(out int intent); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_max_clients")] + internal static extern int SetMaxClients(int max); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_max_clients")] + internal static extern int GetMaxClients(out int max); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_passphrase")] + internal static extern int SetPassPhrase(string passphrase); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_passphrase")] + internal static extern int GetPassPhrase(out string passphrase); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_operating_channel")] + internal static extern int GetChannel(out int channel); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_autoconnection_mode")] + internal static extern int SetAutoConnectionMode(bool mode); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_is_autoconnection_mode")] + internal static extern int GetAutoConnectionMode(out bool mode); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_autoconnection_peer")] + internal static extern int SetAutoConnectionPeer(string address); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_persistent_group_enabled")] + internal static extern int SetPersistentGroupState(bool enabled); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_is_persistent_group_enabled")] + internal static extern int GetPersistentGroupState(out bool enabled); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_foreach_persistent_groups")] + internal static extern int GetPersistentGroups(PersistentGroupCallback callback, IntPtr userData); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_remove_persistent_group")] + internal static extern int RemovePersistentGroup(string address, string ssid); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_start_service_discovery")] + internal static extern int StartServiceDiscovery(string address, WiFiDirectServiceType type); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_cancel_service_discovery")] + internal static extern int StopServiceDiscovery(string address, WiFiDirectServiceType type); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_register_service")] + internal static extern int RegisterService(WiFiDirectServiceType type, string info1, string info2, out uint serviceId); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_deregister_service")] + internal static extern int DeregisterService(uint serviceId); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_init_miracast")] + internal static extern int InitMiracast(bool enable); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_peer_info")] + internal static extern int GetDiscoveredPeerInfo(string address, out IntPtr peer); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_init_display")] + internal static extern int InitDisplay(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_deinit_display")] + internal static extern int DeinitDisplay(); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_display")] + internal static extern int SetDisplay(WiFiDirectDisplayType type, int port, int hdcp); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_display_availability")] + internal static extern int SetDisplayAvailability(bool availability); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_peer_display_type")] + internal static extern int GetDisplayType(string address, out WiFiDirectDisplayType type); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_peer_display_availability")] + internal static extern int GetDisplayAvailability(string address, out bool availability); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_peer_display_hdcp")] + internal static extern int GetDisplayHdcp(string address, out int hdcp); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_peer_display_port")] + internal static extern int GetDisplayPort(string address, out int port); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_peer_display_throughput")] + internal static extern int GetDisplayThroughput(string address, out int throughput); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_get_session_timer")] + internal static extern int GetSessionTimer(out int seconds); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_session_timer")] + internal static extern int SetSessionTimer(int seconds); + [DllImport(Libraries.WiFiDirect,EntryPoint = "wifi_direct_set_auto_group_removal")] + internal static extern int SetAutoGroupRemoval(bool enable); + } +} |