TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
fd_types.h
Aller à la documentation de ce fichier.
1 
30 #ifndef _FD_TYPES_H
31 #define _FD_TYPES_H
32 
33 #include <types.h>
34 
35 #define FOPEN_MAX 500
37 #define SEEK_SET 0
38 #define SEEK_CUR 1
39 #define SEEK_END 2
41 struct _open_file_descriptor;
42 struct _fs_instance_t;
43 struct _dentry_t;
44 
53  ssize_t (*write)(struct _open_file_descriptor *, const void*, size_t);
54 
59 
63  int (*seek)(struct _open_file_descriptor *, long, int);
64 
68  int (*ioctl)(struct _open_file_descriptor*, unsigned int, void *);
69 
73  int (*open) (struct _open_file_descriptor*);
74 
78  int (*close) (struct _open_file_descriptor*);
79 
83  int (*readdir) (struct _open_file_descriptor*, char*, size_t);
84 
85 } open_file_operations_t;
86 
91 typedef struct _open_file_descriptor {
92 // A dégager ? Infos dans l'inode.
93  uint32_t flags;
94  char * pathname;
95  uint32_t current_octet; // Utile pour f_pos ? TODO: Renommer :D
96  uint8_t select_sem;
97 
98  // Utile ? on peut l'avoir par mnt->instance
99  struct _fs_instance_t *fs_instance;
100  // Rajouter inode ?
101  struct _inode_t *inode;
102  struct _dentry_t *dentry;
103  struct _mounted_fs_t *mnt;
104  struct _open_file_operations_t *f_ops;
105  void * i_fs_specific;
106  void * extra_data;
108 
109 #endif
int(* open)(struct _open_file_descriptor *)
Definition: fd_types.h:73
int(* ioctl)(struct _open_file_descriptor *, unsigned int, void *)
Definition: fd_types.h:68
ssize_t(* write)(struct _open_file_descriptor *, const void *, size_t)
Definition: fd_types.h:53
int(* close)(struct _open_file_descriptor *)
Definition: fd_types.h:78
uint32_t size_t
Definition: types.h:43
Instance d'un couple FS/Device monté.
Definition: vfs.h:54
Definition: vfs.h:72
ssize_t(* read)(struct _open_file_descriptor *, void *, size_t)
Definition: fd_types.h:58
Definition: vfs.h:81
struct _open_file_descriptor open_file_descriptor
unsigned char uint8_t
Definition: types.h:34
Definition: fd_types.h:49
int ssize_t
Definition: types.h:44
void * extra_data
Definition: fd_types.h:106
unsigned long int uint32_t
Definition: types.h:36
Definition: vfs.h:104
Definition: fd_types.h:91
int(* readdir)(struct _open_file_descriptor *, char *, size_t)
Definition: fd_types.h:83
void * i_fs_specific
Definition: fd_types.h:105
int(* seek)(struct _open_file_descriptor *, long, int)
Definition: fd_types.h:63