blob: fe97f6008e33cddf673fd323f7277f8af8828adf [file] [log] [blame]
/*
* Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef _ASM_ARC_FCNTL_H
#define _ASM_ARC_FCNTL_H
/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
located on an ext2 file system */
/* #define O_ACCMODE 0003 */
/* #define O_RDONLY 00 */
/* #define O_WRONLY 01 */
/* #define O_RDWR 02 */
/* #define O_CREAT 0100 /\* not fcntl *\/ */
/* #define O_EXCL 0200 /\* not fcntl *\/ */
/* #define O_NOCTTY 0400 /\* not fcntl *\/ */
/* #define O_TRUNC 01000 /\* not fcntl *\/ */
/* #define O_APPEND 02000 */
/* #define O_NONBLOCK 04000 */
#define O_NDELAY O_NONBLOCK
/* #define O_SYNC 010000 */
/* #define FASYNC 020000 /\* fcntl, for BSD compatibility *\/ */
#define O_DIRECTORY 040000 /* must be a directory */
#define O_NOFOLLOW 0100000 /* don't follow links */
#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */
#define O_LARGEFILE 0400000
/* #define F_DUPFD 0 /\* dup *\/ */
/* #define F_GETFD 1 /\* get close_on_exec *\/ */
/* #define F_SETFD 2 /\* set/clear close_on_exec *\/ */
/* #define F_GETFL 3 /\* get file->f_flags *\/ */
/* #define F_SETFL 4 /\* set file->f_flags *\/ */
/* #define F_GETLK 5 */
/* #define F_SETLK 6 */
/* #define F_SETLKW 7 */
/* #define F_SETOWN 8 /\* for sockets. *\/ */
/* #define F_GETOWN 9 /\* for sockets. *\/ */
/* #define F_SETSIG 10 /\* for sockets. *\/ */
/* #define F_GETSIG 11 /\* for sockets. *\/ */
/* #define F_GETLK64 12 /\* using 'struct flock64' *\/ */
/* #define F_SETLK64 13 */
/* #define F_SETLKW64 14 */
/* for F_[GET|SET]FL */
/* #define FD_CLOEXEC 1 /\* actually anything with low bit set goes *\/ */
/* for posix fcntl() and lockf() */
/* #define F_RDLCK 0 */
/* #define F_WRLCK 1 */
/* #define F_UNLCK 2 */
/* for old implementation of bsd flock () */
/* #define F_EXLCK 4 /\* or 3 *\/ */
/* #define F_SHLCK 8 /\* or 4 *\/ */
/* for leases */
/* #define F_INPROGRESS 16 */
/* operations for bsd flock(), also used by the kernel implementation */
/* #define LOCK_SH 1 /\* shared lock *\/ */
/* #define LOCK_EX 2 /\* exclusive lock *\/ */
/* #define LOCK_NB 4 /\* or'd with one of the above to prevent */
/* blocking *\/ */
/* #define LOCK_UN 8 /\* remove lock *\/ */
/* #define LOCK_MAND 32 /\* This is a mandatory flock *\/ */
/* #define LOCK_READ 64 /\* ... Which allows concurrent read operations *\/ */
/* #define LOCK_WRITE 128 /\* ... Which allows concurrent write operations *\/ */
/* #define LOCK_RW 192 /\* ... Which allows concurrent read & write ops *\/ */
/* struct flock { */
/* short l_type; */
/* short l_whence; */
/* off_t l_start; */
/* off_t l_len; */
/* pid_t l_pid; */
/* }; */
/* struct flock64 { */
/* short l_type; */
/* short l_whence; */
/* loff_t l_start; */
/* loff_t l_len; */
/* pid_t l_pid; */
/* }; */
#define F_LINUX_SPECIFIC_BASE 1024
/* Sameer: For reaching some variable definions in arch-independent code */
#include <asm-generic/fcntl.h>
#endif