提交 3219ad65 编写于 作者: O openharmony_ci 提交者: Gitee

!38 新增link/symlink/readlink接口的系统调用及内核实现

Merge pull request !38 from JING/link
#include <dirent.h> #include <dirent.h>
#include "__dirent.h" #include "__dirent.h"
#include <unsupported_api.h>
int dirfd(DIR *d) int dirfd(DIR *d)
{ {
unsupported_api(__FUNCTION__);
return d->fd; return d->fd;
} }
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include "syscall.h" #include "syscall.h"
#include <unsupported_api.h>
int link(const char *existing, const char *new) int link(const char *existing, const char *new)
{ {
unsupported_api(__FUNCTION__);
#ifdef SYS_link #ifdef SYS_link
return syscall(SYS_link, existing, new); return syscall(SYS_link, existing, new);
#else #else
......
#include <unistd.h> #include <unistd.h>
#include "syscall.h" #include "syscall.h"
#include <unsupported_api.h>
int linkat(int fd1, const char *existing, int fd2, const char *new, int flag) int linkat(int fd1, const char *existing, int fd2, const char *new, int flag)
{ {
unsupported_api(__FUNCTION__);
return syscall(SYS_linkat, fd1, existing, fd2, new, flag); return syscall(SYS_linkat, fd1, existing, fd2, new, flag);
} }
#include <unsupported_api.h>
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include "syscall.h" #include "syscall.h"
ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize) ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize)
{ {
unsupported_api(__FUNCTION__);
#ifdef SYS_readlink #ifdef SYS_readlink
return syscall(SYS_readlink, path, buf, bufsize); return syscall(SYS_readlink, path, buf, bufsize);
#else #else
......
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <unsupported_api.h>
#include "syscall.h" #include "syscall.h"
int symlink(const char *existing, const char *new) int symlink(const char *existing, const char *new)
{ {
unsupported_api(__FUNCTION__);
#ifdef SYS_symlink #ifdef SYS_symlink
return syscall(SYS_symlink, existing, new); return syscall(SYS_symlink, existing, new);
#else #else
......
#include <unistd.h> #include <unistd.h>
#include <unsupported_api.h>
#include "syscall.h" #include "syscall.h"
int symlinkat(const char *existing, int fd, const char *new) int symlinkat(const char *existing, int fd, const char *new)
{ {
unsupported_api(__FUNCTION__);
return syscall(SYS_symlinkat, existing, fd, new); return syscall(SYS_symlinkat, existing, fd, new);
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册