xref: /linux/arch/mips/fw/arc/file.c (revision 4413e16d9d21673bb5048a2e542f1aaa00015c2e)
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