;/*static char *SCCSID = "@(#)doscall1.def      6.6 92/02/29";*/
;       IBM/Microsoft Confidential
;
;       Copyright (c) IBM Corporation 1987, 1992
;       Copyright (c) Microsoft Corporation 1987, 1992
;
;       All Rights Reserved

LIBRARY DOSCALL1 INITINSTANCE TERMGLOBAL
PROTMODE
ROBASE=0x1BF80000
SYSBASE=  0x13F90000

DATA    NONSHARED

; Note: Due to the way link386 handles empty segments, the following list is
; position dependent.  Leave DOSSUBCODE and 'DATA' where they are, otherwise
; DATA32 will get grouped into a code segment.  If you change this, check the
; map file and insure that DATA32 is put into the DATA class.
; Leave INITSTK where it is so that it is the first segment in DGROUP.
; If this is done, then it will be easy to detect when there is not enough
; stack space for the initialzation code because a trap C will occur if the
; stack should ever overflow.  If this is not done, the stack will overwrite
; whatever is placed before it in DGROUP if it should ever overflow (this
; may go unnoticed until it is too late).
;
;***  Change History:                                             ***
;***   noto  01/10/94  Define which segments for Page Tuning DLL  ***
;***                                                              ***

SEGMENTS

        DOSSUBCODE      CLASS 'CODE'      IOPL

        CODE32_TUNE1    CLASS 'CODE'                                    ;MDLL
        CODE32_TUNE2    CLASS 'CODE'                                    ;MDLL
        CODE32_TUNE3    CLASS 'CODE'                                    ;MDLL
        CODE32_TUNE4    CLASS 'CODE'                                    ;MDLL
        CODE32          CLASS 'CODE'
        _TX32           CLASS 'CODE'

        INITCODE        CLASS 'CODE'      IOPL CONFORMING
        _MSGSEG         CLASS 'CODE'      IOPL CONFORMING
        CODE16C_TUNE1   CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CODE_TUNE1      CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CODE16C_TUNE2   CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CODE_TUNE2      CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CODE16C_TUNE3   CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CODE16C_TUNE4   CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CODE_TUNE4      CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        'CODE'          CLASS 'CODE'      IOPL CONFORMING
        CODE16C         CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        _TEXT           CLASS 'CODE'      IOPL CONFORMING

        CODE16_TUNE1    CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CTEXT_TUNE2     CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CTEXT_TUNE4     CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CTEXT_TUNE5     CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CTEXT           CLASS 'CODE'      IOPL CONFORMING               ;MDLL
        CODE16          CLASS 'CODE'      IOPL CONFORMING               ;MDLL

        SHRDATA         CLASS 'DATA'      SHARED
        INITSEG         CLASS 'DATA'      SHARED
        DBCSEG          CLASS 'DATA'      SHARED
        MSGSEG          CLASS 'DATA'      SHARED
        RDATA           CLASS 'DATA'      SHARED                        ;MDLL

        INITSTK         CLASS 'DATA'
        'DATA'          CLASS 'DATA'
        DATA16          CLASS 'DATA'
        ISEG            CLASS 'DATA'
        DSEG            CLASS 'DATA'
        CONST16         CLASS 'CONST'
        BSS16           CLASS 'BSS'
        _DATA           CLASS 'DATA'      MIXED1632
        CONST           CLASS 'CONST'     MIXED1632
        _BSS            CLASS 'BSS'       MIXED1632
        DATA16E         CLASS 'END_DATA'

        DATA32          CLASS 'DATA'      MIXED1632
        _DT32           CLASS 'DATA'      MIXED1632
        DATA32          CLASS 'FAR_DATA'  MIXED1632
        DATA32_CONST    CLASS 'FAR_DATA'  MIXED1632
        DATA32_BSS      CLASS 'FAR_DATA'  MIXED1632

;-----------------------------------------------------------------------
; OS2CHAR must be last, in order to insure _end_CDATA is the
; last element in the OS2CHAR segment
;-----------------------------------------------------------------------

        OS2CHAR_CONST   CLASS 'FAR_DATA'  SHARED                        ;MDLL
        OS2CHAR_BSS     CLASS 'FAR_DATA'  SHARED                        ;MDLL
        OS2CHAR         CLASS 'FAR_DATA'  SHARED                        ;MDLL

;-----------------------------------------------------------------------
; OS2CHAR_I must be last, in order to insure _end_IDATA is the
; last element in the OS2CHAR_I segment
;-----------------------------------------------------------------------

        OS2CHAR_I_CONST CLASS 'FAR_DATA'  NONSHARED                     ;MDLL
        OS2CHAR_I_BSS   CLASS 'FAR_DATA'  NONSHARED                     ;MDLL
        OS2CHAR_I       CLASS 'FAR_DATA'  NONSHARED                     ;MDLL

        QSETSEG1_DATA   CLASS 'FAR_DATA'  SHARED                        ;MDLL
        QSETSEG2_DATA   CLASS 'FAR_DATA'  SHARED                        ;MDLL
