summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--klibc_fixups.c4
-rw-r--r--klibc_fixups.h42
-rw-r--r--namedev.c1
3 files changed, 46 insertions, 1 deletions
diff --git a/klibc_fixups.c b/klibc_fixups.c
index a5d5d5948a..c12c90fd1c 100644
--- a/klibc_fixups.c
+++ b/klibc_fixups.c
@@ -4,6 +4,8 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
+#include <sys/types.h>
+#include "klibc_fixups.h"
char *strerror(int errnum)
{
@@ -29,5 +31,5 @@ int strcasecmp(const char *s1, const char *s2)
free(n2);
return retval;
}
-
+
#endif
diff --git a/klibc_fixups.h b/klibc_fixups.h
new file mode 100644
index 0000000000..21a23e7762
--- /dev/null
+++ b/klibc_fixups.h
@@ -0,0 +1,42 @@
+#ifdef __KLIBC__
+
+#ifndef KLIBC_FIXUPS_H
+#define KLIBC_FIXUPS_H
+
+
+extern char *strerror(int errnum);
+
+extern int strcasecmp(const char *s1, const char *s2);
+
+struct group {
+ char *gr_name; /* group name */
+ char *gr_passwd; /* group password */
+ gid_t gr_gid; /* group id */
+ char **gr_mem; /* group members */
+};
+
+static inline struct group *getgrnam(const char *name)
+{
+ return NULL;
+}
+
+
+struct passwd {
+ char *pw_name; /* user name */
+ char *pw_passwd; /* user password */
+ uid_t pw_uid; /* user id */
+ gid_t pw_gid; /* group id */
+ char *pw_gecos; /* real name */
+ char *pw_dir; /* home directory */
+ char *pw_shell; /* shell program */
+};
+
+static inline struct passwd *getpwnam(const char *name)
+{
+ return NULL;
+}
+
+
+#endif
+
+#endif
diff --git a/namedev.c b/namedev.c
index 24b9bc01ac..3b19aaf909 100644
--- a/namedev.c
+++ b/namedev.c
@@ -39,6 +39,7 @@
#include "udev_version.h"
#include "namedev.h"
#include "libsysfs/libsysfs.h"
+#include "klibc_fixups.h"
#define TYPE_LABEL "LABEL"
#define TYPE_NUMBER "NUMBER"