1 /*
2  * Copyright (C) 2018 Red Hat
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of the
7  * License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17  * 02111-1307, USA.
18  *
19  */
20 
21 #ifndef META_UDEV_H
22 #define META_UDEV_H
23 
24 #include <gudev/gudev.h>
25 
26 #include "backends/native/meta-backend-native-types.h"
27 
28 #define META_TYPE_UDEV (meta_udev_get_type ())
29 G_DECLARE_FINAL_TYPE (MetaUdev, meta_udev, META, UDEV, GObject)
30 
31 gboolean meta_is_udev_device_platform_device (GUdevDevice *device);
32 
33 gboolean meta_is_udev_device_boot_vga (GUdevDevice *device);
34 
35 gboolean meta_is_udev_device_disable_modifiers (GUdevDevice *device);
36 
37 gboolean meta_is_udev_device_ignore (GUdevDevice *device);
38 
39 gboolean meta_is_udev_device_preferred_primary (GUdevDevice *device);
40 
41 gboolean meta_udev_is_drm_device (MetaUdev    *udev,
42                                   GUdevDevice *device);
43 
44 GList * meta_udev_list_drm_devices (MetaUdev  *udev,
45                                     GError   **error);
46 
47 void meta_udev_pause (MetaUdev *udev);
48 
49 void meta_udev_resume (MetaUdev *udev);
50 
51 MetaUdev * meta_udev_new (MetaBackendNative *backend_native);
52 
53 #endif /* META_UDEV_H */
54