Files
kernel/include/sys/dev.h
T
2020-01-31 22:57:38 +02:00

42 lines
1008 B
C

#pragma once
#include "sys/types.h"
struct vnode;
enum dev_class {
DEV_CLASS_BLOCK = 1,
DEV_CLASS_CHAR = 2,
DEV_CLASS_ANY = 255
};
#define DEV_BLOCK_SDx 1
#define DEV_BLOCK_HDx 2
#define DEV_BLOCK_RAM 3
#define DEV_BLOCK_CDx 4
#define DEV_BLOCK_PART 127
#define DEV_BLOCK_PSEUDO 128
#define DEV_BLOCK_OTHER 255
#define DEV_CHAR_TTY 1
int dev_add(enum dev_class cls, int subcls, void *dev, const char *name);
int dev_add_link(const char *name, struct vnode *to);
int dev_find(enum dev_class cls, const char *name, struct vnode **dev_node);
//struct dev_entry {
// char dev_name[64];
//
// enum dev_class dev_class;
// uint16_t dev_subclass;
// uint16_t dev_number;
//
// void *dev;
// struct dev_entry *cdr;
//};
//struct dev_entry *dev_iter(void);
//int dev_alloc_name(enum dev_class cls, uint16_t subclass, char *name);
//int dev_by_name(struct dev_entry **ent, const char *name);
//void dev_entry_add(struct dev_entry *ent);