chiark / gitweb /
Merge keymap building in the top-level Makefile.am.
[elogind.git] / libudev / libudev.c
index 6645298..05b62ef 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * libudev - interface to udev device information
  *
- * Copyright (C) 2008 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008-2009 Kay Sievers <kay.sievers@vrfy.org>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
 #include "libudev.h"
 #include "libudev-private.h"
 
+/**
+ * SECTION:libudev
+ * @short_description: libudev context
+ *
+ * The context contains the default values read from the udev config file,
+ * and is passed to all library operations.
+ */
+
+/**
+ * udev:
+ *
+ * Opaque object representing the library context.
+ */
 struct udev {
        int refcount;
        void (*log_fn)(struct udev *udev,
@@ -54,6 +67,15 @@ static void log_stderr(struct udev *udev,
        vfprintf(stderr, format, args);
 }
 
+/**
+ * udev_get_userdata:
+ * @udev: udev library context
+ *
+ * Retrieve stored data pointer from library context. This might be useful
+ * to access from callbacks.
+ *
+ * Returns: stored userdata
+ **/
 void *udev_get_userdata(struct udev *udev)
 {
        if (udev == NULL)
@@ -61,6 +83,13 @@ void *udev_get_userdata(struct udev *udev)
        return udev->userdata;
 }
 
+/**
+ * udev_set_userdata:
+ * @udev: udev library context
+ * @userdata: data pointer
+ *
+ * Store custom @userdata in the library context.
+ **/
 void udev_set_userdata(struct udev *udev, void *userdata)
 {
        if (udev == NULL)
@@ -71,7 +100,8 @@ void udev_set_userdata(struct udev *udev, void *userdata)
 /**
  * udev_new:
  *
- * Create udev library context.
+ * Create udev library context. This reads the udev configuration
+ * file, and fills in the default values.
  *
  * The initial refcount is 1, and needs to be decremented to
  * release the resources of the udev library context.
@@ -93,7 +123,7 @@ struct udev *udev_new(void)
        udev->log_priority = LOG_ERR;
        udev_list_init(&udev->properties_list);
        udev->run = 1;
-       udev->dev_path = strdup(UDEV_PREFIX "/dev");
+       udev->dev_path = strdup("/dev");
        udev->sys_path = strdup("/sys");
        config_file = strdup(SYSCONFDIR "/udev/udev.conf");
        if (udev->dev_path == NULL ||
@@ -293,11 +323,28 @@ void udev_set_log_fn(struct udev *udev,
        info(udev, "custom logging function %p registered\n", udev);
 }
 
+/**
+ * udev_get_log_priority:
+ * @udev: udev library context
+ *
+ * The initial syslog priortity is read from the udev config file
+ * at startup.
+ *
+ * Returns: the current syslog priority
+ **/
 int udev_get_log_priority(struct udev *udev)
 {
        return udev->log_priority;
 }
 
+/**
+ * udev_set_log_priority:
+ * @udev: udev library context
+ * @priority: the new syslog priority
+ *
+ * Set the current syslog priority. The value controls which messages
+ * are send to syslog.
+ **/
 void udev_set_log_priority(struct udev *udev, int priority)
 {
        char num[32];