usb-gadget: move usb-gadget to deviced
[platform/hal/backend/device-common.git] / include / hal-backend-common-udev.h
1 /*
2  * Copyright (c) 2021 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #ifndef __HAL_BACKEND_COMMON_UDEV_H__
19 #define __HAL_BACKEND_COMMON_UDEV_H__
20
21 #include <libudev.h>
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 struct uevent_handler {
28         const char *subsystem;
29         void (*uevent_func)(struct udev_device *dev);
30         void *data;
31 };
32
33 int uevent_control_kernel_start(void);
34 void uevent_control_kernel_stop(void);
35
36 int uevent_control_udev_start(void);
37 void uevent_control_udev_stop(void);
38
39 int register_kernel_event_control(struct uevent_handler *uh);
40 void unregister_kernel_event_control(struct uevent_handler *uh);
41
42 int register_udev_event_control(struct uevent_handler *uh);
43 void  unregister_udev_event_control(struct uevent_handler *uh);
44
45 #ifdef __cplusplus
46 }
47 #endif
48 #endif /* __HAL_BACKEND_COMMON_UDEV_H__ */