[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[hurd] 02/07: procfs: handle the --update parameter
From: |
Samuel Thibault |
Subject: |
[hurd] 02/07: procfs: handle the --update parameter |
Date: |
Mon, 16 Sep 2013 07:41:32 +0000 |
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch procfs-jkoenig
in repository hurd.
commit 2baaf773daa797048ea96573fa01786d129f00fb
Author: Justus Winter <address@hidden>
Date: Fri Jun 28 18:37:43 2013 +0200
procfs: handle the --update parameter
Split the argument handling into a common part and one for
fsys_update_options. Handle the --update parameter; for procfs this is
a no-op.
* procfs/main.c (common_options): New variable.
(runtime_argp_parser): Handle --update.
(startup_argp): New variable.
(netfs_runtime_argp_): New variable.
---
main.c | 103 +++++++++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 70 insertions(+), 33 deletions(-)
diff --git a/main.c b/main.c
index 2bfa5c2..b678a71 100644
--- a/main.c
+++ b/main.c
@@ -128,45 +128,82 @@ argp_parser (int key, char *arg, struct argp_state *state)
return 0;
}
+struct argp_option common_options[] = {
+ { "clk-tck", 'h', "HZ", 0,
+ "Unit used for the values expressed in system clock ticks "
+ "(default: sysconf(_SC_CLK_TCK))" },
+ { "stat-mode", 's', "MODE", 0,
+ "The [pid]/stat file publishes information which on Hurd is only "
+ "available to the process owner. "
+ "You can use this option to override its mode to be more permissive "
+ "for compatibility purposes. "
+ "(default: 0400)" },
+ { "fake-self", 'S', "PID", OPTION_ARG_OPTIONAL,
+ "Provide a fake \"self\" symlink to the given PID, for compatibility "
+ "purposes. If PID is omitted, \"self\" will point to init. "
+ "(default: no self link)" },
+ { "kernel-process", 'k', "PID", 0,
+ "Process identifier for the kernel, used to retreive its command "
+ "line, as well as the global up and idle times. "
+ "(default: 2)" },
+ { "compatible", 'c', NULL, 0,
+ "Try to be compatible with the Linux procps utilities. "
+ "Currently equivalent to -h 100 -s 0444 -S 1." },
+ { "anonymous-owner", 'a', "USER", 0,
+ "Make USER the owner of files related to processes without one. "
+ "Be aware that USER will be granted access to the environment and "
+ "other sensitive information about the processes in question. "
+ "(default: use uid 0)" },
+ { "nodev", NODEV_KEY, NULL, 0,
+ "Ignored for compatibility with Linux' procfs." },
+ { "noexec", NOEXEC_KEY, NULL, 0,
+ "Ignored for compatibility with Linux' procfs." },
+ { "nosuid", NOSUID_KEY, NULL, 0,
+ "Ignored for compatibility with Linux' procfs." },
+ {}
+};
+
struct argp argp = {
- .options = (struct argp_option []) {
- { "clk-tck", 'h', "HZ", 0,
- "Unit used for the values expressed in system clock ticks "
- "(default: sysconf(_SC_CLK_TCK))" },
- { "stat-mode", 's', "MODE", 0,
- "The [pid]/stat file publishes information which on Hurd is only "
- "available to the process owner. "
- "You can use this option to override its mode to be more permissive "
- "for compatibility purposes. "
- "(default: 0400)" },
- { "fake-self", 'S', "PID", OPTION_ARG_OPTIONAL,
- "Provide a fake \"self\" symlink to the given PID, for compatibility "
- "purposes. If PID is omitted, \"self\" will point to init. "
- "(default: no self link)" },
- { "kernel-process", 'k', "PID", 0,
- "Process identifier for the kernel, used to retreive its command "
- "line, as well as the global up and idle times. "
- "(default: 2)" },
- { "compatible", 'c', NULL, 0,
- "Try to be compatible with the Linux procps utilities. "
- "Currently equivalent to -h 100 -s 0444 -S 1." },
- { "anonymous-owner", 'a', "USER", 0,
- "Make USER the owner of files related to processes without one. "
- "Be aware that USER will be granted access to the environment and "
- "other sensitive information about the processes in question. "
- "(default: use uid 0)" },
- { "nodev", NODEV_KEY, NULL, 0,
- "Ignored for compatibility with Linux' procfs." },
- { "noexec", NOEXEC_KEY, NULL, 0,
- "Ignored for compatibility with Linux' procfs." },
- { "nosuid", NOSUID_KEY, NULL, 0,
- "Ignored for compatibility with Linux' procfs." },
+ .options = common_options,
+ .parser = argp_parser,
+ .doc = "A virtual filesystem emulating the Linux procfs.",
+ .children = (struct argp_child []) {
+ { &netfs_std_startup_argp, },
{}
},
+};
+
+static error_t
+runtime_argp_parser (int key, char *arg, struct argp_state *state)
+{
+ switch (key)
+ {
+ case 'u':
+ /* do nothing */
+ break;
+
+ default:
+ return ARGP_ERR_UNKNOWN;
+ }
+
+ return 0;
+}
+
+struct argp runtime_argp = {
+ .options = (struct argp_option []) {
+ { "update", 'u', NULL, 0, "remount; for procfs this does nothing" },
+ {},
+ },
+ .parser = runtime_argp_parser,
+};
+
+struct argp netfs_runtime_argp_ = {
+ .options = common_options,
.parser = argp_parser,
.doc = "A virtual filesystem emulating the Linux procfs.",
.children = (struct argp_child []) {
- { &netfs_std_startup_argp, },
+ { &runtime_argp, },
+ { &netfs_std_runtime_argp, },
{}
},
};
--
Alioth's /usr/local/bin/git-commit-notice on
/srv/git.debian.org/git/pkg-hurd/hurd.git
- [hurd] branch procfs-jkoenig updated (edf72a0 -> 588be84), Samuel Thibault, 2013/09/16
- [hurd] 01/07: Fix argument parsing, Samuel Thibault, 2013/09/16
- [hurd] 05/07: Make start_code and end_code available in /proc/*/stat, Samuel Thibault, 2013/09/16
- [hurd] 07/07: Merge remote-tracking branch 'procfs/master' into procfs-jkoenig, Samuel Thibault, 2013/09/16
- [hurd] 02/07: procfs: handle the --update parameter,
Samuel Thibault <=
- [hurd] 04/07: procfs: provide a more meaningful response to fsys_get_options, Samuel Thibault, 2013/09/16
- [hurd] 03/07: procfs: define macros for the default argument values, Samuel Thibault, 2013/09/16
- [hurd] 06/07: Serve mounts node with a passive translator record, Samuel Thibault, 2013/09/16