1 /* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * ARC firmware interface. 7 * 8 * Copyright (C) 1994, 1995, 1996, 1999 Ralf Baechle 9 * Copyright (C) 1999 Silicon Graphics, Inc. 10 */ 11 #include <linux/init.h> 12 13 #include <asm/fw/arc/types.h> 14 #include <asm/sgialib.h> 15 16 LONG 17 ArcGetDirectoryEntry(ULONG FileID, struct linux_vdirent *Buffer, 18 ULONG N, ULONG *Count) 19 { 20 return ARC_CALL4(get_vdirent, FileID, Buffer, N, Count); 21 } 22 23 LONG 24 ArcOpen(CHAR *Path, enum linux_omode OpenMode, ULONG *FileID) 25 { 26 return ARC_CALL3(open, Path, OpenMode, FileID); 27 } 28 29 LONG 30 ArcClose(ULONG FileID) 31 { 32 return ARC_CALL1(close, FileID); 33 } 34 35 LONG 36 ArcRead(ULONG FileID, VOID *Buffer, ULONG N, ULONG *Count) 37 { 38 return ARC_CALL4(read, FileID, Buffer, N, Count); 39 } 40 41 LONG 42 ArcGetReadStatus(ULONG FileID) 43 { 44 return ARC_CALL1(get_rstatus, FileID); 45 } 46 47 LONG 48 ArcWrite(ULONG FileID, PVOID Buffer, ULONG N, PULONG Count) 49 { 50 return ARC_CALL4(write, FileID, Buffer, N, Count); 51 } 52 53 LONG 54 ArcSeek(ULONG FileID, struct linux_bigint *Position, enum linux_seekmode SeekMode) 55 { 56 return ARC_CALL3(seek, FileID, Position, SeekMode); 57 } 58 59 LONG 60 ArcMount(char *name, enum linux_mountops op) 61 { 62 return ARC_CALL2(mount, name, op); 63 } 64 65 LONG 66 ArcGetFileInformation(ULONG FileID, struct linux_finfo *Information) 67 { 68 return ARC_CALL2(get_finfo, FileID, Information); 69 } 70 71 LONG ArcSetFileInformation(ULONG FileID, ULONG AttributeFlags, 72 ULONG AttributeMask) 73 { 74 return ARC_CALL3(set_finfo, FileID, AttributeFlags, AttributeMask); 75 } 76