summaryrefslogtreecommitdiff
path: root/Source/Library/Interface/FSNode.iface.h
blob: e6c45d3b8eb9ac1c60f2947d05e30a26f95683d8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef DEF_FSNODE_IFACE_H
#define DEF_FSNODE_IFACE_H

/*
 * The FSNode interface handles all this :
 * - Navigating in the filesystem
 * - Listing contents of directories
 * - Creating/removing/truncating files and directories
 * - Getting/Setting current working directory (CWD)
 */

enum {
	NT_FILE = 1,
	NT_DIRECTORY = 2,
	NT_SYMLINK = 3,
	NT_MOUNTPOINT = 4
};

#define FNIF_OBJTYPE 0x14

//S : static, GET : get, R : root, FN : fsnode
#define FNIF_SGETRFN 0
#define FNIF_SGETCWD 1	//Get current working directory
#define FNIF_SFIND 2	//Find a node following a path from a node
#define FNIF_SMKDIR 3	//Makes a directory

#define FNIF_GETNAME 0x10
#define FNIF_TYPE 0x11
#define FNIF_GETPARENT 0x12
#define FNIF_GETLENGTH 0x13
#define FNIF_GETUID 0x14
#define FNIF_GETGID 0x15
#define FNIF_GETPERM 0x16
#define FNIF_GETPATH 0x17
#define FNIF_SETCWD 0x18		//Sets node as current working directory
#define FNIF_REMOVE 0x19

#define FNIF_GETIDXCHILD 0x20	//Get child node from index
#define FNIF_GETNAMECHILD 0x21	//Get child node from name

#endif