summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pfinet/linux/kernel.h35
1 files changed, 31 insertions, 4 deletions
diff --git a/pfinet/linux/kernel.h b/pfinet/linux/kernel.h
index f4859a05..dcd5acf3 100644
--- a/pfinet/linux/kernel.h
+++ b/pfinet/linux/kernel.h
@@ -3,15 +3,42 @@
#include <stdio.h>
#include <linux/sched.h>
+#include <stdlib.h>
+#include <assert.h>
#define printk printf
-int getname (const char *, char **);
-void putname (char *);
+extern inline int
+getname (const char *name, char **newp)
+{
+ *newp = malloc (strlen (name) + 1);
+ strcpy (*newp, name);
+ return 0;
+}
+extern inline void
+putname (char *p)
+{
+ free (p);
+}
-int kill_proc (int, int, int);
-int kill_pg (int, int, int);
+/* These two functions are used only to send SIGURG. But I can't
+ find any SIGIO code at all. So we'll just punt on that; clearly
+ Linux is missing the point. SIGURG should only be sent for
+ sockets that have explicitly requested it. */
+extern inline int
+kill_proc (int pid, int signo, int priv)
+{
+ assert (signo == SIGURG);
+ return 0;
+}
+
+extern inline int
+kill_pg (int pgrp, int signo, int priv)
+{
+ assert (signo == SIGURG);
+ return 0;
+}
#endif