+ int rc;
+ int signum;
+ char *tmp;
+
+ tmp = strsep((char **) &buf, "\n");
+ if (!strcmp(tmp, "unregister")){
+ return qeth_notifier_unregister(current);
+ }
+
+ signum = simple_strtoul(buf, &tmp, 10);
+ if ((signum < 0) || (signum > 32)){
+ PRINT_WARN("Signal number %d is out of range\n", signum);
+ return -EINVAL;
+ }
+ if ((rc = qeth_notifier_register(current, signum)))
+ return rc;
+