Make tests public. Rewrite most tests. Add tests.
[pintos-anon] / src / filesys / file.h
1 #ifndef FILESYS_FILE_H
2 #define FILESYS_FILE_H
3
4 #include "filesys/off_t.h"
5
6 struct inode;
7
8 /* Opening and closing files. */
9 struct file *file_open (struct inode *);
10 struct file *file_reopen (struct file *);
11 void file_close (struct file *);
12
13 /* Reading and writing. */
14 off_t file_read (struct file *, void *, off_t);
15 off_t file_read_at (struct file *, void *, off_t size, off_t start);
16 off_t file_write (struct file *, const void *, off_t);
17 off_t file_write_at (struct file *, const void *, off_t size, off_t start);
18
19 /* Preventing writes. */
20 void file_deny_write (struct file *);
21 void file_allow_write (struct file *);
22
23 /* File position. */
24 void file_seek (struct file *, off_t);
25 off_t file_tell (struct file *);
26 off_t file_length (struct file *);
27
28 #endif /* filesys/file.h */