X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=libudev%2Flibudev.c;h=165c36984e9cdabb9beadaf2eeb4672ce38c7478;hp=d96934fba83d5d71c69b3ac06ce0ec4ca6888f2d;hb=869c9031608f0796bb4363d5de5db058fe96fedd;hpb=4ec9c3e79771aa95586390cecff4218cc8938160 diff --git a/libudev/libudev.c b/libudev/libudev.c index d96934fba..165c36984 100644 --- a/libudev/libudev.c +++ b/libudev/libudev.c @@ -45,7 +45,7 @@ struct udev { char *rules_path; char *run_config_path; char *run_path; - struct udev_list_node properties_list; + struct udev_list properties_list; int log_priority; }; @@ -77,7 +77,7 @@ static void log_stderr(struct udev *udev, * * Returns: stored userdata **/ -void *udev_get_userdata(struct udev *udev) +UDEV_EXPORT void *udev_get_userdata(struct udev *udev) { if (udev == NULL) return NULL; @@ -91,7 +91,7 @@ void *udev_get_userdata(struct udev *udev) * * Store custom @userdata in the library context. **/ -void udev_set_userdata(struct udev *udev, void *userdata) +UDEV_EXPORT void udev_set_userdata(struct udev *udev, void *userdata) { if (udev == NULL) return; @@ -117,7 +117,7 @@ static char *set_value(char **s, const char *v) * * Returns: a new udev library context **/ -struct udev *udev_new(void) +UDEV_EXPORT struct udev *udev_new(void) { struct udev *udev; const char *env; @@ -130,14 +130,14 @@ struct udev *udev_new(void) udev->refcount = 1; udev->log_fn = log_stderr; udev->log_priority = LOG_ERR; - udev_list_init(&udev->properties_list); + udev_list_init(udev, &udev->properties_list, true); /* custom config file */ env = getenv("UDEV_CONFIG_FILE"); if (env != NULL) { - udev_add_property(udev, "UDEV_CONFIG_FILE", udev->dev_path); if (set_value(&config_file, env) == NULL) goto err; + udev_add_property(udev, "UDEV_CONFIG_FILE", config_file); } /* default config file */ @@ -284,7 +284,7 @@ err: * * Returns: the passed udev library context **/ -struct udev *udev_ref(struct udev *udev) +UDEV_EXPORT struct udev *udev_ref(struct udev *udev) { if (udev == NULL) return NULL; @@ -300,14 +300,14 @@ struct udev *udev_ref(struct udev *udev) * reaches zero, the resources of the context will be released. * **/ -void udev_unref(struct udev *udev) +UDEV_EXPORT void udev_unref(struct udev *udev) { if (udev == NULL) return; udev->refcount--; if (udev->refcount > 0) return; - udev_list_cleanup_entries(udev, &udev->properties_list); + udev_list_cleanup(&udev->properties_list); free(udev->dev_path); free(udev->sys_path); free(udev->rules_path); @@ -327,7 +327,7 @@ void udev_unref(struct udev *udev) * into the users' logging functionality. * **/ -void udev_set_log_fn(struct udev *udev, +UDEV_EXPORT void udev_set_log_fn(struct udev *udev, void (*log_fn)(struct udev *udev, int priority, const char *file, int line, const char *fn, const char *format, va_list args)) @@ -345,7 +345,7 @@ void udev_set_log_fn(struct udev *udev, * * Returns: the current logging priority **/ -int udev_get_log_priority(struct udev *udev) +UDEV_EXPORT int udev_get_log_priority(struct udev *udev) { return udev->log_priority; } @@ -358,7 +358,7 @@ int udev_get_log_priority(struct udev *udev) * Set the current logging priority. The value controls which messages * are logged. **/ -void udev_set_log_priority(struct udev *udev, int priority) +UDEV_EXPORT void udev_set_log_priority(struct udev *udev, int priority) { char num[32]; @@ -382,7 +382,7 @@ const char *udev_get_rules_path(struct udev *udev) * * Returns: the sys mount point **/ -const char *udev_get_sys_path(struct udev *udev) +UDEV_EXPORT const char *udev_get_sys_path(struct udev *udev) { if (udev == NULL) return NULL; @@ -399,7 +399,7 @@ const char *udev_get_sys_path(struct udev *udev) * * Returns: the device directory path **/ -const char *udev_get_dev_path(struct udev *udev) +UDEV_EXPORT const char *udev_get_dev_path(struct udev *udev) { if (udev == NULL) return NULL; @@ -411,7 +411,15 @@ const char *udev_get_run_config_path(struct udev *udev) return udev->run_config_path; } -const char *udev_get_run_path(struct udev *udev) +/** + * udev_get_run_path: + * @udev: udev library context + * + * Retrieve the udev runtime directory path. The default is "/run/udev". + * + * Returns: the runtime directory path + **/ +UDEV_EXPORT const char *udev_get_run_path(struct udev *udev) { if (udev->run_path != NULL) return udev->run_path; @@ -450,7 +458,7 @@ struct udev_list_entry *udev_add_property(struct udev *udev, const char *key, co udev_list_entry_delete(list_entry); return NULL; } - return udev_list_entry_add(udev, &udev->properties_list, key, value, 1, 0); + return udev_list_entry_add(&udev->properties_list, key, value); } struct udev_list_entry *udev_get_properties_list_entry(struct udev *udev)