Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
[linux-2.6] / arch / mips / fw / arc / file.c
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 }