update name of code to labcodes
This commit is contained in:
31
labcodes/lab8/kern/fs/devs/dev.h
Normal file
31
labcodes/lab8/kern/fs/devs/dev.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef __KERN_FS_DEVS_DEV_H__
|
||||
#define __KERN_FS_DEVS_DEV_H__
|
||||
|
||||
#include <defs.h>
|
||||
|
||||
struct inode;
|
||||
struct iobuf;
|
||||
|
||||
/*
|
||||
* Filesystem-namespace-accessible device.
|
||||
* d_io is for both reads and writes; the iobuf will indicates the direction.
|
||||
*/
|
||||
struct device {
|
||||
size_t d_blocks;
|
||||
size_t d_blocksize;
|
||||
int (*d_open)(struct device *dev, uint32_t open_flags);
|
||||
int (*d_close)(struct device *dev);
|
||||
int (*d_io)(struct device *dev, struct iobuf *iob, bool write);
|
||||
int (*d_ioctl)(struct device *dev, int op, void *data);
|
||||
};
|
||||
|
||||
#define dop_open(dev, open_flags) ((dev)->d_open(dev, open_flags))
|
||||
#define dop_close(dev) ((dev)->d_close(dev))
|
||||
#define dop_io(dev, iob, write) ((dev)->d_io(dev, iob, write))
|
||||
#define dop_ioctl(dev, op, data) ((dev)->d_ioctl(dev, op, data))
|
||||
|
||||
void dev_init(void);
|
||||
struct inode *dev_create_inode(void);
|
||||
|
||||
#endif /* !__KERN_FS_DEVS_DEV_H__ */
|
||||
|
||||
Reference in New Issue
Block a user