[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/app/zte_comm/zte_hotplug/hotplug.h b/ap/app/zte_comm/zte_hotplug/hotplug.h
new file mode 100755
index 0000000..5961520
--- /dev/null
+++ b/ap/app/zte_comm/zte_hotplug/hotplug.h
@@ -0,0 +1,128 @@
+#ifndef _HOTPLUG_H_
+#define _HOTPLUG_H_
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <netinet/in.h>
+#include <unistd.h>
+#include <sys/ipc.h>
+#include <sys/msg.h>
+#include <pthread.h>
+#include <errno.h>
+#include <signal.h>
+#include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <syslog.h>
+#include <sys/klog.h>
+#include <assert.h>
+#include <linux/netlink.h>
+#include <rtc_timer.h>
+#include "message.h"
+#include "softap_api.h"
+
+#define UEVENT_BUFFER_SIZE 2048*3//Çý¶¯zte_drv_usb_ctrl.hÊÇ6K£¬ºóÆÚÒªÓÅ»¯¿ÉÄÜÕ»Òç³ö
+
+//#define MSG_ID_HOTPLUG 1024
+
+
+/*UEVENTʼþÀàÐÍ*/
+enum kobject_action {
+ KOBJ_ADD,
+ KOBJ_REMOVE,
+ KOBJ_CHANGE,
+ KOBJ_MOVE,
+ KOBJ_ONLINE,
+ KOBJ_OFFLINE,
+ KOBJ_MAX
+};
+
+
+/*É豸ÀàÐÍ£¬ÓÃÓÚÇø·Ö½âÎöºÍ´¦Àí*/
+enum device_type {
+ DEVICE_TYPE_APP_RTC, /*Ó¦ÓÃRTC*/
+ DEVICE_TYPE_APP_WIFI, /*Ó¦ÓÃWIFI*/
+ DEVICE_TYPE_APP_SDCARD, /*Ó¦ÓÃSD*/
+ DEVICE_TYPE_APP_MMI_BATTERY, /*Ó¦ÓÃMMI BATTERY*/
+ DEVICE_TYPE_APP_MMI_OFFCHG, /*Ó¦ÓÃMMI¹Ø»ú³äµç*/
+
+ DEVICE_TYPE_USB, /*USBÍø¿Ú*/
+ DEVICE_TYPE_RJ45, /*rj45Íø¿Ú*/
+ DEV_TYPE_USB, /*Çý¶¯USB*/
+ DEV_TYPE_SDCARD, /*Çý¶¯sdcard*/
+ DEV_TYPE_VIRTUAL_SDCARD, /*Çý¶¯ÐéÄâT¿¨*/
+ DEV_TYPE_SERIAL, /*Çý¶¯SERIAL*/
+ DEV_TYPE_MBIM,
+ DEVICE_TYPE_MAX,
+};
+
+/*usbÏûÏ¢µÄʼþÀàÐÍ*/
+enum usb_event
+{
+ USB_EVENT_CHARGE = 0,
+ USB_EVENT_DEVICE,
+ USB_EVENT_CDROMOBJ,
+ USB_EVENT_USER,
+ USB_EVENT_DEBUG,
+ USB_EVENT_FACTORY,
+ USB_EVENT_AMT,
+ USB_EVENT_EYE_DIAGRAM,
+ USB_EVENT_RESET,
+ USB_EVENT_MAX,
+};
+
+/*CMUXÏûÏ¢µÄʼþÀàÐÍ*/
+enum serial_event
+{
+ SERIAL_EVENT_GSMTTY1 = 0,
+ SERIAL_EVENT_GSMTTY2,
+ SERIAL_EVENT_GSMTTY3,
+ SERIAL_EVENT_TTYGS0,
+ SERIAL_EVENT_TTYGS1,
+ SERIAL_EVENT_MAX,
+};
+
+
+/*ÈȰβåÏûÏ¢½âÎö·µ»Ø*/
+struct hotplug_event {
+ int type; /*É豸ÀàÐÍ*/
+ int action; /*¶¯×÷ÀàÐÍ£¬¶ÔÓ¦kobject_action*/
+
+ union {
+ struct net_dev {
+ char dev_name[NETIF_NAME_LEN];
+ int dev_id;
+ } netdev;
+ struct usb_dev
+ {
+ int event_type;
+ } usb;
+ struct serial_dev
+ {
+ int event_type;
+ char dev_name[20];
+ } serial;
+ } u;
+};
+
+extern char usbdev_name[1024];
+
+typedef int (*hotplug_parse_func)(const char *msg, int msglen, struct hotplug_event *event);
+typedef int (*hotplug_proc_func)(struct hotplug_event *event);
+
+int hotplug_parse_register(int device_type, hotplug_parse_func func);
+
+int hotplug_proc_register(int device_type, hotplug_proc_func func);
+
+void char_replace(char*buf, int count, char orig_char, char replace_char);
+
+void netdev_hotplug_init();
+
+void drv_hotplug_init(void);
+
+#endif
+