diff options
Diffstat (limited to 'kern/inc')
| -rw-r--r-- | kern/inc/pts.h | 8 | ||||
| -rw-r--r-- | kern/inc/pv.h | 9 | ||||
| -rw-r--r-- | kern/inc/toad.h | 8 |
3 files changed, 24 insertions, 1 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 */ diff --git a/kern/inc/pv.h b/kern/inc/pv.h index 123a127..c0708dc 100644 --- a/kern/inc/pv.h +++ b/kern/inc/pv.h @@ -76,6 +76,7 @@ typedef struct pv_s { queue_t* shadow_pds; pv_idt_t vidt; va_t vesp0; + queue_t pts_link; } pv_t; void pv_init(); @@ -124,13 +125,19 @@ void pv_select_pd(process_t* p, pv_pd_t* pv_pd); void pv_handle_fault(ureg_t* frame, thread_t* t); +void pv_pend_irq(pv_t* pv, int index, int arg); + struct stack_frame_s; typedef struct stack_frame_s stack_frame_t; int pv_inject_irq(stack_frame_t* f, int index, int arg); void pv_check_pending_irq(stack_frame_t* f); -void pv_inject_interrupt(thread_t* t, pv_t* pv, stack_frame_t* f, int arg, va_t eip); +void pv_inject_interrupt(thread_t* t, + pv_t* pv, + stack_frame_t* f, + int arg, + va_t eip); typedef struct pv_frame_s { reg_t cr2; diff --git a/kern/inc/toad.h b/kern/inc/toad.h new file mode 100644 index 0000000..f0dfbf5 --- /dev/null +++ b/kern/inc/toad.h @@ -0,0 +1,8 @@ +#ifndef _TOAD_H +#define _TOAD_H + +extern + +void print_toad(); + +#endif |
