wpa_supplicant(interface): Add iface/network type

Add separate types of Iface/Network object for STA (station mode) and
P2P mode ifaces and associated networks. These expose very different
functionality and exposing 2 different types of objects makes the
interface cleaner.
Although, they're still represented via the same struct for both types
in the wpa_supplicant core.

Bug: 32553421
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: I41601a650709429c65014cb7adaf6cb9ab03787e
This commit is contained in:
Roshan Pius 2016-10-31 14:51:27 -07:00
parent 8766c010ba
commit 39f588f8ed
13 changed files with 1439 additions and 870 deletions

View file

@ -9,18 +9,30 @@ genrule {
"ISupplicant.hal",
"ISupplicantCallback.hal",
"ISupplicantIface.hal",
"ISupplicantIfaceCallback.hal",
"ISupplicantNetwork.hal",
"ISupplicantNetworkCallback.hal",
"ISupplicantP2pIface.hal",
"ISupplicantP2pIfaceCallback.hal",
"ISupplicantP2pNetwork.hal",
"ISupplicantP2pNetworkCallback.hal",
"ISupplicantStaIface.hal",
"ISupplicantStaIfaceCallback.hal",
"ISupplicantStaNetwork.hal",
"ISupplicantStaNetworkCallback.hal",
],
out: [
"android/hardware/wifi/supplicant/1.0/types.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantCallbackAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantIfaceAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantIfaceCallbackAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantNetworkAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantNetworkCallbackAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantP2pIfaceAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantP2pIfaceCallbackAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantP2pNetworkAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantP2pNetworkCallbackAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantStaIfaceAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantStaIfaceCallbackAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantStaNetworkAll.cpp",
"android/hardware/wifi/supplicant/1.0/SupplicantStaNetworkCallbackAll.cpp",
],
}
@ -33,9 +45,15 @@ genrule {
"ISupplicant.hal",
"ISupplicantCallback.hal",
"ISupplicantIface.hal",
"ISupplicantIfaceCallback.hal",
"ISupplicantNetwork.hal",
"ISupplicantNetworkCallback.hal",
"ISupplicantP2pIface.hal",
"ISupplicantP2pIfaceCallback.hal",
"ISupplicantP2pNetwork.hal",
"ISupplicantP2pNetworkCallback.hal",
"ISupplicantStaIface.hal",
"ISupplicantStaIfaceCallback.hal",
"ISupplicantStaNetwork.hal",
"ISupplicantStaNetworkCallback.hal",
],
out: [
"android/hardware/wifi/supplicant/1.0/types.h",
@ -54,21 +72,51 @@ genrule {
"android/hardware/wifi/supplicant/1.0/BnSupplicantIface.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantIface.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantIface.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantNetwork.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantNetwork.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantNetwork.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantNetwork.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantNetwork.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantP2pIface.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantP2pIface.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantP2pIface.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantP2pIface.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantP2pIface.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantP2pIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantP2pIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantP2pIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantP2pIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetwork.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantP2pNetwork.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantP2pNetwork.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantP2pNetwork.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantP2pNetwork.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantP2pNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantP2pNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantP2pNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantP2pNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantStaIface.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantStaIface.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantStaIface.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantStaIface.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantStaIface.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantStaIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantStaIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantStaIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantStaIfaceCallback.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantStaNetwork.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantStaNetwork.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantStaNetwork.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantStaNetwork.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantStaNetwork.h",
"android/hardware/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/IHwSupplicantStaNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/BnSupplicantStaNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/BpSupplicantStaNetworkCallback.h",
"android/hardware/wifi/supplicant/1.0/BsSupplicantStaNetworkCallback.h",
],
}

View file

