DECLARE_LRECORD (device, struct device);
#define XDEVICE(x) XRECORD (x, device, struct device)
#define XSETDEVICE(x, p) XSETRECORD (x, p, device)
+#define wrap_device(p) wrap_object (p)
#define DEVICEP(x) RECORDP (x, device)
#define CHECK_DEVICE(x) CHECK_RECORD (x, device)
#define CONCHECK_DEVICE(x) CONCHECK_RECORD (x, device)
#define DEVICE_TYPE_P(d, type) EQ (DEVICE_TYPE (d), Q##type)
#ifdef ERROR_CHECK_TYPECHECK
-INLINE struct device *
+INLINE_HEADER struct device *
error_check_device_type (struct device *d, Lisp_Object sym);
-INLINE struct device *
+INLINE_HEADER struct device *
error_check_device_type (struct device *d, Lisp_Object sym)
{
assert (EQ (DEVICE_TYPE (d), sym));
EXFUN (Fdevice_console, 1);
EXFUN (Fdevice_name, 1);
+EXFUN (Ffind_device, 2);
EXFUN (Fmake_device, 3);
EXFUN (Fselected_device, 1);
#define MARK_DEVICE_WINDOWS_STRUCTURE_CHANGED(d) \
((void) (windows_structure_changed = (d)->windows_structure_changed = 1))
+/* #### unify this with DOMAIN_DEVICE once the latter has image instances
+ expunged from it. */
/* This turns out to be used heavily so we make it a macro to make it
inline. Also, the majority of the time the object will turn out to
be a window so we move it from being checked last to being checked