eal: modify device event process function
[dpdk.git] / lib / librte_eal / common / include / rte_dev.h
index 036180f..9b9c98b 100644 (file)
@@ -39,7 +39,7 @@ struct rte_dev_event {
        char *devname;                  /**< device name */
 };
 
-typedef void (*rte_dev_event_cb_fn)(char *device_name,
+typedef void (*rte_dev_event_cb_fn)(const char *device_name,
                                        enum rte_dev_event_type event,
                                        void *cb_arg);
 
@@ -454,6 +454,22 @@ rte_dev_event_callback_unregister(const char *device_name,
                                  rte_dev_event_cb_fn cb_fn,
                                  void *cb_arg);
 
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice
+ *
+ * Executes all the user application registered callbacks for
+ * the specific device.
+ *
+ * @param device_name
+ *  The device name.
+ * @param event
+ *  the device event type.
+ */
+void  __rte_experimental
+rte_dev_event_callback_process(const char *device_name,
+                              enum rte_dev_event_type event);
+
 /**
  * @warning
  * @b EXPERIMENTAL: this API may change without prior notice
@@ -480,4 +496,30 @@ rte_dev_event_monitor_start(void);
 int __rte_experimental
 rte_dev_event_monitor_stop(void);
 
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice
+ *
+ * Enable hotplug handling for devices.
+ *
+ * @return
+ *   - On success, zero.
+ *   - On failure, a negative value.
+ */
+int __rte_experimental
+rte_dev_hotplug_handle_enable(void);
+
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice
+ *
+ * Disable hotplug handling for devices.
+ *
+ * @return
+ *   - On success, zero.
+ *   - On failure, a negative value.
+ */
+int __rte_experimental
+rte_dev_hotplug_handle_disable(void);
+
 #endif /* _RTE_DEV_H_ */