@ -12,6 +12,23 @@ intermediates := $(local-generated-sources-dir)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
# Build types.hal (IfaceType)
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/IfaceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::types.IfaceType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (SupplicantStatus)
#
@ -93,8 +110,6 @@ GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantIface.ja
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantIfaceCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
@ -109,25 +124,6 @@ $(GEN): $(LOCAL_PATH)/ISupplicantIface.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantIfaceCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantIfaceCallback
$(GEN): $(LOCAL_PATH)/ISupplicantIfaceCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantNetwork.hal
#
@ -135,8 +131,6 @@ GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantNetwork.
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantNetworkCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantNetworkCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
@ -150,19 +144,166 @@ $(GEN): $(LOCAL_PATH)/ISupplicantNetwork.hal
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantNetworkCallback.hal
# Build ISupplicantP2pIface.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantNetworkCallback.java
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantNetworkCallback.hal
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantNetworkCallback
android.hardware.wifi.supplicant@1.0::ISupplicantP2pIface
$(GEN): $(LOCAL_PATH)/ISupplicantNetworkCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantP2pIface.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantP2pIfaceCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantP2pIfaceCallback
$(GEN): $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantP2pNetwork.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetwork
$(GEN): $(LOCAL_PATH)/ISupplicantP2pNetwork.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantP2pNetworkCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetworkCallback
$(GEN): $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantStaIface.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantStaIface
$(GEN): $(LOCAL_PATH)/ISupplicantStaIface.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantStaIfaceCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantStaIfaceCallback
$(GEN): $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantStaNetwork.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantStaNetwork
$(GEN): $(LOCAL_PATH)/ISupplicantStaNetwork.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantStaNetworkCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantStaNetworkCallback
$(GEN): $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_JAVA_LIBRARY)
@ -178,6 +319,23 @@ intermediates := $(local-generated-sources-dir)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
# Build types.hal (IfaceType)
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/IfaceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::types.IfaceType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (SupplicantStatus)
#
@ -259,8 +417,6 @@ GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantIface.ja
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantIfaceCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
@ -275,25 +431,6 @@ $(GEN): $(LOCAL_PATH)/ISupplicantIface.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantIfaceCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantIfaceCallback
$(GEN): $(LOCAL_PATH)/ISupplicantIfaceCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantNetwork.hal
#
@ -301,8 +438,6 @@ GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantNetwork.
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantNetworkCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantNetworkCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
@ -316,19 +451,166 @@ $(GEN): $(LOCAL_PATH)/ISupplicantNetwork.hal
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantNetworkCallback.hal
# Build ISupplicantP2pIface.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantNetworkCallback.java
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantNetworkCallback.hal
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantNetworkCallback
android.hardware.wifi.supplicant@1.0::ISupplicantP2pIface
$(GEN): $(LOCAL_PATH)/ISupplicantNetworkCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantP2pIface.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantP2pIfaceCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantP2pIfaceCallback
$(GEN): $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantP2pNetwork.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetwork
$(GEN): $(LOCAL_PATH)/ISupplicantP2pNetwork.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantP2pNetworkCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetworkCallback
$(GEN): $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantStaIface.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): $(LOCAL_PATH)/ISupplicantIface.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantStaIface
$(GEN): $(LOCAL_PATH)/ISupplicantStaIface.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantStaIfaceCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantStaIfaceCallback
$(GEN): $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantStaNetwork.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): $(LOCAL_PATH)/ISupplicantNetwork.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
$(GEN): $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantStaNetwork
$(GEN): $(LOCAL_PATH)/ISupplicantStaNetwork.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build ISupplicantStaNetworkCallback.hal
#
GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava -randroid.hardware:hardware/interfaces \
android.hardware.wifi.supplicant@1.0::ISupplicantStaNetworkCallback
$(GEN): $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_STATIC_JAVA_LIBRARY)

View file

