TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
devfs.h
Aller à la documentation de ce fichier.
1 
29 #ifndef _DEVFS_H
30 #define _DEVFS_H
31 
32 #include <types.h>
33 #include <fd_types.h>
34 
38 typedef enum _device_type_t{
39  CHARDEV,
40  BLKDEV
42 
43 typedef ssize_t (*chardev_read_t)(open_file_descriptor *,void*, size_t);
44 typedef ssize_t (*chardev_write_t)(open_file_descriptor *, const void*, size_t);
45 typedef int (*chardev_ioctl_t) (open_file_descriptor*, unsigned int, void*);
46 typedef int (*chardev_open_t) (open_file_descriptor*);
47 typedef int (*chardev_close_t) (open_file_descriptor*);
48 
52 typedef struct {
53  chardev_read_t read;
54  chardev_write_t write;
55  chardev_ioctl_t ioctl;
56  chardev_open_t open;
57  chardev_close_t close;
58  void * custom_data;
60 
61 
62 typedef ssize_t (*blkdev_read_t)(open_file_descriptor *,void*, size_t, uint32_t);
63 typedef ssize_t (*blkdev_write_t)(open_file_descriptor *, const void*, size_t, uint32_t);
64 typedef int (*blkdev_ioctl_t) (open_file_descriptor*, unsigned int, void*);
65 typedef int (*blkdev_open_t) (open_file_descriptor*);
66 typedef int (*blkdev_close_t) (open_file_descriptor*);
67 
71 typedef struct {
72  blkdev_read_t read;
73  blkdev_write_t write;
74  blkdev_ioctl_t ioctl;
75  blkdev_open_t open;
76  blkdev_close_t close;
77  void * custom_data;
79 
83 void devfs_init();
84 
88 int register_chardev(const char* name, chardev_interfaces* di);
89 
93 int register_blkdev(const char* name, blkdev_interfaces* di);
94 
95 
96 #endif /* _DEVFS_H */
void devfs_init()
Initialisation du dev FS.
Definition: devfs.c:259
chardev_ioctl_t ioctl
Definition: devfs.h:55
blkdev_open_t open
Definition: devfs.h:75
void * custom_data
Definition: devfs.h:58
chardev_close_t close
Definition: devfs.h:57
void * custom_data
Definition: devfs.h:77
chardev_write_t write
Definition: devfs.h:54
uint32_t size_t
Definition: types.h:43
int register_blkdev(const char *name, blkdev_interfaces *di)
Enregistre un block device dans le dev FS.
Definition: devfs.c:145
_device_type_t
Definition: devfs.h:38
blkdev_write_t write
Definition: devfs.h:73
blkdev_read_t read
Definition: devfs.h:72
Structures liées aux fichiers ouverts.
enum _device_type_t device_type_t
blkdev_close_t close
Definition: devfs.h:76
int ssize_t
Definition: types.h:44
int register_chardev(const char *name, chardev_interfaces *di)
Enregistre un char device dans le dev FS.
Definition: devfs.c:115
unsigned long int uint32_t
Definition: types.h:36
chardev_read_t read
Definition: devfs.h:53
chardev_open_t open
Definition: devfs.h:56
blkdev_ioctl_t ioctl
Definition: devfs.h:74
Definition: fd_types.h:91
Structure contenant les fonction qui permettent d'utiliser un char device.
Definition: devfs.h:52
Structure contenant les fonctions qui permettent d'utiliser un block device.
Definition: devfs.h:71