37 { |
37 { |
38 static { |
38 static { |
39 IOUtil.load(); |
39 IOUtil.load(); |
40 } |
40 } |
41 |
41 |
42 public int read(FileDescriptor fd, long address, int len) throws IOException { |
42 int read(FileDescriptor fd, long address, int len) throws IOException { |
43 return read0(fd, address, len); |
43 return read0(fd, address, len); |
44 } |
44 } |
45 |
45 |
46 long readv(FileDescriptor fd, long address, int len) throws IOException { |
46 long readv(FileDescriptor fd, long address, int len) throws IOException { |
47 return readv0(fd, address, len); |
47 return readv0(fd, address, len); |
48 } |
48 } |
49 |
49 |
50 public int write(FileDescriptor fd, long address, int len) throws IOException { |
50 int write(FileDescriptor fd, long address, int len) throws IOException { |
51 return write0(fd, address, len); |
51 return write0(fd, address, len); |
52 } |
52 } |
53 |
53 |
54 long writev(FileDescriptor fd, long address, int len) throws IOException { |
54 long writev(FileDescriptor fd, long address, int len) throws IOException { |
55 return writev0(fd, address, len); |
55 return writev0(fd, address, len); |
56 } |
56 } |
57 |
57 |
58 public void close(FileDescriptor fd) throws IOException { |
58 void close(FileDescriptor fd) throws IOException { |
59 FileDispatcherImpl.close0(fd); |
59 FileDispatcherImpl.close0(fd); |
60 } |
60 } |
61 |
61 |
62 public void preClose(FileDescriptor fd) throws IOException { |
62 void preClose(FileDescriptor fd) throws IOException { |
63 FileDispatcherImpl.preClose0(fd); |
63 FileDispatcherImpl.preClose0(fd); |
64 } |
64 } |
65 |
65 |
66 static native int read0(FileDescriptor fd, long address, int len) |
66 static native int read0(FileDescriptor fd, long address, int len) |
67 throws IOException; |
67 throws IOException; |