1 What: /sys/.../uevent 1 What: /sys/.../uevent 2 Date: May 2017 2 Date: May 2017 3 KernelVersion: 4.13 3 KernelVersion: 4.13 4 Contact: Linux kernel mailing list <linu 4 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 5 Description: 5 Description: 6 Enable passing additional vari 6 Enable passing additional variables for synthetic uevents that 7 are generated by writing /sys/ 7 are generated by writing /sys/.../uevent file. 8 8 9 Recognized extended format is: !! 9 Recognized extended format is ACTION [UUID [KEY=VALUE ...]. 10 10 11 ACTION [UUID [KEY=VALU !! 11 The ACTION is compulsory - it is the name of the uevent action 12 !! 12 ("add", "change", "remove"). There is no change compared to 13 The ACTION is compulsory - it !! 13 previous functionality here. The rest of the extended format 14 action (``add``, ``change``, ` !! 14 is optional. 15 compared to previous functiona << 16 extended format is optional. << 17 15 18 You need to pass UUID first be 16 You need to pass UUID first before any KEY=VALUE pairs. 19 The UUID must be in ``xxxxxxxx !! 17 The UUID must be in "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 20 format where 'x' is a hex digi 18 format where 'x' is a hex digit. The UUID is considered to be 21 a transaction identifier so it 19 a transaction identifier so it's possible to use the same UUID 22 value for one or more syntheti 20 value for one or more synthetic uevents in which case we 23 logically group these uevents 21 logically group these uevents together for any userspace 24 listeners. The UUID value appe 22 listeners. The UUID value appears in uevent as 25 ``SYNTH_UUID=xxxxxxxx-xxxx-xxx !! 23 "SYNTH_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" environment 26 variable. 24 variable. 27 25 28 If UUID is not passed in, the 26 If UUID is not passed in, the generated synthetic uevent gains 29 ``SYNTH_UUID=0`` environment v !! 27 "SYNTH_UUID=0" environment variable automatically. 30 28 31 The KEY=VALUE pairs can contai 29 The KEY=VALUE pairs can contain alphanumeric characters only. 32 << 33 It's possible to define zero o 30 It's possible to define zero or more pairs - each pair is then 34 delimited by a space character 31 delimited by a space character ' '. Each pair appears in 35 synthetic uevent as ``SYNTH_AR !! 32 synthetic uevent as "SYNTH_ARG_KEY=VALUE". That means the KEY 36 name gains ``SYNTH_ARG_`` pref !! 33 name gains "SYNTH_ARG_" prefix to avoid possible collisions 37 with existing variables. 34 with existing variables. 38 35 39 Example of valid sequence writ !! 36 Example of valid sequence written to the uevent file: 40 37 41 add fe4d7c9d-b8c6-4a70-9ef 38 add fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed A=1 B=abc 42 39 43 This generates synthetic ueven !! 40 This generates synthetic uevent including these variables: 44 41 45 ACTION=add 42 ACTION=add 46 SYNTH_ARG_A=1 43 SYNTH_ARG_A=1 47 SYNTH_ARG_B=abc 44 SYNTH_ARG_B=abc 48 SYNTH_UUID=fe4d7c9d-b8c6-4 45 SYNTH_UUID=fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed 49 << 50 Users: 46 Users: 51 udev, userspace tools generati 47 udev, userspace tools generating synthetic uevents
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.