X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev_rules.h;h=556f55087d48c46aa277c8048b1032d07d8782cb;hp=dac0dfcbb337bbbc5b2bce2ccdf05fa762508dd9;hb=274da2b23d37f2dd174f765e9cfcc485e4a5a898;hpb=95776dc6ec174f47fa4dd4d8abf5d457223e5dd4 diff --git a/udev_rules.h b/udev_rules.h index dac0dfcbb..556f55087 100644 --- a/udev_rules.h +++ b/udev_rules.h @@ -1,8 +1,6 @@ /* - * udev_rules.h - * * Copyright (C) 2003-2004 Greg Kroah-Hartman - * Copyright (C) 2004-2005 Kay Sievers + * Copyright (C) 2004-2006 Kay Sievers * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -15,7 +13,7 @@ * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., - * 675 Mass Ave, Cambridge, MA 02139, USA. + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ @@ -26,7 +24,7 @@ #include "list.h" #define PAIRS_MAX 5 -#define RULEFILE_SUFFIX ".rules" +#define RULESFILE_SUFFIX ".rules" enum key_operation { KEY_OP_UNSET, @@ -59,6 +57,12 @@ enum import_type { IMPORT_PARENT, }; +enum escape_type { + ESCAPE_UNSET, + ESCAPE_NONE, + ESCAPE_REPLACE, +}; + struct udev_rule { struct key action; struct key devpath; @@ -77,6 +81,8 @@ struct udev_rule { struct key result; struct key import; enum import_type import_type; + struct key test; + mode_t test_mode_mask; struct key run; struct key wait_for_sysfs; struct key label; @@ -88,9 +94,12 @@ struct udev_rule { struct key group; mode_t mode; enum key_operation mode_operation; + enum escape_type string_escape; + unsigned int link_priority; unsigned int partitions; unsigned int last_rule:1, + run_ignore_error:1, ignore_device:1, ignore_remove:1; @@ -114,6 +123,7 @@ extern struct udev_rule *udev_rules_iter_label(struct udev_rules *rules, const c extern int udev_rules_get_name(struct udev_rules *rules, struct udevice *udev); extern int udev_rules_get_run(struct udev_rules *rules, struct udevice *udev); +extern int udev_rules_run(struct udevice *udev); extern void udev_rules_apply_format(struct udevice *udev, char *string, size_t maxsize);