X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=libudev%2Flibudev.c;h=05b62efd8686f09e6bfbb7eb9b7d47fd0e8b2b7b;hp=6645298544074ceb5f179d0d09308c69107c68db;hb=7d701b0e26f96c279ef9ba8e4ef82fc4fca56acf;hpb=119f66fc36b4f5164fb4a9ece247938e97609a05 diff --git a/libudev/libudev.c b/libudev/libudev.c index 664529854..05b62efd8 100644 --- a/libudev/libudev.c +++ b/libudev/libudev.c @@ -1,7 +1,7 @@ /* * libudev - interface to udev device information * - * Copyright (C) 2008 Kay Sievers + * Copyright (C) 2008-2009 Kay Sievers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,6 +21,19 @@ #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];