44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
#pragma once
|
|
#include "sys/types.h"
|
|
#include "fs/node.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_add_live_link(const char *name, vnode_link_getter_t getter);
|
|
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);
|