[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] libc: POSIX: symlink()
+ libc: POSIX: symlink()
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/modules/include/unistd.h | 10 ++++++++++
src/modules/lib/posix/link.c | 13 +++++++++++++
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/src/modules/include/unistd.h b/src/modules/include/unistd.h
index 24b06b9..cc62037 100644
--- a/src/modules/include/unistd.h
+++ b/src/modules/include/unistd.h
@@ -141,6 +141,16 @@ unsigned int sleep(unsigned int seconds);
/// Datei umbenennen oder verschieben
int rename(const char* path_old, const char* path_new);
+/**
+ * Einen symbolischen Link anlegen
+ *
+ * @param oldpath Ziel des Links
+ * @param newpath Hier wird der Link erstellt
+ *
+ * @return 0 bei Erfolg; im Fehlerfall -1 und errno wird gesetzt
+ */
+int symlink(const char* oldpath, const char* newpath);
+
/// Gibt die aktuelle Benutzer-ID zurueck
uid_t getuid(void);
diff --git a/src/modules/lib/posix/link.c b/src/modules/lib/posix/link.c
index 76b30e7..d11439a 100644
--- a/src/modules/lib/posix/link.c
+++ b/src/modules/lib/posix/link.c
@@ -29,6 +29,7 @@
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
+#include <io.h>
/**
* Einen Hardlink erstellen.
@@ -45,6 +46,18 @@ int link(const char* oldpath, const char* newpath)
return -1;
}
+/**
+ * Einen symbolischen Link anlegen
+ *
+ * @param oldpath Ziel des Links
+ * @param newpath Hier wird der Link erstellt
+ *
+ * @return 0 bei Erfolg; im Fehlerfall -1 und errno wird gesetzt
+ */
+int symlink(const char* oldpath, const char* newpath)
+{
+ return io_create_link(oldpath, newpath, 0);
+}
/**
* Liest den Zielpfad eines symbolischen Links aus.
--
1.6.0.2