diff --git a/headers/os/drivers/tty/ttylayer.h b/headers/os/drivers/tty/ttylayer.h index c74fa06f48..55f1a2eb0f 100644 --- a/headers/os/drivers/tty/ttylayer.h +++ b/headers/os/drivers/tty/ttylayer.h @@ -11,6 +11,14 @@ #include #include + +// XXX: should go away or be opacised +struct str { + uchar *buffer; + uint bufsize, count, tail; + bool allocated; +}; + struct ddrover { }; diff --git a/src/add-ons/kernel/bus_managers/Jamfile b/src/add-ons/kernel/bus_managers/Jamfile index 9996bc5492..63503dd6e6 100644 --- a/src/add-ons/kernel/bus_managers/Jamfile +++ b/src/add-ons/kernel/bus_managers/Jamfile @@ -9,4 +9,5 @@ SubInclude HAIKU_TOP src add-ons kernel bus_managers isa ; SubInclude HAIKU_TOP src add-ons kernel bus_managers pci ; SubInclude HAIKU_TOP src add-ons kernel bus_managers ps2 ; SubInclude HAIKU_TOP src add-ons kernel bus_managers scsi ; +SubInclude HAIKU_TOP src add-ons kernel bus_managers tty ; SubInclude HAIKU_TOP src add-ons kernel bus_managers usb ; diff --git a/src/add-ons/kernel/bus_managers/tty/Jamfile b/src/add-ons/kernel/bus_managers/tty/Jamfile new file mode 100644 index 0000000000..521b0ab044 --- /dev/null +++ b/src/add-ons/kernel/bus_managers/tty/Jamfile @@ -0,0 +1,15 @@ +SubDir HAIKU_TOP src add-ons kernel bus_managers tty ; + +UsePrivateHeaders kernel shared ; +UsePrivateHeaders [ FDirName kernel util ] ; + +KernelAddon tty : + tty.cpp + kernel_cpp.cpp + : + ; + +SEARCH on [ FGristFiles + kernel_cpp.cpp + ] = [ FDirName $(HAIKU_TOP) src system kernel util ] ; + diff --git a/src/add-ons/kernel/bus_managers/tty/tty.cpp b/src/add-ons/kernel/bus_managers/tty/tty.cpp new file mode 100644 index 0000000000..69ead11472 --- /dev/null +++ b/src/add-ons/kernel/bus_managers/tty/tty.cpp @@ -0,0 +1,188 @@ +/* + * Copyright 2008, Haiku. + * Distributed under the terms of the MIT License. + * + * Authors: + * François Revol + */ + + +#include +#include +#include +#include + +#include "tty.h" + +status_t +tty_open(struct ttyfile *, struct ddrover *, tty_service_func) +{ + return B_OK; +} + + +status_t +tty_close(struct ttyfile *, struct ddrover *) +{ + return B_OK; +} + + +status_t +tty_free(struct ttyfile *, struct ddrover *) +{ + return B_OK; +} + + +status_t +tty_read(struct ttyfile *, struct ddrover *, char *, size_t *) +{ + return B_OK; +} + + +status_t +tty_write(struct ttyfile *, struct ddrover *, const char *, size_t *) +{ + return B_OK; +} + + +status_t +tty_control(struct ttyfile *, struct ddrover *, ulong, void *, size_t) +{ + return B_OK; +} + + +void +tty_init(struct tty *, bool) +{ +} + + +void +tty_ilock(struct tty *, struct ddrover *, bool ) +{ +} + + +void +tty_hwsignal(struct tty *, struct ddrover *, int, bool) +{ +} + + +int +tty_in(struct tty *, struct ddrover *, int) +{ + return 0; +} + + +int +tty_out(struct tty *, struct ddrover *) +{ + return 0; +} + + +// #pragma mark ddrover handling + + +struct ddrover * +tty_ddr_start(struct ddrover *) +{ + return NULL; +} + + +void +tty_ddr_done(struct ddrover *) +{ +} + +void +tty_ddr_acquire(struct ddrover *, struct ddomain *) +{ +} + + +// #pragma mark bus manager exports + + +status_t +tty_module_init(void) +{ + return B_OK; +} + + +void +tty_module_uninit(void) +{ +} + + +static int32 +tty_module_std_ops(int32 op, ...) +{ + switch (op) { + case B_MODULE_INIT: + { + status_t status; + + //TRACE(("TTY: tty_module_init\n")); + + status = tty_module_init(); + if (status < B_OK) + return status; + + return B_OK; + } + + case B_MODULE_UNINIT: + //TRACE(("TTY: tty_module_uninit\n")); + tty_module_uninit(); + return B_OK; + } + + return B_BAD_VALUE; +} + + +static struct tty_module_info sTTYModule = { + // ! this is *NOT* a real bus manager (no rescan call!) + //{ + { + B_TTY_MODULE_NAME, + 0, //B_KEEP_LOADED, + tty_module_std_ops + }, + //NULL + //}, + &tty_open, + &tty_close, + &tty_free, + &tty_read, + &tty_write, + &tty_control, +#if 0 /* Dano! */ + &tty_select, + &tty_deselect, +#endif + &tty_init, + &tty_ilock, + &tty_hwsignal, + &tty_in, + &tty_out, + &tty_ddr_start, + &tty_ddr_done, + &tty_ddr_acquire +}; + +module_info *modules[] = { + (module_info *)&sTTYModule, + NULL +}; diff --git a/src/add-ons/kernel/bus_managers/tty/tty.h b/src/add-ons/kernel/bus_managers/tty/tty.h new file mode 100644 index 0000000000..af7de733b7 --- /dev/null +++ b/src/add-ons/kernel/bus_managers/tty/tty.h @@ -0,0 +1,13 @@ +/* + * Copyright 2008, Haiku. + * Distributed under the terms of the MIT License. + * + * Authors: + * François Revol + */ +#ifndef _TTY_H_ +#define _TTY_H_ + + + +#endif // _TTY_H_