summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/syscons.h
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>2001-08-02 08:30:40 +0000
committeryokota <yokota@FreeBSD.org>2001-08-02 08:30:40 +0000
commit09383e1eceec397ac112cfaf1db425e914d8b259 (patch)
treec79575ae9a6fb28b44160934e3aadd6359c8977f /sys/dev/syscons/syscons.h
parent1d105403d04e4606c3ab825795b3eb9c0a32dee4 (diff)
downloadFreeBSD-src-09383e1eceec397ac112cfaf1db425e914d8b259.zip
FreeBSD-src-09383e1eceec397ac112cfaf1db425e914d8b259.tar.gz
Refine cursor type/shape control escape sequences and
ioctls. We can now add ve, vi and vs capabilities to cons25 in termcap. Discussed with and tested by: ache
Diffstat (limited to 'sys/dev/syscons/syscons.h')
-rw-r--r--sys/dev/syscons/syscons.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/sys/dev/syscons/syscons.h b/sys/dev/syscons/syscons.h
index 46dde5f..5f424d5 100644
--- a/sys/dev/syscons/syscons.h
+++ b/sys/dev/syscons/syscons.h
@@ -155,6 +155,13 @@ typedef struct sc_vtb {
int vtb_tail; /* valid for VTB_RINGBUFFER only */
} sc_vtb_t;
+/* text cursor attributes */
+struct cursor_attr {
+ int flags;
+ int base;
+ int height;
+};
+
/* softc */
struct keyboard;
@@ -172,8 +179,10 @@ typedef struct sc_softc {
int flags; /* status flags */
#define SC_VISUAL_BELL (1 << 0)
#define SC_QUIET_BELL (1 << 1)
+#if 0 /* not used anymore */
#define SC_BLINK_CURSOR (1 << 2)
#define SC_CHAR_CURSOR (1 << 3)
+#endif
#define SC_MOUSE_ENABLED (1 << 4)
#define SC_SCRN_IDLE (1 << 5)
#define SC_SCRN_BLANKED (1 << 6)
@@ -205,8 +214,8 @@ typedef struct sc_softc {
long scrn_time_stamp;
- char cursor_base;
- char cursor_height;
+ struct cursor_attr dflt_curs_attr;
+ struct cursor_attr curs_attr;
u_char scr_map[256];
u_char scr_rmap[256];
@@ -267,8 +276,9 @@ typedef struct scr_stat {
int cursor_oldpos; /* cursor old buffer position */
u_short cursor_saveunder_char; /* saved char under cursor */
u_short cursor_saveunder_attr; /* saved attr under cursor */
- char cursor_base; /* cursor base line # */
- char cursor_height; /* cursor height */
+ struct cursor_attr dflt_curs_attr;
+ struct cursor_attr curr_curs_attr;
+ struct cursor_attr curs_attr;
int mouse_pos; /* mouse buffer position */
int mouse_oldpos; /* mouse old buffer position */
@@ -517,6 +527,8 @@ void sc_puts(scr_stat *scp, u_char *buf, int len);
void sc_draw_cursor_image(scr_stat *scp);
void sc_remove_cursor_image(scr_stat *scp);
void sc_set_cursor_image(scr_stat *scp);
+void sc_change_cursor_shape(scr_stat *scp, int flags,
+ int base, int height);
int sc_clean_up(scr_stat *scp);
int sc_switch_scr(sc_softc_t *sc, u_int next_scr);
void sc_alloc_scr_buffer(scr_stat *scp, int wait, int discard);
OpenPOWER on IntegriCloud