Index: generic/include/console/chardev.h
===================================================================
--- generic/include/console/chardev.h	(revision f4338d2fac6a4e6b6236f00ee0b78b29bc920b0a)
+++ generic/include/console/chardev.h	(revision a3ac9a7e277c7bc7d416f4d9ad871db2c430696c)
@@ -37,8 +37,12 @@
 #define CHARDEV_BUFLEN 512
 
+struct chardev;
+
 /* Character device operations interface. */
 struct chardev_operations {
-	void (* suspend)(void);		/**< Suspend pushing characters. */
-	void (* resume)(void);		/**< Resume pushing characters. */
+	void (* suspend)(struct chardev *);/**< Suspend pushing characters. */
+	void (* resume)(struct chardev *); /**< Resume pushing characters. */
+	/** Write character to stream */
+	void (* write)(struct chardev *, char c);
 };
 
@@ -47,13 +51,18 @@
 /** Character input device. */
 struct chardev {
+	char *name;
+	
 	waitq_t wq;
 	spinlock_t lock;		/**< Protects everything below. */
 	__u8 buffer[CHARDEV_BUFLEN];
 	count_t counter;
+	chardev_operations_t *op;	/**< Implementation of chardev operations. */
 	index_t index;
-	chardev_operations_t *op;	/**< Implementation of chardev operations. */
+	void *data;
 };
 
-extern void chardev_initialize(chardev_t *chardev, chardev_operations_t *op);
+extern void chardev_initialize(char *name,
+			       chardev_t *chardev, 
+			       chardev_operations_t *op);
 void chardev_push_character(chardev_t *chardev, __u8 ch);
 
Index: generic/include/console/console.h
===================================================================
--- generic/include/console/console.h	(revision f4338d2fac6a4e6b6236f00ee0b78b29bc920b0a)
+++ generic/include/console/console.h	(revision a3ac9a7e277c7bc7d416f4d9ad871db2c430696c)
@@ -34,7 +34,9 @@
 
 extern chardev_t *stdin;
+extern chardev_t *stdout;
 
 extern __u8 getc(chardev_t *chardev);
 extern count_t gets(chardev_t *chardev, char *buf, size_t buflen);
+extern void putchar(char c);
 
 #endif /* __CHARDEV_H__ */
