OSDN Git Service

Add wifi offload feature: mkeep_alive
authorJerryLee <jerrylee@broadcom.com>
Fri, 19 Jun 2015 00:05:29 +0000 (17:05 -0700)
committerVinit Deshpande <vinitd@google.com>
Wed, 24 Jun 2015 21:15:49 +0000 (14:15 -0700)
    b/21405946

Change-Id: Id8651f56d36d142772218defc9f9521dac82624a
Signed-off-by: JerryLee <jerrylee@broadcom.com>
include/hardware_legacy/wifi_hal.h
include/hardware_legacy/wifi_offload.h [new file with mode: 0644]

index 6a51db0..fb3316e 100644 (file)
@@ -110,6 +110,7 @@ void wifi_get_error_info(wifi_error err, const char **msg); // return a pointer
 #define WIFI_FEATURE_LOGGER            0x20000      // WiFi Logger
 #define WIFI_FEATURE_HAL_EPNO          0x40000      // WiFi PNO enhanced
 #define WIFI_FEATURE_RSSI_MONITOR      0x80000      // RSSI Monitor
+#define WIFI_FEATURE_MKEEP_ALIVE      0x100000      // WiFi mkeep_alive
 
 // Add more features here
 
@@ -163,6 +164,8 @@ wifi_error wifi_set_nodfs_flag(wifi_interface_handle handle, u32 nodfs);
 #include "wifi_logger.h"
 #include "wifi_config.h"
 #include "wifi_nan.h"
+#include "wifi_offload.h"
+
 //wifi HAL function pointer table
 typedef struct {
     wifi_error (* wifi_initialize) (wifi_handle *);
diff --git a/include/hardware_legacy/wifi_offload.h b/include/hardware_legacy/wifi_offload.h
new file mode 100644 (file)
index 0000000..f0326f1
--- /dev/null
@@ -0,0 +1,31 @@
+#include "wifi_hal.h"
+
+#ifndef __WIFI_HAL_OFFLOAD_H
+#define __WIFI_HAL_OFFLOAD_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+#define ETHER_ADDR_LEN         6       // Ethernet frame address length
+#define N_AVAIL_ID             3       // available mkeep_alive IDs from 1 to 3
+#define MKEEP_ALIVE_IP_PKT_MAX 256     // max size of IP packet for keep alive
+
+/**
+ * Send specified keep alive packet periodically.
+ */
+wifi_error wifi_start_sending_offloaded_packet(wifi_request_id id, wifi_interface_handle iface,
+        u8 *ip_packet, u16 ip_packet_len, u8 *src_mac_addr, u8 *dst_mac_addr, u32 period_msec);
+
+/**
+ * Stop sending keep alive packet.
+ */
+wifi_error wifi_stop_sending_offloaded_packet(wifi_request_id id, wifi_interface_handle iface);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /*__WIFI_HAL_OFFLOAD_H */