51 |
#endif |
#endif |
52 |
|
|
53 |
DEFUN ("int86", Fint86, Sint86, 2, 2, 0, |
DEFUN ("int86", Fint86, Sint86, 2, 2, 0, |
54 |
"Call specific MSDOS interrupt number INTERRUPT with REGISTERS.\n\ |
doc: /* Call specific MSDOS interrupt number INTERRUPT with REGISTERS. |
55 |
Return the updated REGISTER vector.\n\ |
Return the updated REGISTER vector. |
56 |
\n\ |
|
57 |
INTERRUPT should be an integer in the range 0 to 255.\n\ |
INTERRUPT should be an integer in the range 0 to 255. |
58 |
REGISTERS should be a vector produced by `make-register' and\n\ |
REGISTERS should be a vector produced by `make-register' and |
59 |
`set-register-value'.") |
`set-register-value'. */) |
60 |
(interrupt, registers) |
(interrupt, registers) |
61 |
Lisp_Object interrupt, registers; |
Lisp_Object interrupt, registers; |
62 |
{ |
{ |
63 |
register int i; |
register int i; |
64 |
int no; |
int no; |
97 |
} |
} |
98 |
|
|
99 |
DEFUN ("msdos-memget", Fdos_memget, Sdos_memget, 2, 2, 0, |
DEFUN ("msdos-memget", Fdos_memget, Sdos_memget, 2, 2, 0, |
100 |
"Read DOS memory at offset ADDRESS into VECTOR.\n\ |
doc: /* Read DOS memory at offset ADDRESS into VECTOR. |
101 |
Return the updated VECTOR.") |
Return the updated VECTOR. */) |
102 |
(address, vector) |
(address, vector) |
103 |
Lisp_Object address, vector; |
Lisp_Object address, vector; |
104 |
{ |
{ |
105 |
register int i; |
register int i; |
106 |
int offs, len; |
int offs, len; |
123 |
} |
} |
124 |
|
|
125 |
DEFUN ("msdos-memput", Fdos_memput, Sdos_memput, 2, 2, 0, |
DEFUN ("msdos-memput", Fdos_memput, Sdos_memput, 2, 2, 0, |
126 |
"Write DOS memory at offset ADDRESS from VECTOR.") |
doc: /* Write DOS memory at offset ADDRESS from VECTOR. */) |
127 |
(address, vector) |
(address, vector) |
128 |
Lisp_Object address, vector; |
Lisp_Object address, vector; |
129 |
{ |
{ |
130 |
register int i; |
register int i; |
131 |
int offs, len; |
int offs, len; |
151 |
} |
} |
152 |
|
|
153 |
DEFUN ("msdos-set-keyboard", Fmsdos_set_keyboard, Smsdos_set_keyboard, 1, 2, 0, |
DEFUN ("msdos-set-keyboard", Fmsdos_set_keyboard, Smsdos_set_keyboard, 1, 2, 0, |
154 |
"Set keyboard layout according to COUNTRY-CODE.\n\ |
doc: /* Set keyboard layout according to COUNTRY-CODE. |
155 |
If the optional argument ALLKEYS is non-nil, the keyboard is mapped for\n\ |
If the optional argument ALLKEYS is non-nil, the keyboard is mapped for |
156 |
all keys; otherwise it is only used when the ALT key is pressed.\n\ |
all keys; otherwise it is only used when the ALT key is pressed. |
157 |
The current keyboard layout is available in dos-keyboard-code.") |
The current keyboard layout is available in dos-keyboard-code. */) |
158 |
(country_code, allkeys) |
(country_code, allkeys) |
159 |
Lisp_Object country_code; |
Lisp_Object country_code; |
160 |
{ |
{ |
161 |
CHECK_NUMBER (country_code); |
CHECK_NUMBER (country_code); |
162 |
if (!dos_set_keyboard (XINT (country_code), !NILP (allkeys))) |
if (!dos_set_keyboard (XINT (country_code), !NILP (allkeys))) |
168 |
/* Later we might want to control the mouse interface with this function, |
/* Later we might want to control the mouse interface with this function, |
169 |
e.g., with respect to non-80 column screen modes. */ |
e.g., with respect to non-80 column screen modes. */ |
170 |
|
|
171 |
DEFUN ("msdos-mouse-p", Fmsdos_mouse_p, Smsdos_mouse_p, 0, 0, 0, "\ |
DEFUN ("msdos-mouse-p", Fmsdos_mouse_p, Smsdos_mouse_p, 0, 0, 0, |
172 |
Report whether a mouse is present.") |
doc: /* Report whether a mouse is present. */) |
173 |
() |
() |
174 |
{ |
{ |
175 |
if (have_mouse) |
if (have_mouse) |
181 |
|
|
182 |
|
|
183 |
DEFUN ("msdos-mouse-init", Fmsdos_mouse_init, Smsdos_mouse_init, 0, 0, "", |
DEFUN ("msdos-mouse-init", Fmsdos_mouse_init, Smsdos_mouse_init, 0, 0, "", |
184 |
"Initialize and enable mouse if available.") |
doc: /* Initialize and enable mouse if available. */) |
185 |
() |
() |
186 |
{ |
{ |
187 |
if (have_mouse) |
if (have_mouse) |
188 |
{ |
{ |
194 |
} |
} |
195 |
|
|
196 |
DEFUN ("msdos-mouse-enable", Fmsdos_mouse_enable, Smsdos_mouse_enable, 0, 0, "", |
DEFUN ("msdos-mouse-enable", Fmsdos_mouse_enable, Smsdos_mouse_enable, 0, 0, "", |
197 |
"Enable mouse if available.") |
doc: /* Enable mouse if available. */) |
198 |
() |
() |
199 |
{ |
{ |
200 |
if (have_mouse) |
if (have_mouse) |
201 |
{ |
{ |
206 |
} |
} |
207 |
|
|
208 |
DEFUN ("msdos-mouse-disable", Fmsdos_mouse_disable, Smsdos_mouse_disable, 0, 0, "", |
DEFUN ("msdos-mouse-disable", Fmsdos_mouse_disable, Smsdos_mouse_disable, 0, 0, "", |
209 |
"Disable mouse if available.") |
doc: /* Disable mouse if available. */) |
210 |
() |
() |
211 |
{ |
{ |
212 |
mouse_off (); |
mouse_off (); |
213 |
if (have_mouse) have_mouse = -1; |
if (have_mouse) have_mouse = -1; |
214 |
return Qnil; |
return Qnil; |
215 |
} |
} |
216 |
|
|
217 |
DEFUN ("insert-startup-screen", Finsert_startup_screen, Sinsert_startup_screen, 0, 0, "", "\ |
DEFUN ("insert-startup-screen", Finsert_startup_screen, Sinsert_startup_screen, 0, 0, "", |
218 |
Insert copy of screen contents prior to starting emacs.\n\ |
doc: /* Insert copy of screen contents prior to starting emacs. |
219 |
Return nil if startup screen is not available.") |
Return nil if startup screen is not available. */) |
220 |
() |
() |
221 |
{ |
{ |
222 |
char *s; |
char *s; |
223 |
int rows, cols; |
int rows, cols; |
513 |
#endif /* !HAVE_X_WINDOWS */ |
#endif /* !HAVE_X_WINDOWS */ |
514 |
|
|
515 |
DEFUN ("file-system-info", Ffile_system_info, Sfile_system_info, 1, 1, 0, |
DEFUN ("file-system-info", Ffile_system_info, Sfile_system_info, 1, 1, 0, |
516 |
"Return storage information about the file system FILENAME is on.\n\ |
doc: /* Return storage information about the file system FILENAME is on. |
517 |
Value is a list of floats (TOTAL FREE AVAIL), where TOTAL is the total\n\ |
Value is a list of floats (TOTAL FREE AVAIL), where TOTAL is the total |
518 |
storage of the file system, FREE is the free storage, and AVAIL is the\n\ |
storage of the file system, FREE is the free storage, and AVAIL is the |
519 |
storage available to a non-superuser. All 3 numbers are in bytes.\n\ |
storage available to a non-superuser. All 3 numbers are in bytes. |
520 |
If the underlying system call fails, value is nil.") |
If the underlying system call fails, value is nil. */) |
521 |
(filename) |
(filename) |
522 |
Lisp_Object filename; |
Lisp_Object filename; |
523 |
{ |
{ |
524 |
struct statfs stfs; |
struct statfs stfs; |
525 |
Lisp_Object encoded, value; |
Lisp_Object encoded, value; |
572 |
#endif |
#endif |
573 |
|
|
574 |
DEFVAR_INT ("dos-country-code", &dos_country_code, |
DEFVAR_INT ("dos-country-code", &dos_country_code, |
575 |
"The country code returned by Dos when Emacs was started.\n\ |
doc: /* The country code returned by Dos when Emacs was started. |
576 |
Usually this is the international telephone prefix."); |
Usually this is the international telephone prefix. */); |
577 |
|
|
578 |
DEFVAR_INT ("dos-codepage", &dos_codepage, |
DEFVAR_INT ("dos-codepage", &dos_codepage, |
579 |
"The codepage active when Emacs was started.\n\ |
doc: /* The codepage active when Emacs was started. |
580 |
The following are known:\n\ |
The following are known: |
581 |
437 United States\n\ |
437 United States |
582 |
850 Multilingual (Latin I)\n\ |
850 Multilingual (Latin I) |
583 |
852 Slavic (Latin II)\n\ |
852 Slavic (Latin II) |
584 |
857 Turkish\n\ |
857 Turkish |
585 |
860 Portugal\n\ |
860 Portugal |
586 |
861 Iceland\n\ |
861 Iceland |
587 |
863 Canada (French)\n\ |
863 Canada (French) |
588 |
865 Norway/Denmark"); |
865 Norway/Denmark */); |
589 |
|
|
590 |
DEFVAR_INT ("dos-timezone-offset", &dos_timezone_offset, |
DEFVAR_INT ("dos-timezone-offset", &dos_timezone_offset, |
591 |
"The current timezone offset to UTC in minutes.\n\ |
doc: /* The current timezone offset to UTC in minutes. |
592 |
Implicitly modified when the TZ variable is changed."); |
Implicitly modified when the TZ variable is changed. */); |
593 |
|
|
594 |
DEFVAR_LISP ("dos-version", &Vdos_version, |
DEFVAR_LISP ("dos-version", &Vdos_version, |
595 |
"The (MAJOR . MINOR) Dos version (subject to modification with setver)."); |
doc: /* The (MAJOR . MINOR) Dos version (subject to modification with setver). */); |
596 |
|
|
597 |
#ifndef HAVE_X_WINDOWS |
#ifndef HAVE_X_WINDOWS |
598 |
DEFVAR_LISP ("dos-windows-version", &Vdos_windows_version, |
DEFVAR_LISP ("dos-windows-version", &Vdos_windows_version, |
599 |
"The (MAJOR . MINOR) Windows version for DOS session on MS-Windows."); |
doc: /* The (MAJOR . MINOR) Windows version for DOS session on MS-Windows. */); |
600 |
#endif |
#endif |
601 |
|
|
602 |
DEFVAR_LISP ("dos-display-scancodes", &Vdos_display_scancodes, |
DEFVAR_LISP ("dos-display-scancodes", &Vdos_display_scancodes, |
603 |
"*Controls whether DOS raw keyboard events are displayed as you type.\n\ |
doc: /* *Controls whether DOS raw keyboard events are displayed as you type. |
604 |
When non-nil, the keyboard scan-codes are displayed at the bottom right\n\ |
When non-nil, the keyboard scan-codes are displayed at the bottom right |
605 |
corner of the display (typically at the end of the mode line).\n\ |
corner of the display (typically at the end of the mode line). |
606 |
The output format is: scan code:char code*modifiers."); |
The output format is: scan code:char code*modifiers. */); |
607 |
|
|
608 |
Vdos_display_scancodes = Qnil; |
Vdos_display_scancodes = Qnil; |
609 |
|
|
610 |
DEFVAR_INT ("dos-hyper-key", &dos_hyper_key, |
DEFVAR_INT ("dos-hyper-key", &dos_hyper_key, |
611 |
"*If set to 1, use right ALT key as hyper key.\n\ |
doc: /* *If set to 1, use right ALT key as hyper key. |
612 |
If set to 2, use right CTRL key as hyper key."); |
If set to 2, use right CTRL key as hyper key. */); |
613 |
dos_hyper_key = 0; |
dos_hyper_key = 0; |
614 |
|
|
615 |
DEFVAR_INT ("dos-super-key", &dos_super_key, |
DEFVAR_INT ("dos-super-key", &dos_super_key, |
616 |
"*If set to 1, use right ALT key as super key.\n\ |
doc: /* *If set to 1, use right ALT key as super key. |
617 |
If set to 2, use right CTRL key as super key."); |
If set to 2, use right CTRL key as super key. */); |
618 |
dos_super_key = 0; |
dos_super_key = 0; |
619 |
|
|
620 |
DEFVAR_INT ("dos-keypad-mode", &dos_keypad_mode, |
DEFVAR_INT ("dos-keypad-mode", &dos_keypad_mode, |
621 |
"*Controls what key code is returned by a key in the numeric keypad.\n\ |
doc: /* *Controls what key code is returned by a key in the numeric keypad. |
622 |
The `numlock ON' action is only taken if no modifier keys are pressed.\n\ |
The `numlock ON' action is only taken if no modifier keys are pressed. |
623 |
The value is an integer constructed by adding the following bits together:\n\ |
The value is an integer constructed by adding the following bits together: |
624 |
\n\ |
|
625 |
0x00 Digit key returns digit (if numlock ON)\n\ |
0x00 Digit key returns digit (if numlock ON) |
626 |
0x01 Digit key returns kp-digit (if numlock ON)\n\ |
0x01 Digit key returns kp-digit (if numlock ON) |
627 |
0x02 Digit key returns M-digit (if numlock ON)\n\ |
0x02 Digit key returns M-digit (if numlock ON) |
628 |
0x03 Digit key returns edit key (if numlock ON)\n\ |
0x03 Digit key returns edit key (if numlock ON) |
629 |
\n\ |
|
630 |
0x00 Grey key returns char (if numlock ON)\n\ |
0x00 Grey key returns char (if numlock ON) |
631 |
0x04 Grey key returns kp-key (if numlock ON)\n\ |
0x04 Grey key returns kp-key (if numlock ON) |
632 |
\n\ |
|
633 |
0x00 Digit key returns digit (if numlock OFF)\n\ |
0x00 Digit key returns digit (if numlock OFF) |
634 |
0x10 Digit key returns kp-digit (if numlock OFF)\n\ |
0x10 Digit key returns kp-digit (if numlock OFF) |
635 |
0x20 Digit key returns M-digit (if numlock OFF)\n\ |
0x20 Digit key returns M-digit (if numlock OFF) |
636 |
0x30 Digit key returns edit key (if numlock OFF)\n\ |
0x30 Digit key returns edit key (if numlock OFF) |
637 |
\n\ |
|
638 |
0x00 Grey key returns char (if numlock OFF)\n\ |
0x00 Grey key returns char (if numlock OFF) |
639 |
0x40 Grey key returns kp-key (if numlock OFF)\n\ |
0x40 Grey key returns kp-key (if numlock OFF) |
640 |
\n\ |
|
641 |
0x200 ALT-0..ALT-9 in top-row produces shifted codes."); |
0x200 ALT-0..ALT-9 in top-row produces shifted codes. */); |
642 |
dos_keypad_mode = 0x75; |
dos_keypad_mode = 0x75; |
643 |
|
|
644 |
DEFVAR_INT ("dos-keyboard-layout", &dos_keyboard_layout, |
DEFVAR_INT ("dos-keyboard-layout", &dos_keyboard_layout, |
645 |
"Contains the country code for the current keyboard layout.\n\ |
doc: /* Contains the country code for the current keyboard layout. |
646 |
Use msdos-set-keyboard to select another keyboard layout."); |
Use msdos-set-keyboard to select another keyboard layout. */); |
647 |
dos_keyboard_layout = 1; /* US */ |
dos_keyboard_layout = 1; /* US */ |
648 |
|
|
649 |
DEFVAR_INT ("dos-decimal-point", &dos_decimal_point, |
DEFVAR_INT ("dos-decimal-point", &dos_decimal_point, |
650 |
"The character to produce when kp-decimal key is pressed.\n\ |
doc: /* The character to produce when kp-decimal key is pressed. |
651 |
If non-zero, this variable contains the character to be returned when the\n\ |
If non-zero, this variable contains the character to be returned when the |
652 |
decimal point key in the numeric keypad is pressed when Num Lock is on.\n\ |
decimal point key in the numeric keypad is pressed when Num Lock is on. |
653 |
If zero, the decimal point key returns the country code specific value."); |
If zero, the decimal point key returns the country code specific value. */); |
654 |
dos_decimal_point = 0; |
dos_decimal_point = 0; |
655 |
} |
} |
656 |
#endif /* MSDOS */ |
#endif /* MSDOS */ |