aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2009-09-19 16:13:24 -0400
committerLive-CD User <linux@linux.site>2009-09-19 16:13:24 -0400
commit8b92e87d39bfd046e7581e1fe0f40eac40f88608 (patch)
treeb558f69f2a9875ea6029546f9f70d268fd3ebaf6 /include/linux
parent4455e344959a217ffc28de2ab1af87541322b343 (diff)
vt: add an event interface
This is needed and requested in various forms for ConsoleKit, screenblank handling and the like so do the job with a single interface. Also build the interface so that unlike VT_WAITACTIVE and friends it won't miss events. FIXME: Should this be a waitactive ioctl or a new device file you can poll and read events from. We need the code anyway to fix up the existing broken wait for console switch logic but the ConsoleKit people would prefer the new device to the ioctl we have here Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/vt.h14
-rw-r--r--include/linux/vt_kern.h3
2 files changed, 16 insertions, 1 deletions
diff --git a/include/linux/vt.h b/include/linux/vt.h
index 02c1c0288770..89c03a11e193 100644
--- a/include/linux/vt.h
+++ b/include/linux/vt.h
@@ -74,4 +74,18 @@ struct vt_consize {
74#define VT_UNLOCKSWITCH 0x560C /* allow vt switching */ 74#define VT_UNLOCKSWITCH 0x560C /* allow vt switching */
75#define VT_GETHIFONTMASK 0x560D /* return hi font mask */ 75#define VT_GETHIFONTMASK 0x560D /* return hi font mask */
76 76
77struct vt_event {
78 unsigned int event;
79#define VT_EVENT_SWITCH 0x0001 /* Console switch */
80#define VT_EVENT_BLANK 0x0002 /* Screen blank */
81#define VT_EVENT_UNBLANK 0x0004 /* Screen unblank */
82#define VT_EVENT_RESIZE 0x0008 /* Resize display */
83#define VT_MAX_EVENT 0x000F
84 unsigned int old; /* Old console */
85 unsigned int new; /* New console (if changing) */
86 unsigned int pad[4]; /* Padding for expansion */
87};
88
89#define VT_WAITEVENT 0x560E /* Wait for an event */
90
77#endif /* _LINUX_VT_H */ 91#endif /* _LINUX_VT_H */
diff --git a/include/linux/vt_kern.h b/include/linux/vt_kern.h
index 2f1113467f70..f8c797d57c8b 100644
--- a/include/linux/vt_kern.h
+++ b/include/linux/vt_kern.h
@@ -91,7 +91,8 @@ int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc);
91#endif 91#endif
92 92
93/* vt.c */ 93/* vt.c */
94int vt_waitactive(int vt); 94void vt_event_post(unsigned int event, unsigned int old, unsigned int new);
95int vt_waitactive(int n);
95void change_console(struct vc_data *new_vc); 96void change_console(struct vc_data *new_vc);
96void reset_vc(struct vc_data *vc); 97void reset_vc(struct vc_data *vc);
97extern int unbind_con_driver(const struct consw *csw, int first, int last, 98extern int unbind_con_driver(const struct consw *csw, int first, int last,