#include <stdbool.h>
#include <stddef.h>
#include "devices/disk.h"
Go to the source code of this file.
◆ NAME_MAX
◆ dir_add()
127 {
130 bool success = false;
131
134
135
137 return false;
138
139
141 goto done;
142
143
144
145
146
147
148
149
151 ofs += sizeof e)
152 if (!e.in_use)
153 break;
154
155
156 e.in_use = true;
160
161done:
162 return success;
163}
#define ASSERT(CONDITION)
Definition: debug.h:30
static bool lookup(const struct dir *dir, const char *name, struct dir_entry *ep, off_t *ofsp)
Definition: directory.c:80
#define NAME_MAX
Definition: directory.h:12
off_t inode_write_at(struct inode *inode, const void *buffer_, off_t size, off_t offset)
Definition: inode.c:234
off_t inode_read_at(struct inode *inode, void *buffer_, off_t size, off_t offset)
Definition: inode.c:183
int32_t off_t
Definition: off_t.h:9
#define NULL
Definition: stddef.h:4
size_t strlen(const char *)
Definition: string.c:271
size_t strlcpy(char *, const char *, size_t)
Definition: string.c:302
Definition: directory.c:16
disk_sector_t inode_sector
Definition: directory.c:17
char name[NAME_MAX+1]
Definition: directory.c:18
Definition: directory.c:10
struct inode * inode
Definition: directory.c:11
◆ dir_close()
| void dir_close |
( |
struct dir * |
dir | ) |
|
61 {
65 }
66}
void inode_close(struct inode *inode)
Definition: inode.c:150
void free(void *)
Definition: malloc.c:202
◆ dir_create()
25 {
27}
bool inode_create(disk_sector_t sector, off_t length)
Definition: inode.c:68
◆ dir_get_inode()
| struct inode * dir_get_inode |
( |
struct dir * |
dir | ) |
|
◆ dir_lookup()
| bool dir_lookup |
( |
const struct dir * |
dir, |
|
|
const char * |
name, |
|
|
struct inode ** |
inode |
|
) |
| |
106 {
108
111
114 else
116
118}
struct inode * inode_open(disk_sector_t sector)
Definition: inode.c:103
◆ dir_open()
| struct dir * dir_open |
( |
struct inode * |
inode | ) |
|
32 {
38 } else {
42 }
43}
void * calloc(size_t, size_t) __attribute__((malloc))
Definition: malloc.c:149
off_t pos
Definition: directory.c:12
◆ dir_open_root()
| struct dir * dir_open_root |
( |
void |
| ) |
|
48 {
50}
struct dir * dir_open(struct inode *inode)
Definition: directory.c:32
#define ROOT_DIR_SECTOR
Definition: filesys.h:9
◆ dir_readdir()
| bool dir_readdir |
( |
struct dir * |
dir, |
|
|
char |
name[NAME_MAX+1] |
|
) |
| |
205 {
207
210 if (e.in_use) {
212 return true;
213 }
214 }
215 return false;
216}
◆ dir_remove()
| bool dir_remove |
( |
struct dir * |
dir, |
|
|
const char * |
name |
|
) |
| |
169 {
172 bool success = false;
174
177
178
180 goto done;
181
182
185 goto done;
186
187
188 e.in_use = false;
190 goto done;
191
192
194 success = true;
195
196done:
198 return success;
199}
void inode_remove(struct inode *inode)
Definition: inode.c:174
◆ dir_reopen()
| struct dir * dir_reopen |
( |
struct dir * |
dir | ) |
|
55 {
57}
struct inode * inode_reopen(struct inode *inode)
Definition: inode.c:134