summaryrefslogtreecommitdiff
path: root/kern/inc/pts.h
diff options
context:
space:
mode:
authorHanjie Wu <hanjiew@andrew.cmu.edu>2023-04-24 00:02:27 -0400
committerHanjie Wu <hanjiew@andrew.cmu.edu>2023-04-24 00:02:27 -0400
commite021b8f12ad129c0bdbda3111bb93a170e21ae41 (patch)
tree229879c8f03278388b2140ce5ce016c0354df0f0 /kern/inc/pts.h
parent4e6e2ced7f047a9a0439eb6d001b1a77daadfdff (diff)
new console
Diffstat (limited to 'kern/inc/pts.h')
-rw-r--r--kern/inc/pts.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/kern/inc/pts.h b/kern/inc/pts.h
index c300fb9..4c0c9f9 100644
--- a/kern/inc/pts.h
+++ b/kern/inc/pts.h
@@ -65,6 +65,7 @@ typedef struct kbd_request_s {
typedef struct pts_s {
queue_t pts_link;
+ queue_t* pvs;
int refcount;
mutex_t lock;
@@ -85,11 +86,14 @@ typedef struct pts_s {
char chr_ring[CHR_RING_SIZE];
int chr_r_pos;
int chr_w_pos;
+ int forward_tab;
} pts_t;
extern pts_t* active_pts;
extern spl_t pts_lock;
+void setup_pts();
+
void pts_init(pts_t* pts);
int putbyte(char ch);
@@ -175,6 +179,8 @@ int pts_set_cursor(pts_t* pts, int row, int col);
*/
void pts_get_cursor(pts_t* pts, int* row, int* col);
+int pts_print_at(pts_t* pts, int len, va_t buf, int row, int col, int color);
+
/**
* @brief read a line to userspace
* @param len max length to read
@@ -189,4 +195,6 @@ int do_readline(int len, va_t buf);
*/
int do_getchar();
+void switch_pts(pts_t* pts);
+
#endif /* _PTS_H */