Contents in release-21-2 at 1999-06-30-19.
[chise/xemacs-chise.git.1] / src / console.h
index 9bcc81c..df4eeb7 100644 (file)
@@ -90,6 +90,11 @@ struct console_methods
   void (*asynch_device_change_method) (void);
   Lisp_Object (*device_system_metrics_method) (struct device *, enum device_metrics);
   unsigned int (*device_implementation_flags_method) (void);
+  Lisp_Object (*own_selection_method)(Lisp_Object selection_name, Lisp_Object selection_value);
+  void (*disown_selection_method)(Lisp_Object selection_name, Lisp_Object timeval);
+    Lisp_Object (*get_foreign_selection_method) (Lisp_Object selection_symbol,
+                                                Lisp_Object target_type);
+  Lisp_Object (*selection_exists_p_method)(Lisp_Object selection_name);
 
   /* frame methods */
   Lisp_Object *device_specific_frame_props;
@@ -267,6 +272,9 @@ struct console_methods
   /* dialog methods */
   void (*popup_dialog_box_method) (struct frame *, Lisp_Object dbox_desc);
 #endif
+
+  /* Console-specific features */ 
+  Lisp_Object features;
 };
 
 /*
@@ -278,7 +286,9 @@ struct console_methods
 
 #define CONSOLE_TYPE_NAME(c) ((c)->conmeths->name)
 #define CONSOLE_TYPE(c) ((c)->conmeths->symbol)
+#define CONSOLE_FEATURES(c) ((c)->conmeths->features)
 #define CONMETH_TYPE(meths) ((meths)->symbol)
+#define CONMETH_FEATURES(c) ((meths)->features)
 
 /******** Accessing / calling a console method *********/
 
@@ -344,6 +354,8 @@ struct console_methods * type##_console_methods
     add_entry_to_console_type_list (Q##type, type##_console_methods);  \
     type##_console_methods->image_conversion_list = Qnil;              \
     staticpro (&type##_console_methods->image_conversion_list);                \
+    type##_console_methods->features = Qnil;                           \
+    staticpro (&type##_console_methods->features);                     \
 } while (0)
 
 /* Declare that console-type TYPE has method M; used in