Distributed File System 1
Distributed file system in C
Loading...
Searching...
No Matches
inode.h
Go to the documentation of this file.
1/* lib/inode.h
2 *
3 * These are the inodes that the DFS uses.
4 *
5 */
6#ifndef INODE_H_
7#define INODE_H_
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13/* ----- Includes ----- */
14
15#include "lib.h"
16#include "list.h"
17#include "uuid.h"
18
19/* ----- Macros ----- */
20
21#define INODE_TABLE "data/inode.bin"
22
23/* ----- Types ----- */
24
26typedef struct {
29 size_t size;
30} INode;
31
33
34
40
47
54
60ListINode ListINode_deserialize(Buffer buf);
61
65void ListINode_print(ListINode list);
66
71void insert_into_inode(SafeStr fname, size_t size);
72
80ListINode select_from_inode(UUID* fid, SafeStr* fname, size_t* size);
81
85ListINode INode_get_db(void);
86
90void INode_set_db(ListINode inodes);
91
95void print_inode(INode inode);
96
97#ifdef __cplusplus
98}
99#endif
100
101#endif // INODE_H_
Buffer INode_serialize(INode in)
Definition inode.c:32
ListINode ListINode_deserialize(Buffer buf)
Deserialize a Buffer into a List of INode's.
Definition inode.c:11
void ListINode_print(ListINode list)
Prints a List of INode's.
Definition inode.c:24
void INode_set_db(ListINode inodes)
Write the database with the List of INode's.
Definition inode.c:108
INode INode_deserialize(Buffer buf)
Deserialize a Buffer into an INode Caller must free memory in Block.cid.
Definition inode.c:40
ListINode INode_get_db(void)
Get the INode table from the database.
Definition inode.c:94
void insert_into_inode(SafeStr fname, size_t size)
INSERT into the INode table.
Definition inode.c:63
ListINode select_from_inode(UUID *fid, SafeStr *fname, size_t *size)
SELECT from the INode table.
Definition inode.c:78
void print_inode(INode inode)
Print an INode's data as a tuple.
Definition inode.c:121
Buffer ListINode_serialize(ListINode list)
Serialize a List of INode's into a Buffer.
#define DefList(type)
Definition list.h:93
void list(Enchufe cliente)
Definition meta-data.c:14
Byte buffer.
Definition lib.h:92
Gives a file name an ID.
Definition inode.h:26
SafeStr fname
name of the file (default " ")
Definition inode.h:28
UUID fid
file ID for the INode (primary key)
Definition inode.h:27
size_t size
size of the file in Byte's (default 0)
Definition inode.h:29
Safe String type.
Definition lib.h:76
UUID type Layout taken from: https://en.wikipedia.org/wiki/Universally_unique_identifier#Binary_repre...
Definition uuid.h:24