@ -16,7 +16,6 @@
package android.hardware.wifi.supplicant@1.0;
import ISupplicantIfaceCallback;
import ISupplicantNetwork;
/**
@ -35,6 +34,17 @@ interface ISupplicantIface {
*/
getName() generates (SupplicantStatus status, string name);
/**
* Retrieves the type of the network interface.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
* @return type Type of the network interface, e.g., STA.
*/
getType() generates (SupplicantStatus status, IfaceType type);
/**
* Add a new network to the interface.
*
@ -100,114 +110,4 @@ interface ISupplicantIface {
*/
listNetworks()
generates (SupplicantStatus status, vec<SupplicantNetworkId> networkIds);
/**
* Register for callbacks from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
* Registration of multiple callback objects is supported. These objects must
* be automatically deleted when the corresponding client process is dead or
* if this interface is removed.
*
* @param callback An instance of the |ISupplicantIfaceCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
registerCallback(ISupplicantIfaceCallback callback)
generates (SupplicantStatus status);
/**
* Reconnect to the currently active network, even if we are already
* connected.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
reassociate() generates (SupplicantStatus status);
/**
* Reconnect to the currently active network, if we are currently
* disconnected.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|,
* |SupplicantStatusCode.FAILURE_IFACE_NOT_DISCONNECTED|
*/
reconnect() generates (SupplicantStatus status);
/**
* Disconnect from the current active network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
disconnect() generates (SupplicantStatus status);
/**
* Turn on/off power save mode for the interface.
*
* @param enable Indicate if power save is to be turned on/off.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
setPowerSave(bool enable) generates (SupplicantStatus status);
/**
* Initiate TDLS discover with the provided peer mac address.
*
* @param macAddress MAC address of the peer.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
initiateTdlsDiscover(MacAddress macAddress)
generates (SupplicantStatus status);
/**
* Initiate TDLS setup with the provided peer mac address.
*
* @param macAddress MAC address of the peer.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
initiateTdlsSetup(MacAddress macAddress)
generates (SupplicantStatus status);
/**
* Initiate TDLS teardown with the provided peer mac address.
*
* @param macAddress MAC address of the peer.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
initiateTdlsTeardown(MacAddress macAddress)
generates (SupplicantStatus status);
};

View file

@ -16,8 +16,6 @@
package android.hardware.wifi.supplicant@1.0;
import ISupplicantNetworkCallback;
/**
* Interface exposed by wpa_supplicant for each network configuration it
* controls.
@ -27,100 +25,6 @@ import ISupplicantNetworkCallback;
* credentials, bssid, etc.
*/
interface ISupplicantNetwork {
/**
* Size limits for some of the params used in this interface.
*/
enum ParamSizeLimits : uint32_t {
/** Max length of SSID param. */
SSID_MAX_LEN_IN_BYTES = 32,
/** Min length of PSK passphrase param. */
PSK_PASSPHRASE_MIN_LEN_IN_BYTES = 8,
/** Max length of PSK passphrase param. */
PSK_PASSPHRASE_MAX_LEN_IN_BYTES = 63,
/** Max number of WEP keys param. */
WEP_KEYS_MAX_NUM = 4,
/** Length of each WEP40 keys param. */
WEP40_KEY_LEN_IN_BYTES = 5,
/** Length of each WEP104 keys param. */
WEP104_KEY_LEN_IN_BYTES = 13,
};
/** Possble mask of values for KeyMgmt param. */
enum KeyMgmtMask : uint32_t {
WPA_EAP = 1 << 0,
WPA_PSK = 1 << 1,
NONE = 1 << 2,
IEEE8021X = 1 << 3
};
/** Possble mask of values for Proto param. */
enum ProtoMask : uint32_t {
WPA = 1 << 0,
RSN = 1 << 1,
/** Unused 1 << 2 */
OSEN = 1 << 3
};
/** Possble mask of values for AuthAlg param. */
enum AuthAlgMask : uint32_t {
OPEN = 1 << 0,
SHARED = 1 << 1,
LEAP = 1 << 2
};
/** Possble mask of values for GroupCipher param. */
enum GroupCipherMask : uint32_t {
WEP40 = 1 << 1,
WEP104 = 1 << 2,
TKIP = 1 << 3,
CCMP = 1 << 4
};
/** Possble mask of values for PairwiseCipher param. */
enum PairwiseCipherMask : uint32_t {
NONE = 1 << 0,
TKIP = 1 << 3,
CCMP = 1 << 4
};
/** Possble values for EapMethod param. */
enum EapMethod : uint32_t {
PEAP = 0,
TLS = 1,
TTLS = 2,
PWD = 3,
SIM = 4,
AKA = 5,
AKA_PRIME = 6,
WFA_UNAUTH_TLS = 7
};
/** Possble values for Phase2Method param. */
enum EapPhase2Method : uint32_t {
NONE = 0,
PAP = 1,
MSPAP = 2,
MSPAPV2 = 3,
GTC = 4
};
/** Params of |sendNetworkEapSimGsmAuthResponse| request. (Refer RFC 4186) */
struct NetworkResponseEapSimGsmAuthParams {
uint8_t[8] kc;
uint8_t[4] sres;
};
/** Params of |sendNetworkEapSimUmtsAuthResponse| request. (Refer RFC 4187) */
struct NetworkResponseEapSimUmtsAuthParams {
vec<uint8_t> res;
uint8_t[16] ik;
uint8_t[16] ck;
};
/**
* Retrieves the ID allocated to this network by wpa_supplicant.
*
@ -147,593 +51,13 @@ interface ISupplicantNetwork {
getInterfaceName() generates (SupplicantStatus status, string name);
/**
* Register for callbacks from this network.
*
* These callbacks are invoked for events that are specific to this network.
* Registration of multiple callback objects is supported. These objects must
* be automatically deleted when the corresponding client process is dead or
* if this network is removed.
*
* @param callback An instance of the |ISupplicantNetworkCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
registerCallback(ISupplicantNetworkCallback callback)
generates (SupplicantStatus status);
/**
* Setters for the various network params.
* These correspond to elements of |wpa_sssid| struct used internally by
* wpa_supplicant to represent each network.
*/
/**
* Set SSID for this network.
*
* @param ssid value to set.
* Max length of |ParamSizeLimits.SSID_MAX_LEN_IN_BYTES|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setSsid(Ssid ssid) generates (SupplicantStatus status);
/**
* Set the network to only connect to an AP with provided BSSID.
*
* @param bssid value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setBssid(Bssid bssid) generates (SupplicantStatus status);
/**
* Set whether to send probe requests for this network (hidden).
*
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setScanSsid(bool enable) generates (SupplicantStatus status);
/**
* Set key management mask for the network.
*
* @param keyMgmtMask value to set.
* Combination of |KeyMgmtMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setKeyMgmt(uint32_t keyMgmtMask) generates (SupplicantStatus status);
/**
* Set proto mask for the network.
*
* @param protoMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setProto(uint32_t protoMask) generates (SupplicantStatus status);
/**
* Set auth alg mask for the network.
*
* @param authAlgMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setAuthAlg(uint32_t authAlgMask) generates (SupplicantStatus status);
/**
* Set group cipher mask for the network.
*
* @param groupCipherMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setGroupCipher(uint32_t groupCipherMask)
generates (SupplicantStatus status);
/**
* Set pairwise cipher mask for the network.
*
* @param pairwiseCipherMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setPairwiseCipher(uint32_t pairwiseCipherMask)
generates (SupplicantStatus status);
/**
* Set passphrase for WPA_PSK network.
*
* @param psk value to set.
* Length of value must be between
* |ParamSizeLimits.PSK_PASSPHRASE_MIN_LEN_IN_BYTES| and
* |ParamSizeLimits.PSK_PASSPHRASE_MAX_LEN_IN_BYTES|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setPskPassphrase(string psk) generates (SupplicantStatus status);
/**
* Set WEP key for WEP network.
*
* @param keyIdx Index of wep key to set.
* Max of |ParamSizeLimits.WEP_KEYS_MAX_NUM|.
* @param wepKey value to set.
* Length of each key must be either
* |ParamSizeLimits.WEP40_KEY_LEN_IN_BYTES| or
* |ParamSizeLimits.WEP104_KEY_LEN_IN_BYTES|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setWepKey(uint32_t keyIdx, vec<uint8_t> wepKey)
generates (SupplicantStatus status);
/**
* Set default Tx key index for WEP network.
*
* @param KeyIdx value to set.
* Max of |ParamSizeLimits.WEP_KEYS_MAX_NUM|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setWepTxKeyIdx(uint32_t keyIdx)
generates (SupplicantStatus status);
/**
* Set whether RequirePmf is enabled for this network.
*
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setRequirePmf(bool enable) generates (SupplicantStatus status);
/**
* Set EAP Method for this network.
*
* @param method value to be set.
* Must be one of |EapMethod| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapMethod(EapMethod method)
generates (SupplicantStatus status);
/**
* Set EAP Phase2 Method for this network.
*
* @param method value to set.
* Must be one of |EapPhase2Method| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapPhase2Method(EapPhase2Method method)
generates (SupplicantStatus status);
/**
* Set EAP Identity for this network.
*
* @param identity value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapIdentity(vec<uint8_t> identity)
generates (SupplicantStatus status);
/**
* Set EAP Anonymous Identity for this network.
*
* @param identity value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapAnonymousIdentity(vec<uint8_t> identity)
generates (SupplicantStatus status);
/**
* Set EAP Password for this network.
*
* @param password value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapPassword(vec<uint8_t> password)
generates (SupplicantStatus status);
/**
* Set EAP CA certificate file path for this network.
*
* @param path value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapCACert(string path) generates (SupplicantStatus status);
/**
* Set EAP CA certificate directory path for this network.
*
* @param path value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapCAPath(string path) generates (SupplicantStatus status);
/**
* Set EAP Client certificate file path for this network.
*
* @param path value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapClientCert(string path) generates (SupplicantStatus status);
/**
* Set EAP private key file path for this network.
*
* @param path value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapPrivateKey(string path) generates (SupplicantStatus status);
/**
* Set EAP subject match for this network.
*
* @param match value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapSubjectMatch(string match) generates (SupplicantStatus status);
/**
* Set EAP Altsubject match for this network.
*
* @param match value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapAltSubjectMatch(string match)
generates (SupplicantStatus status);
/**
* Enable EAP Open SSL Engine for this network.
*
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapEngine(bool enable) generates (SupplicantStatus status);
/**
* Set EAP Open SSL Engine ID for this network.
*
* @param id value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapEngineID(string id) generates (SupplicantStatus status);
/**
* Set EAP Domain suffix match for this network.
*
* @param match value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapDomainSuffixMatch(string match)
generates (SupplicantStatus status);
/**
* Getters for the various network params.
*/
/**
* Get SSID for this network.
* Retrieves the type of the interface this network belongs to.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return ssid value set.
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
* @return type Type of the network interface, e.g., STA.
*/
getSsid() generates (SupplicantStatus status, Ssid ssid);
/**
* Get the BSSID set for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return bssid value set.
*/
getBssid() generates (SupplicantStatus status, Bssid bssid);
/**
* Get whether Probe Requests are being sent for this network (hidden).
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return enabled true if set, false otherwise.
*/
getScanSsid() generates (SupplicantStatus status, bool enabled);
/**
* Get the key mgmt mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return keyMgmtMask Combination of |KeyMgmtMask| values.
*/
getKeyMgmt()
generates (SupplicantStatus status, uint32_t keyMgmtMask);
/**
* Get the proto mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return protoMask Combination of |ProtoMask| values.
*/
getProto() generates (SupplicantStatus status, uint32_t protoMask);
/**
* Get the auth alg mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return authAlgMask Combination of |AuthAlgMask| values.
*/
getAuthAlg()
generates (SupplicantStatus status, uint32_t authAlgMask);
/**
* Get the group cipher mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return groupCipherMask Combination of |GroupCipherMask| values.
*/
getGroupCipher()
generates (SupplicantStatus status, uint32_t groupCipherMask);
/**
* Get the pairwise cipher mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return pairwiseCipherMask Combination of |PairwiseCipherMask| values.
*/
getPairwiseCipher()
generates (SupplicantStatus status, uint32_t pairwiseCipherMask);
/**
* Get passphrase for WPA_PSK network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return psk value set.
*/
getPskPassphrase() generates (SupplicantStatus status, string psk);
/**
* Get WEP key for WEP network.
*
* @param keyIdx Index of wep key to be fetched.
* Max of |WEP_KEYS_MAX_NUM|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return wepKey value set.
*/
getWepKey(uint32_t keyIdx)
generates (SupplicantStatus status, vec<uint8_t> wepKey);
/**
* Get default Tx key index for WEP network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return keyIdx value set.
*/
getWepTxKeyIdx()
generates (SupplicantStatus status, uint32_t keyIdx);
/**
* Get whether RequirePmf is enabled for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return enabled true if set, false otherwise.
*/
getRequirePmf() generates (SupplicantStatus status, bool enabled);
/**
* Enable the network for connection purposes.
*
* This must trigger a connection to the network if:
* a) |noConnect| is false, and
* b) This is the only network configured, and
* c) Is visible in the current scan results.
*
* @param noConnect Only enable the network, dont trigger a connect.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
enable(bool noConnect) generates (SupplicantStatus status);
/**
* Disable the network for connection purposes.
*
* This must trigger a disconnection from the network, if currently
* connected to this one.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
disable() generates (SupplicantStatus status);
/**
* Initiate connection to this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
select() generates (SupplicantStatus status);
/**
* Used to send a response to the
* |ISupplicantNetworkCallback.onNetworkEapSimGsmAuthRequest| request.
*
* @param params Params to be used for EAP GSM authentication.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
sendNetworkEapSimGsmAuthResponse(NetworkResponseEapSimGsmAuthParams params)
generates (SupplicantStatus status);
/**
* Used to send a response to the
* |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request.
*
* @param params Params to be used for EAP UMTS authentication.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
sendNetworkEapSimUmtsAuthResponse(NetworkResponseEapSimUmtsAuthParams params)
generates (SupplicantStatus status);
/**
* Used to send a response to the
* |ISupplicantNetworkCallback.onNetworkEapIdentityRequest| request.
*
* @param identity Identity to be used for the network.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
sendNetworkEapIdentityResponse(vec<uint8_t> identity)
generates (SupplicantStatus status);
getType() generates (SupplicantStatus status, IfaceType type);
};

View file

@ -0,0 +1,45 @@
/*
* Copyright 2016 The Android Open Source Project
*
* 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.
*/
package android.hardware.wifi.supplicant@1.0;
import ISupplicantIface;
import ISupplicantP2pIfaceCallback;
/**
* Interface exposed by wpa_supplicant for each P2P mode network
* interface (e.g p2p0) it controls.
*/
interface ISupplicantP2pIface extends ISupplicantIface {
/**
* Register for callbacks from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
* Registration of multiple callback objects is supported. These objects must
* be automatically deleted when the corresponding client process is dead or
* if this interface is removed.
*
* @param callback An instance of the |ISupplicantP2pIfaceCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
registerCallback(ISupplicantP2pIfaceCallback callback)
generates (SupplicantStatus status);
};

View file

@ -0,0 +1,41 @@
/*
* Copyright 2016 The Android Open Source Project
*
* 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.
*/
package android.hardware.wifi.supplicant@1.0;
/**
* Callback Interface exposed by the wpa_supplicant service
* for each P2P mode interface (ISupplicantP2pIface).
*
* Clients need to host an instance of this HIDL interface object and
* pass a reference of the object to wpa_supplicant via the
* corresponding |ISupplicantP2pIface.registerCallback| method.
*/
interface ISupplicantP2pIfaceCallback {
/**
* Used to indicate that a new network has been added.
*
* @param id Network ID allocated to the corresponding network.
*/
oneway onNetworkAdded(SupplicantNetworkId id);
/**
* Used to indicate that a network has been removed.
*
* @param id Network ID allocated to the corresponding network.
*/
oneway onNetworkRemoved(SupplicantNetworkId id);
};

View file

@ -0,0 +1,45 @@
/*
* Copyright 2016 The Android Open Source Project
*
* 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.
*/
package android.hardware.wifi.supplicant@1.0;
import ISupplicantNetwork;
import ISupplicantP2pNetworkCallback;
/**
* Interface exposed by wpa_supplicant for each P2P mode network
* configuration it controls.
*/
interface ISupplicantP2pNetwork extends ISupplicantNetwork {
/**
* Register for callbacks from this network.
*
* These callbacks are invoked for events that are specific to this network.
* Registration of multiple callback objects is supported. These objects must
* be automatically deleted when the corresponding client process is dead or
* if this network is removed.
*
* @param callback An instance of the |ISupplicantP2pNetworkCallback| HIDL
* interface object.
* @return status P2ptus of the operation.
* Possible status codes:
* |SupplicantP2ptusCode.SUCCESS|,
* |SupplicantP2ptusCode.FAILURE_UNKNOWN|,
* |SupplicantP2ptusCode.FAILURE_NETWORK_INVALID|
*/
registerCallback(ISupplicantP2pNetworkCallback callback)
generates (SupplicantStatus status);
};

View file

@ -0,0 +1,29 @@
/*
* Copyright 2016 The Android Open Source Project
*
* 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.
*/
package android.hardware.wifi.supplicant@1.0;
/**
* Callback Interface exposed by the wpa_supplicant service
* for each network (ISupplicantP2pNetwork).
*
* Clients need to host an instance of this HIDL interface object and
* pass a reference of the object to wpa_supplicant via the
* corresponding |ISupplicantP2pNetwork.registerCallback| method.
*/
interface ISupplicantP2pNetworkCallback {
// TODO(rpius): Add the reqd callbacks.
};

View file

@ -0,0 +1,136 @@
/*
* Copyright 2016 The Android Open Source Project
*
* 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.
*/
package android.hardware.wifi.supplicant@1.0;
import ISupplicantIface;
import ISupplicantStaIfaceCallback;
/**
* Interface exposed by wpa_supplicant for each station mode network
* interface (e.g wlan0) it controls.
*/
interface ISupplicantStaIface extends ISupplicantIface {
/**
* Register for callbacks from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
* Registration of multiple callback objects is supported. These objects must
* be automatically deleted when the corresponding client process is dead or
* if this interface is removed.
*
* @param callback An instance of the |ISupplicantStaIfaceCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
registerCallback(ISupplicantStaIfaceCallback callback)
generates (SupplicantStatus status);
/**
* Reconnect to the currently active network, even if we are already
* connected.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
reassociate() generates (SupplicantStatus status);
/**
* Reconnect to the currently active network, if we are currently
* disconnected.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|,
* |SupplicantStatusCode.FAILURE_IFACE_NOT_DISCONNECTED|
*/
reconnect() generates (SupplicantStatus status);
/**
* Disconnect from the current active network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
disconnect() generates (SupplicantStatus status);
/**
* Turn on/off power save mode for the interface.
*
* @param enable Indicate if power save is to be turned on/off.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
setPowerSave(bool enable) generates (SupplicantStatus status);
/**
* Initiate TDLS discover with the provided peer mac address.
*
* @param macAddress MAC address of the peer.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
initiateTdlsDiscover(MacAddress macAddress)
generates (SupplicantStatus status);
/**
* Initiate TDLS setup with the provided peer mac address.
*
* @param macAddress MAC address of the peer.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
initiateTdlsSetup(MacAddress macAddress)
generates (SupplicantStatus status);
/**
* Initiate TDLS teardown with the provided peer mac address.
*
* @param macAddress MAC address of the peer.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
initiateTdlsTeardown(MacAddress macAddress)
generates (SupplicantStatus status);
};

View file

@ -18,13 +18,13 @@ package android.hardware.wifi.supplicant@1.0;
/**
* Callback Interface exposed by the wpa_supplicant service
* for each interface (ISupplicantIface).
* for each station mode interface (ISupplicantStaIface).
*
* Clients need to host an instance of this HIDL interface object and
* pass a reference of the object to wpa_supplicant via the
* corresponding |ISupplicantIface.registerCallback| method.
* corresponding |ISupplicantStaIface.registerCallback| method.
*/
interface ISupplicantIfaceCallback {
interface ISupplicantStaIfaceCallback {
/** Various states of the interface reported by |onStateChanged|.*/
enum State : uint32_t {
/**
@ -38,7 +38,7 @@ interface ISupplicantIfaceCallback {
* due to rfkill. wpa_supplicant refuses any new operations that would
* use the radio until the interface has been enabled.
*/
INTERFACE_DISABLED = 1,
IFACE_DISABLED = 1,
/**
* This state is entered if there are no enabled networks in the
* configuration. wpa_supplicant is not trying to associate with a new

View file

@ -0,0 +1,711 @@
/*
* Copyright 2016 The Android Open Source Project
*
* 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.
*/
package android.hardware.wifi.supplicant@1.0;
import ISupplicantNetwork;
import ISupplicantStaNetworkCallback;
/**
* Interface exposed by wpa_supplicant for each station mode network
* configuration it controls.
*/
interface ISupplicantStaNetwork extends ISupplicantNetwork {
/**
* Size limits for some of the params used in this interface.
*/
enum ParamSizeLimits : uint32_t {
/** Max length of SSID param. */
SSID_MAX_LEN_IN_BYTES = 32,
/** Min length of PSK passphrase param. */
PSK_PASSPHRASE_MIN_LEN_IN_BYTES = 8,
/** Max length of PSK passphrase param. */
PSK_PASSPHRASE_MAX_LEN_IN_BYTES = 63,
/** Max number of WEP keys param. */
WEP_KEYS_MAX_NUM = 4,
/** Length of each WEP40 keys param. */
WEP40_KEY_LEN_IN_BYTES = 5,
/** Length of each WEP104 keys param. */
WEP104_KEY_LEN_IN_BYTES = 13,
};
/** Possble mask of values for KeyMgmt param. */
enum KeyMgmtMask : uint32_t {
WPA_EAP = 1 << 0,
WPA_PSK = 1 << 1,
NONE = 1 << 2,
IEEE8021X = 1 << 3
};
/** Possble mask of values for Proto param. */
enum ProtoMask : uint32_t {
WPA = 1 << 0,
RSN = 1 << 1,
/** Unused 1 << 2 */
OSEN = 1 << 3
};
/** Possble mask of values for AuthAlg param. */
enum AuthAlgMask : uint32_t {
OPEN = 1 << 0,
SHARED = 1 << 1,
LEAP = 1 << 2
};
/** Possble mask of values for GroupCipher param. */
enum GroupCipherMask : uint32_t {
WEP40 = 1 << 1,
WEP104 = 1 << 2,
TKIP = 1 << 3,
CCMP = 1 << 4
};
/** Possble mask of values for PairwiseCipher param. */
enum PairwiseCipherMask : uint32_t {
NONE = 1 << 0,
TKIP = 1 << 3,
CCMP = 1 << 4
};
/** Possble values for EapMethod param. */
enum EapMethod : uint32_t {
PEAP = 0,
TLS = 1,
TTLS = 2,
PWD = 3,
SIM = 4,
AKA = 5,
AKA_PRIME = 6,
WFA_UNAUTH_TLS = 7
};
/** Possble values for Phase2Method param. */
enum EapPhase2Method : uint32_t {
NONE = 0,
PAP = 1,
MSPAP = 2,
MSPAPV2 = 3,
GTC = 4
};
/** Params of |sendNetworkEapSimGsmAuthResponse| request. (Refer RFC 4186) */
struct NetworkResponseEapSimGsmAuthParams {
uint8_t[8] kc;
uint8_t[4] sres;
};
/** Params of |sendNetworkEapSimUmtsAuthResponse| request. (Refer RFC 4187) */
struct NetworkResponseEapSimUmtsAuthParams {
vec<uint8_t> res;
uint8_t[16] ik;
uint8_t[16] ck;
};
/**
* Register for callbacks from this network.
*
* These callbacks are invoked for events that are specific to this network.
* Registration of multiple callback objects is supported. These objects must
* be automatically deleted when the corresponding client process is dead or
* if this network is removed.
*
* @param callback An instance of the |ISupplicantStaNetworkCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
registerCallback(ISupplicantStaNetworkCallback callback)
generates (SupplicantStatus status);
/**
* Setters for the various network params.
* These correspond to elements of |wpa_sssid| struct used internally by
* wpa_supplicant to represent each network.
*/
/**
* Set SSID for this network.
*
* @param ssid value to set.
* Max length of |ParamSizeLimits.SSID_MAX_LEN_IN_BYTES|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setSsid(Ssid ssid) generates (SupplicantStatus status);
/**
* Set the network to only connect to an AP with provided BSSID.
*
* @param bssid value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setBssid(Bssid bssid) generates (SupplicantStatus status);
/**
* Set whether to send probe requests for this network (hidden).
*
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setScanSsid(bool enable) generates (SupplicantStatus status);
/**
* Set key management mask for the network.
*
* @param keyMgmtMask value to set.
* Combination of |KeyMgmtMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setKeyMgmt(uint32_t keyMgmtMask) generates (SupplicantStatus status);
/**
* Set proto mask for the network.
*
* @param protoMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setProto(uint32_t protoMask) generates (SupplicantStatus status);
/**
* Set auth alg mask for the network.
*
* @param authAlgMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setAuthAlg(uint32_t authAlgMask) generates (SupplicantStatus status);
/**
* Set group cipher mask for the network.
*
* @param groupCipherMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setGroupCipher(uint32_t groupCipherMask)
generates (SupplicantStatus status);
/**
* Set pairwise cipher mask for the network.
*
* @param pairwiseCipherMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setPairwiseCipher(uint32_t pairwiseCipherMask)
generates (SupplicantStatus status);
/**
* Set passphrase for WPA_PSK network.
*
* @param psk value to set.
* Length of value must be between
* |ParamSizeLimits.PSK_PASSPHRASE_MIN_LEN_IN_BYTES| and
* |ParamSizeLimits.PSK_PASSPHRASE_MAX_LEN_IN_BYTES|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setPskPassphrase(string psk) generates (SupplicantStatus status);
/**
* Set WEP key for WEP network.
*
* @param keyIdx Index of wep key to set.
* Max of |ParamSizeLimits.WEP_KEYS_MAX_NUM|.
* @param wepKey value to set.
* Length of each key must be either
* |ParamSizeLimits.WEP40_KEY_LEN_IN_BYTES| or
* |ParamSizeLimits.WEP104_KEY_LEN_IN_BYTES|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setWepKey(uint32_t keyIdx, vec<uint8_t> wepKey)
generates (SupplicantStatus status);
/**
* Set default Tx key index for WEP network.
*
* @param KeyIdx value to set.
* Max of |ParamSizeLimits.WEP_KEYS_MAX_NUM|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setWepTxKeyIdx(uint32_t keyIdx)
generates (SupplicantStatus status);
/**
* Set whether RequirePmf is enabled for this network.
*
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setRequirePmf(bool enable) generates (SupplicantStatus status);
/**
* Set EAP Method for this network.
*
* @param method value to be set.
* Must be one of |EapMethod| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapMethod(EapMethod method)
generates (SupplicantStatus status);
/**
* Set EAP Phase2 Method for this network.
*
* @param method value to set.
* Must be one of |EapPhase2Method| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapPhase2Method(EapPhase2Method method)
generates (SupplicantStatus status);
/**
* Set EAP Identity for this network.
*
* @param identity value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapIdentity(vec<uint8_t> identity)
generates (SupplicantStatus status);
/**
* Set EAP Anonymous Identity for this network.
*
* @param identity value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapAnonymousIdentity(vec<uint8_t> identity)
generates (SupplicantStatus status);
/**
* Set EAP Password for this network.
*
* @param password value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapPassword(vec<uint8_t> password)
generates (SupplicantStatus status);
/**
* Set EAP CA certificate file path for this network.
*
* @param path value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapCACert(string path) generates (SupplicantStatus status);
/**
* Set EAP CA certificate directory path for this network.
*
* @param path value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapCAPath(string path) generates (SupplicantStatus status);
/**
* Set EAP Client certificate file path for this network.
*
* @param path value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapClientCert(string path) generates (SupplicantStatus status);
/**
* Set EAP private key file path for this network.
*
* @param path value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapPrivateKey(string path) generates (SupplicantStatus status);
/**
* Set EAP subject match for this network.
*
* @param match value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapSubjectMatch(string match) generates (SupplicantStatus status);
/**
* Set EAP Altsubject match for this network.
*
* @param match value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapAltSubjectMatch(string match)
generates (SupplicantStatus status);
/**
* Enable EAP Open SSL Engine for this network.
*
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapEngine(bool enable) generates (SupplicantStatus status);
/**
* Set EAP Open SSL Engine ID for this network.
*
* @param id value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapEngineID(string id) generates (SupplicantStatus status);
/**
* Set EAP Domain suffix match for this network.
*
* @param match value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapDomainSuffixMatch(string match)
generates (SupplicantStatus status);
/**
* Getters for the various network params.
*/
/**
* Get SSID for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return ssid value set.
*/
getSsid() generates (SupplicantStatus status, Ssid ssid);
/**
* Get the BSSID set for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return bssid value set.
*/
getBssid() generates (SupplicantStatus status, Bssid bssid);
/**
* Get whether Probe Requests are being sent for this network (hidden).
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return enabled true if set, false otherwise.
*/
getScanSsid() generates (SupplicantStatus status, bool enabled);
/**
* Get the key mgmt mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return keyMgmtMask Combination of |KeyMgmtMask| values.
*/
getKeyMgmt()
generates (SupplicantStatus status, uint32_t keyMgmtMask);
/**
* Get the proto mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return protoMask Combination of |ProtoMask| values.
*/
getProto() generates (SupplicantStatus status, uint32_t protoMask);
/**
* Get the auth alg mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return authAlgMask Combination of |AuthAlgMask| values.
*/
getAuthAlg()
generates (SupplicantStatus status, uint32_t authAlgMask);
/**
* Get the group cipher mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return groupCipherMask Combination of |GroupCipherMask| values.
*/
getGroupCipher()
generates (SupplicantStatus status, uint32_t groupCipherMask);
/**
* Get the pairwise cipher mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return pairwiseCipherMask Combination of |PairwiseCipherMask| values.
*/
getPairwiseCipher()
generates (SupplicantStatus status, uint32_t pairwiseCipherMask);
/**
* Get passphrase for WPA_PSK network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return psk value set.
*/
getPskPassphrase() generates (SupplicantStatus status, string psk);
/**
* Get WEP key for WEP network.
*
* @param keyIdx Index of wep key to be fetched.
* Max of |WEP_KEYS_MAX_NUM|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return wepKey value set.
*/
getWepKey(uint32_t keyIdx)
generates (SupplicantStatus status, vec<uint8_t> wepKey);
/**
* Get default Tx key index for WEP network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return keyIdx value set.
*/
getWepTxKeyIdx()
generates (SupplicantStatus status, uint32_t keyIdx);
/**
* Get whether RequirePmf is enabled for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return enabled true if set, false otherwise.
*/
getRequirePmf() generates (SupplicantStatus status, bool enabled);
/**
* Enable the network for connection purposes.
*
* This must trigger a connection to the network if:
* a) |noConnect| is false, and
* b) This is the only network configured, and
* c) Is visible in the current scan results.
*
* @param noConnect Only enable the network, dont trigger a connect.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
enable(bool noConnect) generates (SupplicantStatus status);
/**
* Disable the network for connection purposes.
*
* This must trigger a disconnection from the network, if currently
* connected to this one.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
disable() generates (SupplicantStatus status);
/**
* Initiate connection to this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
select() generates (SupplicantStatus status);
/**
* Used to send a response to the
* |ISupplicantNetworkCallback.onNetworkEapSimGsmAuthRequest| request.
*
* @param params Params to be used for EAP GSM authentication.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
sendNetworkEapSimGsmAuthResponse(NetworkResponseEapSimGsmAuthParams params)
generates (SupplicantStatus status);
/**
* Used to send a response to the
* |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request.
*
* @param params Params to be used for EAP UMTS authentication.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
sendNetworkEapSimUmtsAuthResponse(NetworkResponseEapSimUmtsAuthParams params)
generates (SupplicantStatus status);
/**
* Used to send a response to the
* |ISupplicantNetworkCallback.onNetworkEapIdentityRequest| request.
*
* @param identity Identity to be used for the network.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
sendNetworkEapIdentityResponse(vec<uint8_t> identity)
generates (SupplicantStatus status);
};

View file

@ -18,13 +18,13 @@ package android.hardware.wifi.supplicant@1.0;
/**
* Callback Interface exposed by the wpa_supplicant service
* for each network (ISupplicantNetwork).
* for each network (ISupplicantStaNetwork).
*
* Clients need to host an instance of this HIDL interface object and
* pass a reference of the object to wpa_supplicant via the
* corresponding |ISupplicantNetwork.registerCallback| method.
* corresponding |ISupplicantStaNetwork.registerCallback| method.
*/
interface ISupplicantNetworkCallback {
interface ISupplicantStaNetworkCallback {
/** Params of |onNetworkEapSimGsmAuthRequest| request. (Refer RFC 4186) */
typedef uint8_t[16] GsmRand;
struct NetworkRequestEapSimGsmAuthParams {

View file

@ -65,3 +65,11 @@ typedef MacAddress Bssid;
/** Supplicant network ID type. */
typedef uint32_t SupplicantNetworkId;
/**
* List of Iface types supported.
*/
enum IfaceType : uint32_t {
STA,
P2P
};