diff options
Diffstat (limited to 'move/runlevel_set.c')
-rw-r--r-- | move/runlevel_set.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/move/runlevel_set.c b/move/runlevel_set.c new file mode 100644 index 000000000..94f7b5933 --- /dev/null +++ b/move/runlevel_set.c @@ -0,0 +1,25 @@ +#include <stdlib.h> +#include <unistd.h> +#include <stdio.h> +#include <string.h> +#include <utmp.h> + +int main(int argc, char **argv) +{ + struct utmp utmp; + + if (argc <= 1) { + fprintf(stderr, "need an argument\n"); + return 1; + } + + memset(&utmp, 0, sizeof(utmp)); + utmp.ut_type = RUN_LVL; + utmp.ut_pid = argv[1][0]; + + setutent(); + pututline(&utmp); + endutent(); + + return 0; +} |