loader: replace int/1/0 with bool/true/false
[mesa.git] / src / loader / loader.h
index 810e7da7f9f280ff78a15e933b7be5ab6a0291fd..4cb1e0eb6a348d815d17ec20adc2316be9345802 100644 (file)
 #ifndef LOADER_H
 #define LOADER_H
 
+#include <stdbool.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct __DRIextensionRec;
+
 /* Helpers to figure out driver and device name, eg. from pci-id, etc. */
 
-#define _LOADER_DRI          (1 << 0)
-#define _LOADER_GALLIUM      (1 << 1)
+int
+loader_open_device(const char *);
 
 int
+loader_open_render_node(const char *name);
+
+bool
 loader_get_pci_id_for_fd(int fd, int *vendor_id, int *chip_id);
 
 char *
-loader_get_driver_for_fd(int fd, unsigned driver_types);
+loader_get_driver_for_fd(int fd);
+
+const struct __DRIextensionRec **
+loader_open_driver(const char *driver_name,
+                   void **out_driver_handle,
+                   const char **search_path_vars);
 
 char *
 loader_get_device_name_for_fd(int fd);
@@ -47,7 +63,7 @@ loader_get_device_name_for_fd(int fd);
  */
 
 int
-loader_get_user_preferred_fd(int default_fd, int *different_device);
+loader_get_user_preferred_fd(int default_fd, bool *different_device);
 
 /* for logging.. keep this aligned with egllog.h so we can just use
  * _eglLog directly.
@@ -58,7 +74,15 @@ loader_get_user_preferred_fd(int default_fd, int *different_device);
 #define _LOADER_INFO    2   /* just useful info */
 #define _LOADER_DEBUG   3   /* useful info for debugging */
 
+typedef void loader_logger(int level, const char *fmt, ...);
 void
-loader_set_logger(void (*logger)(int level, const char *fmt, ...));
+loader_set_logger(loader_logger *logger);
+
+char *
+loader_get_extensions_name(const char *driver_name);
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* LOADER_H */