30 lines
710 B
C
30 lines
710 B
C
#ifndef SOCKS_CONSOLE_H_
|
|
#define SOCKS_CONSOLE_H_
|
|
|
|
#include <socks/queue.h>
|
|
#include <socks/locks.h>
|
|
#include <socks/status.h>
|
|
|
|
typedef enum console_flags {
|
|
CON_BOOT = 0x01u,
|
|
} console_flags_t;
|
|
|
|
typedef struct console {
|
|
char c_name[16];
|
|
console_flags_t c_flags;
|
|
spin_lock_t c_lock;
|
|
|
|
void (*c_write)(struct console *, const char *, unsigned int);
|
|
int (*c_read)(struct console *, char *, unsigned int);
|
|
|
|
queue_entry_t c_list;
|
|
} console_t;
|
|
|
|
extern kern_status_t console_register(console_t *con);
|
|
extern kern_status_t console_unregister(console_t *con);
|
|
|
|
extern void console_write(console_t *con, const char *s, unsigned int len);
|
|
extern int console_read(console_t *con, char *s, unsigned int len);
|
|
|
|
#endif
|