Commit d9165153 authored by Simon Glass's avatar Simon Glass Committed by Mike Frysinger
Browse files

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: default avatarSimon Glass <sjg@chromium.org>
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
parent 7b06b66c
......@@ -58,9 +58,29 @@ off_t os_lseek(int fd, off_t offset, int 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)
......
/*
* 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.
* See file CREDITS for list of people who contributed to this
* project.
......@@ -19,12 +24,6 @@
* MA 02111-1307 USA
*/
/*
* Operating System Interface
*
* This provides access to useful OS routines from the sandbox architecture
*/
#ifndef __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);
#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
*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment