#include "nolibc.h"
#ifndef _NOLIBC_FCNTL_H
#define _NOLIBC_FCNTL_H
#include "arch.h"
#include "types.h"
#include "sys.h"
static __attribute__((unused))
int sys_openat(int dirfd, const char *path, int flags, mode_t mode)
{
return my_syscall4(__NR_openat, dirfd, path, flags, mode);
}
static __attribute__((unused))
int openat(int dirfd, const char *path, int flags, ...)
{
mode_t mode = 0;
if (flags & O_CREAT) {
va_list args;
va_start(args, flags);
mode = va_arg(args, mode_t);
va_end(args);
}
return __sysret(sys_openat(dirfd, path, flags, mode));
}
static __attribute__((unused))
int sys_open(const char *path, int flags, mode_t mode)
{
return my_syscall4(__NR_openat, AT_FDCWD, path, flags, mode);
}
static __attribute__((unused))
int open(const char *path, int flags, ...)
{
mode_t mode = 0;
if (flags & O_CREAT) {
va_list args;
va_start(args, flags);
mode = va_arg(args, mode_t);
va_end(args);
}
return __sysret(sys_open(path, flags, mode));
}
#endif