diff --git a/wifi/supplicant/1.0/Android.bp b/wifi/supplicant/1.0/Android.bp index 1898a507ce..d4247d22e6 100644 --- a/wifi/supplicant/1.0/Android.bp +++ b/wifi/supplicant/1.0/Android.bp @@ -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", ], } diff --git a/wifi/supplicant/1.0/Android.mk b/wifi/supplicant/1.0/Android.mk index b2c39f597f..1f25c102a1 100644 --- a/wifi/supplicant/1.0/Android.mk +++ b/wifi/supplicant/1.0/Android.mk @@ -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) diff --git a/wifi/supplicant/1.0/ISupplicantIface.hal b/wifi/supplicant/1.0/ISupplicantIface.hal index 7b4f86f0c8..afbfd8ee67 100644 --- a/wifi/supplicant/1.0/ISupplicantIface.hal +++ b/wifi/supplicant/1.0/ISupplicantIface.hal @@ -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 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); }; diff --git a/wifi/supplicant/1.0/ISupplicantNetwork.hal b/wifi/supplicant/1.0/ISupplicantNetwork.hal index fce3c5dcfd..acc3359aae 100644 --- a/wifi/supplicant/1.0/ISupplicantNetwork.hal +++ b/wifi/supplicant/1.0/ISupplicantNetwork.hal @@ -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 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 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 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 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 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 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 identity) - generates (SupplicantStatus status); + getType() generates (SupplicantStatus status, IfaceType type); }; diff --git a/wifi/supplicant/1.0/ISupplicantP2pIface.hal b/wifi/supplicant/1.0/ISupplicantP2pIface.hal new file mode 100644 index 0000000000..ea0878b907 --- /dev/null +++ b/wifi/supplicant/1.0/ISupplicantP2pIface.hal @@ -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); +}; diff --git a/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal new file mode 100644 index 0000000000..1574e6af2d --- /dev/null +++ b/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.hal @@ -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); +}; diff --git a/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal b/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal new file mode 100644 index 0000000000..13eeae7893 --- /dev/null +++ b/wifi/supplicant/1.0/ISupplicantP2pNetwork.hal @@ -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); +}; diff --git a/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.hal b/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.hal new file mode 100644 index 0000000000..d171a09d5d --- /dev/null +++ b/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.hal @@ -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. +}; diff --git a/wifi/supplicant/1.0/ISupplicantStaIface.hal b/wifi/supplicant/1.0/ISupplicantStaIface.hal new file mode 100644 index 0000000000..4e2c7c8065 --- /dev/null +++ b/wifi/supplicant/1.0/ISupplicantStaIface.hal @@ -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); +}; diff --git a/wifi/supplicant/1.0/ISupplicantIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal similarity index 96% rename from wifi/supplicant/1.0/ISupplicantIfaceCallback.hal rename to wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal index 8e193cd37b..d104814083 100644 --- a/wifi/supplicant/1.0/ISupplicantIfaceCallback.hal +++ b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal @@ -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 diff --git a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal new file mode 100644 index 0000000000..ce23932c67 --- /dev/null +++ b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal @@ -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 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 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 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 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 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 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 identity) + generates (SupplicantStatus status); +}; diff --git a/wifi/supplicant/1.0/ISupplicantNetworkCallback.hal b/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.hal similarity index 93% rename from wifi/supplicant/1.0/ISupplicantNetworkCallback.hal rename to wifi/supplicant/1.0/ISupplicantStaNetworkCallback.hal index 9a5ddd593c..2419dccbbb 100644 --- a/wifi/supplicant/1.0/ISupplicantNetworkCallback.hal +++ b/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.hal @@ -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 { diff --git a/wifi/supplicant/1.0/types.hal b/wifi/supplicant/1.0/types.hal index e9426a64e6..16a8d15e7e 100644 --- a/wifi/supplicant/1.0/types.hal +++ b/wifi/supplicant/1.0/types.hal @@ -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 +};