]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/MODE/MODECPRO.INC

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / CMD / MODE / MODECPRO.INC
1 ; MODECPRO.INC - INCLUDED BY MODECP.SAL \ f
2 ;****************** START OF SPECIFICATIONS *****************************
3 ; MODULE NAME: MODECP
4
5 ; DESCRIPTIVE NAME: MODE, CODEPAGE HANDLER
6
7 ;FUNCTION: Manages the codepage file, sending it to the
8 ; device when a DESIGNATE is requested, telling
9 ; the device which FONT to select when ACTIVATE
10 ; is requested, and displaying the font status
11 ; of the device when QUERY is requested.
12
13 ; NOTES:
14 ; This module should be processed with the SALUT pre-processor
15 ; with re-allignment not requested, as:
16
17 ; SALUT MODECP,NUL,;
18
19
20 ; ENTRY POINT: MODECP
21 ; LINKAGE: CALL MODECP
22
23 ; INPUT: As defined by the "CODEPAGE_PARMS" STRUC.
24 ; All four segregs are expected to point to the one common
25 ; segment, called PRINTF_CODE.
26
27 ; EXIT-NORMAL: ERRORLEVEL 0 - Successful completion
28
29 ; EXIT-ERROR: ERRORLEVEL 1 - An error message is also displayed
30
31 ; EFFECTS:
32
33 ; INTERNAL REFERENCES:
34 ; ROUTINES:
35 ; MODECP - HANDLES ALL PROCESSING FOR THE CODEPAGE SUPPORT IN MODE
36 ; SET_DEV_TYPE - SCANS LIST OF DEVICES FOR SPECIFIED DEVICE
37 ; SET_GLOBAL_CODEPAGE - DEVICE IS "*", INVOKE OR QUERY GLOBAL CODEPAGE
38 ; FUNCTION_SELECT - DETERMINES FUNCTION TO BE PERFORMED, DESIGNATE,QUERY,INVOKE
39 ; DO_DESIGNATE - PERFORMS START DESIGNATE, DOWNLOAD FONT FILE, DESIGNATE END
40 ; DES_START - HANDLES DETAILS OF START DESIGNATE FUNCTION
41 ; DES_START_ERROR - DIAGNOSES ERRORS FROM DESIGNATE START
42 ; MOVE_FILE - HANDLES DETAILS OF DOWNLOADING THE FONT FILE TO DEVICE
43 ; DES_END - HANDLES DETAILS OF DESIGNATE END FUNCTION
44 ; DO_INVOKE - HANDLES DETAILS OF INVOKE FUNCTION
45 ; DO_STATUS - INTERROGATES DEVICE FOR CODEPAGE STATUS
46 ; QUERY_ERROR - DISGNOSES ERRORS FROM QUERY REQUEST
47 ; DISPLAY_CPID - DISPLAYS THE CODEPAGE ID AS PART OF STATUS REPORT
48 ; SEND_MSG - SET UP ALL ERROR MESSAGES TO BE DISPLAYED
49 ; QUEUE - HANDLES INTERFACE TO "PRINTF" FOR ALL MESSAGES
50 ; EX_ERR - DOSCALL RESULTED IN CARRY, SO GO FIND OUT THE EXTENDED ERROR
51 ; DO_GENERIC_IOCTL - PROCESS ALL GENERIC IOCTL CALLS TO THE DEVICE
52 ;
53
54 ; DATA AREAS:
55 ; WORKAREA - Temporary storage
56
57 ; EXTERNAL REFERENCES:
58 ; ROUTINES:
59 ; PRINTF - Uses the MSG parm lists to construct the messages
60 ; on STDOUT, on on STDERR.
61
62 ; DATA AREAS: A large buffer is allocated from free memory, if available.
63
64 ; COPYRIGHT: The copyright notice is found in the OBJ code generated from
65 ; the "MAIN.ASM" module of the MODE component of the DOS utility.
66
67 ;****************** END OF SPECIFICATIONS *****************************
68 IF1
69 %OUT INCLUDE MODECPRO.INC ;MODULE PROLOGUE
70 ENDIF
71
72 ;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ P R O L O G ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
73 ;º º
74
75 ; AX001 - P3976: Need to have all pieces of messages in MODE.SKL so have to
76 ; implement the SYSGETMSG method of getting addressability to
77 ; the pieces. This means that the code does a SYSGETMSG call
78 ; which returns a pointer (DS:SI) to the message piece. The
79 ; address is then put in the sublist block for the message
80 ; being issued.
81
82 ; AX002 - P4576 Segments were being trashed before calling message services
83 ; because device type was wrong on IOCTL call because ES was
84 ; zero when using CMPSB in SET_DEV_TYPE and no match was made.
85
86 ;º º
87 ;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ P R O L O G ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
88