Skip to content
Snippets Groups Projects
Commit 21fb86c9 authored by oskan107's avatar oskan107
Browse files

Shouldn't be much difference

parent c74a3952
No related branches found
No related tags found
No related merge requests found
......@@ -4,7 +4,7 @@
#include "threads/malloc.h"
/* An open file. */
struct file
struct file
{
struct inode *inode; /* File's inode. */
off_t pos; /* Current position. */
......@@ -15,7 +15,7 @@ struct file
and returns the new file. Returns a null pointer if an
allocation fails or if INODE is null. */
struct file *
file_open (struct inode *inode)
file_open (struct inode *inode)
{
struct file *file = calloc (1, sizeof *file);
if (inode != NULL && file != NULL)
......@@ -29,33 +29,33 @@ file_open (struct inode *inode)
{
inode_close (inode);
free (file);
return NULL;
return NULL;
}
}
/* Opens and returns a new file for the same inode as FILE.
Returns a null pointer if unsuccessful. */
struct file *
file_reopen (struct file *file)
file_reopen (struct file *file)
{
return file_open (inode_reopen (file->inode));
}
/* Closes FILE. */
void
file_close (struct file *file)
file_close (struct file *file)
{
if (file != NULL)
{
file_allow_write (file);
inode_close (file->inode);
free (file);
free (file);
}
}
/* Returns the inode encapsulated by FILE. */
struct inode *
file_get_inode (struct file *file)
file_get_inode (struct file *file)
{
return file->inode;
}
......@@ -66,7 +66,7 @@ file_get_inode (struct file *file)
which may be less than SIZE if end of file is reached.
Advances FILE's position by the number of bytes read. */
off_t
file_read (struct file *file, void *buffer, off_t size)
file_read (struct file *file, void *buffer, off_t size)
{
off_t bytes_read = inode_read_at (file->inode, buffer, size, file->pos);
file->pos += bytes_read;
......@@ -79,7 +79,7 @@ file_read (struct file *file, void *buffer, off_t size)
which may be less than SIZE if end of file is reached.
The file's current position is unaffected. */
off_t
file_read_at (struct file *file, void *buffer, off_t size, off_t file_ofs)
file_read_at (struct file *file, void *buffer, off_t size, off_t file_ofs)
{
return inode_read_at (file->inode, buffer, size, file_ofs);
}
......@@ -92,7 +92,7 @@ file_read_at (struct file *file, void *buffer, off_t size, off_t file_ofs)
not yet implemented.)
Advances FILE's position by the number of bytes read. */
off_t
file_write (struct file *file, const void *buffer, off_t size)
file_write (struct file *file, const void *buffer, off_t size)
{
off_t bytes_written = inode_write_at (file->inode, buffer, size, file->pos);
file->pos += bytes_written;
......@@ -108,7 +108,7 @@ file_write (struct file *file, const void *buffer, off_t size)
The file's current position is unaffected. */
off_t
file_write_at (struct file *file, const void *buffer, off_t size,
off_t file_ofs)
off_t file_ofs)
{
return inode_write_at (file->inode, buffer, size, file_ofs);
}
......@@ -116,10 +116,10 @@ file_write_at (struct file *file, const void *buffer, off_t size,
/* Prevents write operations on FILE's underlying inode
until file_allow_write() is called or FILE is closed. */
void
file_deny_write (struct file *file)
file_deny_write (struct file *file)
{
ASSERT (file != NULL);
if (!file->deny_write)
if (!file->deny_write)
{
file->deny_write = true;
inode_deny_write (file->inode);
......@@ -130,10 +130,10 @@ file_deny_write (struct file *file)
(Writes might still be denied by some other file that has the
same inode open.) */
void
file_allow_write (struct file *file)
file_allow_write (struct file *file)
{
ASSERT (file != NULL);
if (file->deny_write)
if (file->deny_write)
{
file->deny_write = false;
inode_allow_write (file->inode);
......@@ -142,7 +142,7 @@ file_allow_write (struct file *file)
/* Returns the size of FILE in bytes. */
off_t
file_length (struct file *file)
file_length (struct file *file)
{
ASSERT (file != NULL);
return inode_length (file->inode);
......@@ -161,7 +161,7 @@ file_seek (struct file *file, off_t new_pos)
/* Returns the current position in FILE as a byte offset from the
start of the file. */
off_t
file_tell (struct file *file)
file_tell (struct file *file)
{
ASSERT (file != NULL);
return file->pos;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment