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 12 #include <asm/fw/arc/types.h> 13 #include <asm/sgialib.h> 14 15 LONG 16 ArcGetDirectoryEntry(ULONG FileID, struct linux_vdirent *Buffer, 17 ULONG N, ULONG *Count) 18 { 19 return ARC_CALL4(get_vdirent, FileID, Buffer, N, Count); 20 } 21 22 LONG 23 ArcOpen(CHAR *Path, enum linux_omode OpenMode, ULONG *FileID) 24 { 25 return ARC_CALL3(open, Path, OpenMode, FileID); 26 } 27 28 LONG 29 ArcClose(ULONG FileID) 30 { 31 return ARC_CALL1(close, FileID); 32 } 33 34 LONG 35 ArcRead(ULONG FileID, VOID *Buffer, ULONG N, ULONG *Count) 36 { 37 return ARC_CALL4(read, FileID, Buffer, N, Count); 38 } 39 40 LONG 41 ArcGetReadStatus(ULONG FileID) 42 { 43 return ARC_CALL1(get_rstatus, FileID); 44 } 45 46 LONG 47 ArcWrite(ULONG FileID, PVOID Buffer, ULONG N, PULONG Count) 48 { 49 return ARC_CALL4(write, FileID, Buffer, N, Count); 50 } 51 52 LONG 53 ArcSeek(ULONG FileID, struct linux_bigint *Position, enum linux_seekmode SeekMode) 54 { 55 return ARC_CALL3(seek, FileID, Position, SeekMode); 56 } 57 58 LONG 59 ArcMount(char *name, enum linux_mountops op) 60 { 61 return ARC_CALL2(mount, name, op); 62 } 63 64 LONG 65 ArcGetFileInformation(ULONG FileID, struct linux_finfo *Information) 66 { 67 return ARC_CALL2(get_finfo, FileID, Information); 68 } 69 70 LONG ArcSetFileInformation(ULONG FileID, ULONG AttributeFlags, 71 ULONG AttributeMask) 72 { 73 return ARC_CALL3(set_finfo, FileID, AttributeFlags, AttributeMask); 74 } 75