mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-19 11:24:42 +00:00
sandbox: add flags for open() call
This provides a way for callers to create files for writing. The flags are translated at runtime, for the ones we support. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
7b06b66cd7
commit
d9165153ca
2 changed files with 33 additions and 8 deletions
|
@ -58,9 +58,29 @@ off_t os_lseek(int fd, off_t offset, int whence)
|
||||||
return lseek(fd, offset, whence);
|
return lseek(fd, offset, whence);
|
||||||
}
|
}
|
||||||
|
|
||||||
int os_open(const char *pathname, int flags)
|
int os_open(const char *pathname, int os_flags)
|
||||||
{
|
{
|
||||||
return open(pathname, flags);
|
int flags;
|
||||||
|
|
||||||
|
switch (os_flags & OS_O_MASK) {
|
||||||
|
case OS_O_RDONLY:
|
||||||
|
default:
|
||||||
|
flags = O_RDONLY;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case OS_O_WRONLY:
|
||||||
|
flags = O_WRONLY;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case OS_O_RDWR:
|
||||||
|
flags = O_RDWR;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (os_flags & OS_O_CREAT)
|
||||||
|
flags |= O_CREAT;
|
||||||
|
|
||||||
|
return open(pathname, flags, 0777);
|
||||||
}
|
}
|
||||||
|
|
||||||
int os_close(int fd)
|
int os_close(int fd)
|
||||||
|
|
17
include/os.h
17
include/os.h
|
@ -1,4 +1,9 @@
|
||||||
/*
|
/*
|
||||||
|
* Operating System Interface
|
||||||
|
*
|
||||||
|
* This provides access to useful OS routines for the sandbox architecture.
|
||||||
|
* They are kept in a separate file so we can include system headers.
|
||||||
|
*
|
||||||
* Copyright (c) 2011 The Chromium OS Authors.
|
* Copyright (c) 2011 The Chromium OS Authors.
|
||||||
* See file CREDITS for list of people who contributed to this
|
* See file CREDITS for list of people who contributed to this
|
||||||
* project.
|
* project.
|
||||||
|
@ -19,12 +24,6 @@
|
||||||
* MA 02111-1307 USA
|
* MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Operating System Interface
|
|
||||||
*
|
|
||||||
* This provides access to useful OS routines from the sandbox architecture
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __OS_H__
|
#ifndef __OS_H__
|
||||||
#define __OS_H__
|
#define __OS_H__
|
||||||
|
|
||||||
|
@ -72,6 +71,12 @@ off_t os_lseek(int fd, off_t offset, int whence);
|
||||||
*/
|
*/
|
||||||
int os_open(const char *pathname, int flags);
|
int os_open(const char *pathname, int flags);
|
||||||
|
|
||||||
|
#define OS_O_RDONLY 0
|
||||||
|
#define OS_O_WRONLY 1
|
||||||
|
#define OS_O_RDWR 2
|
||||||
|
#define OS_O_MASK 3 /* Mask for read/write flags */
|
||||||
|
#define OS_O_CREAT 0100
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Access to the OS close() system call
|
* Access to the OS close() system call
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Reference in a new issue