Well this sure isn't perfect, but to
illustrate it can be done with a text
interface (and the only restriction
is strings can't contain \n):
cat /proc/widget
# Format: '%l'
# Params: Number_of_Widgets
37
echo '38' > /proc/widget
cat /proc/widget
# Format: '%l'
# Params: Number_of_Widgets
38
cat /proc/widget | egrep -v '^#'
38
cat /proc/sprocket
# Format: '%l' '%s'
# Params: Number_of_Sprockets Master_Sprocket_Name
21
Foo Bar Baz
echo '22' > /proc/sprocket
# writes first value if no \n character written before
# close - all writes done simultaneously on close
cat /proc/sprocket | egrep -v '^#'
22
Foo Bar Baz
echo 'Master_Sprocket_Name\nBaz Foo Bar' > /proc/sprocket
cat /proc/sprocket | egrep -v '^#'
22
Baz Foo Bar
echo 'Master_Sprocket_Name\nFoo Foo Foo\nNumber_of_Sprockets\n111' >
/proc/sprocket
# Simultaneous commit if /proc driver needs it
# i.e. it has get_lock() and release_lock()
# entries
cat /proc/sprocket | egrep -v '^#'
111
Foo Foo Foo
& nice user tools look at the '# Params:' line to find
what number param they want to read / alter.
-- Alex Bligh - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/