| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _LINUX_VT_H | 
|  | 2 | #define _LINUX_VT_H | 
|  | 3 |  | 
| Samuel Thibault | b293d75 | 2007-10-18 23:39:17 -0700 | [diff] [blame] | 4 | #ifdef __KERNEL__ | 
|  | 5 | struct notifier_block; | 
|  | 6 |  | 
|  | 7 | struct vt_notifier_param { | 
|  | 8 | struct vc_data *vc;	/* VC on which the update happened */ | 
|  | 9 | unsigned int c;		/* Printed char */ | 
|  | 10 | }; | 
|  | 11 |  | 
|  | 12 | extern int register_vt_notifier(struct notifier_block *nb); | 
|  | 13 | extern int unregister_vt_notifier(struct notifier_block *nb); | 
|  | 14 | #endif | 
|  | 15 |  | 
| Jon Smirl | a8f340e | 2006-07-10 04:44:12 -0700 | [diff] [blame] | 16 | /* | 
|  | 17 | * These constants are also useful for user-level apps (e.g., VC | 
|  | 18 | * resizing). | 
|  | 19 | */ | 
|  | 20 | #define MIN_NR_CONSOLES 1       /* must be at least 1 */ | 
|  | 21 | #define MAX_NR_CONSOLES	63	/* serial lines start at 64 */ | 
|  | 22 | #define MAX_NR_USER_CONSOLES 63	/* must be root to allocate above this */ | 
|  | 23 | /* Note: the ioctl VT_GETSTATE does not work for | 
|  | 24 | consoles 16 and higher (since it returns a short) */ | 
|  | 25 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | /* 0x56 is 'V', to avoid collision with termios and kd */ | 
|  | 27 |  | 
|  | 28 | #define VT_OPENQRY	0x5600	/* find available vt */ | 
|  | 29 |  | 
|  | 30 | struct vt_mode { | 
|  | 31 | char mode;		/* vt mode */ | 
|  | 32 | char waitv;		/* if set, hang on writes if not active */ | 
|  | 33 | short relsig;		/* signal to raise on release req */ | 
|  | 34 | short acqsig;		/* signal to raise on acquisition */ | 
|  | 35 | short frsig;		/* unused (set to 0) */ | 
|  | 36 | }; | 
|  | 37 | #define VT_GETMODE	0x5601	/* get mode of active vt */ | 
|  | 38 | #define VT_SETMODE	0x5602	/* set mode of active vt */ | 
|  | 39 | #define		VT_AUTO		0x00	/* auto vt switching */ | 
|  | 40 | #define		VT_PROCESS	0x01	/* process controls switching */ | 
|  | 41 | #define		VT_ACKACQ	0x02	/* acknowledge switch */ | 
|  | 42 |  | 
|  | 43 | struct vt_stat { | 
|  | 44 | unsigned short v_active;	/* active vt */ | 
|  | 45 | unsigned short v_signal;	/* signal to send */ | 
|  | 46 | unsigned short v_state;		/* vt bitmask */ | 
|  | 47 | }; | 
|  | 48 | #define VT_GETSTATE	0x5603	/* get global vt state info */ | 
|  | 49 | #define VT_SENDSIG	0x5604	/* signal to send to bitmask of vts */ | 
|  | 50 |  | 
|  | 51 | #define VT_RELDISP	0x5605	/* release display */ | 
|  | 52 |  | 
|  | 53 | #define VT_ACTIVATE	0x5606	/* make vt active */ | 
|  | 54 | #define VT_WAITACTIVE	0x5607	/* wait for vt active */ | 
|  | 55 | #define VT_DISALLOCATE	0x5608  /* free memory associated to vt */ | 
|  | 56 |  | 
|  | 57 | struct vt_sizes { | 
|  | 58 | unsigned short v_rows;		/* number of rows */ | 
|  | 59 | unsigned short v_cols;		/* number of columns */ | 
|  | 60 | unsigned short v_scrollsize;	/* number of lines of scrollback */ | 
|  | 61 | }; | 
|  | 62 | #define VT_RESIZE	0x5609	/* set kernel's idea of screensize */ | 
|  | 63 |  | 
|  | 64 | struct vt_consize { | 
|  | 65 | unsigned short v_rows;	/* number of rows */ | 
|  | 66 | unsigned short v_cols;	/* number of columns */ | 
|  | 67 | unsigned short v_vlin;	/* number of pixel rows on screen */ | 
|  | 68 | unsigned short v_clin;	/* number of pixel rows per character */ | 
|  | 69 | unsigned short v_vcol;	/* number of pixel columns on screen */ | 
|  | 70 | unsigned short v_ccol;	/* number of pixel columns per character */ | 
|  | 71 | }; | 
|  | 72 | #define VT_RESIZEX      0x560A  /* set kernel's idea of screensize + more */ | 
|  | 73 | #define VT_LOCKSWITCH   0x560B  /* disallow vt switching */ | 
|  | 74 | #define VT_UNLOCKSWITCH 0x560C  /* allow vt switching */ | 
| Samuel Thibault | 533475d | 2006-08-27 01:23:39 -0700 | [diff] [blame] | 75 | #define VT_GETHIFONTMASK 0x560D  /* return hi font mask */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 |  | 
|  | 77 | #endif /* _LINUX_VT_H */ |