; This file is changed at build time, by replacing the #n entries as follows
;
;    #n, n=1 is the Module Versioning ID
;          2 is the type of build (debug | dekko | retail)

LIBRARY IBMVGA32 INITINSTANCE
DESCRIPTION '#1 #2 VGA OS/2 PM Display Driver Library'

STACKSIZE 4096
;HEAPSIZE  16384

DATA PRELOAD

SEGMENTS
   _CODE             CLASS 'CODE'               PRELOAD IOPL CONFORMING
   _TUNE             CLASS 'CODE'               PRELOAD IOPL CONFORMING
   _TUNE3            CLASS 'CODE'               PRELOAD IOPL CONFORMING
   _TUNE2            CLASS 'CODE'               PRELOAD IOPL CONFORMING
   _TEXT             CLASS 'CODE'               PRELOAD IOPL CONFORMING
   _DATA         CLASS 'DATA'               PRELOAD
;  _Text16 is used in thunks
   _Text16       CLASS 'CODE'               PRELOAD IOPL CONFORMING
;  _CODE16 is used in thunks
   _CODE16       CLASS 'CODE'               PRELOAD IOPL CONFORMING
   _INSTANCEDATA CLASS 'INSTDATA' NONSHARED PRELOAD

ROBASE = 0x1B740000
BASE   = 0x13A60000

EXPORTS
    MoveCursorDescription           @103
    OS2_PM_DRV_ENABLE               @1      RESIDENTNAME
    OS2_PM_DRV_ENABLE_LEVELS        @998
    OS2_PM_DRV_RING_LEVELS          @999
;;    CheckCursor                     @104
;SEAMLESS
    SEAMLESSTERMINATE               @350    RESIDENTNAME    2

;General Services
    private_alloc                   @1000
    private_free                    @1001
    enter_driver                    @1002
    leave_driver                    @1003
    save_that_error                 @1004
    perform_rip                     @1005
    ddc_validate                    @1006
    enter_driver_sem                @1007
    GetVRAMR0Pointer                @1008
    check_bitmap_info               @1009
    ring3_CriticalError             @1010
    InnerAccumulateBounds           @1014
    correlate_for_point_si          @1016
    enter_driver_sem_only           @1017
    leave_driver_sem_only           @1018
    do_sl_corr                      @1019
    Bitblt                          @1020
    check_sem                       @1029
    get_clip_rects                  @1031
    ShortlineCorrelate              @1032
    far_clip_line                   @1033
    ComputeShortlineBounds          @1034
    do_bitblt                       @1036
    do_exttextout                   @1037
;SEAMLESS
    hWinVDD                         @1038
    fSeamless                       @1039
    do_stretchblt                   @1040
    do_drawbits                     @1041
    save_that_warning               @1042
    DrawImageRect                   @1200
    enumerate_clip_rects            @1201
    Force_Valid_CP                  @1202
;DATA
    pVRAMInstance                   @2003
    selDeathToUse                   @2004
    wDisplay                        @2006
    fGrimReaper                     @2008
    hVideoVDD                       @2009
    bVGAtype                        @2010
    bModel                          @2011
    bSubModel                       @2012
    ss_height                       @2201
    ss_p_frame                      @2202
    ss_draw                         @2203
    ss_num_chars                    @2204
    ss_phases                       @2205
    ss_draw_clipped                 @2206
    ss_next_scan                    @2207
    ss_clip_mask                    @2208
    ss_colors                       @2209
    yOffScreenScan                  @2211
    lnbTotalScreenSize              @2213
    pOffScreenUsed                  @2214
    nbOffScreenUsed                 @2216
    pOffScreenScan                  @2217
    DEF_FMIX_LINE                   @2220
    DEF_FMIX_CHAR                   @2221
    DEF_FMIX_IMAGE                  @2222
    DEF_FMIX_PATTERN                @2223
    DEF_FMIX_MARKER                 @2224
    DEF_BMIX_MARKER                 @2225
    DEF_BMIX_LINE                   @2226
    DEF_BMIX_IMAGE                  @2227
    DEF_BMIX_PATTERN                @2228
    DEF_BMIX_CHAR                   @2229
    DEF_LINE_TYPE                   @2230
    DEF_LINE_MASK                   @2231
    DEF_LINE_ERROR                  @2232
    DEF_FONT_FS_FLAGS               @2233
    DEF_FB_IMAGE                    @2234
    DEF_FB_PATTERN                  @2235
    DEF_FB_MARKER                   @2236
    DEF_FB_LINE                     @2237
    DEF_FB_CHAR                     @2238
    DEF_LOG_FORE_CLR                @2239
    DEF_LOG_BACK_CLR                @2240
    DEF_PATTERN_FS_FLAGS            @2241
    DEF_PATTERN_FB_FLAGS            @2242
    DEF_PATTERN_CODE_POINT          @2243
    DEF_MARKER_CODE_POINT           @2244
    DEF_MARKER_FS_FLAGS             @2245
    DEF_MARKER_FB_FLAGS             @2246
    apfnOurDispatch                 @2247
    Vga32Callback                   @2248
;SEAMLESS
    SM_WINDRV                       @2249
    default_vio_cpid                @2250
    wSVGAtype                       @2251

;THUNKS
    Vio32SetState                   @3000
    Vio32SetMode                    @3001
    pdcGlobal                       @3002

;DCAF
     pelbuffer                       @4000
     pfnDefGetRegionBox              @4001
     DecompressScreenBits            @4002
     pfnDefCombineRectRegion         @4003
     pfnDefGetRegionRects            @4004
     pfnDefSetRectRegion             @4005
     SeamlessExcludeCursor           @4007
     SeamlessCodeEnd                 @4008
     SeamlessSCA                     @4009
     ulGlobalCOMFlags                @4010

IMPORTS
;Device Specific Driver Imports
    init_hw_regs                    =IBMDEV32.4000
    OEMBitblt                       =IBMDEV32.4001
    bmc_int_to_ext                  =IBMDEV32.4002
    bmc_ext_to_int                  =IBMDEV32.4003
    rgb_to_ipc                      =IBMDEV32.4004
    fill_pattern_empty_bits         =IBMDEV32.4005
    synthesize_mono_bits            =IBMDEV32.4008
    ColorConvert                    =IBMDEV32.4009
    rotate_brush                    =IBMDEV32.4010
    physical_enable                 =IBMDEV32.4011
    physical_disable                =IBMDEV32.4012
    device_specific_init            =IBMDEV32.4013
    device_specific_post_init       =IBMDEV32.4014
    synthesize_xparent_mask         =IBMDEV32.4015
    synthesize_color_bits           =IBMDEV32.4016
    copy_bits_to_pattern            =IBMDEV32.4017
    OEMStretchBlt                   =IBMDEV32.4020
    OEMDrawBits                     =IBMDEV32.4021
    InitTonysBarNGrill              =IBMDEV32.4022
    PolyShortLine                   =IBMDEV32.4023
    ExtTextOut                      =IBMDEV32.4024
    abc_extent                      =IBMDEV32.4025
    SaveScreenBits                  =IBMDEV32.4026
    worst_case_ext                  =IBMDEV32.4027
    PolyScanline                    =IBMDEV32.4028
    do_polylines                    =IBMDEV32.4029
    RestoreScreenBits               =IBMDEV32.4030
    polyline_workhorse_routine      =IBMDEV32.4031
    polyline_init                   =IBMDEV32.4032
    polyline_background_init        =IBMDEV32.4033
    Pixel                           =IBMDEV32.4034
    ipc_to_index                    =IBMDEV32.4035
    enum_dispatch                   =IBMDEV32.4036
    far_exclude                     =IBMDEV32.4037
    far_unexclude                   =IBMDEV32.4038
    SetColorCursor                  =IBMDEV32.4039
    DeviceSetCursor                 =IBMDEV32.4040
    SetScreenBusy                   =IBMDEV32.4041
    InnerCheckCursor                =IBMDEV32.4042
    dither_brush                    =IBMDEV32.4043
    CharRect                        =IBMDEV32.4200
    CharStr                         =IBMDEV32.4201
    DeviceSetAVIOFont2              =IBMDEV32.4202
    InterpretAttributes             =IBMDEV32.4203
    ScrollRect                      =IBMDEV32.4204
    UpdateCursor                    =IBMDEV32.4205
    DeviceSeamlessInit              =IBMDEV32.4206
;DCAF
;    GetScreenBits                   =IBMDEV32.4207
;    SetScreenBits                   =IBMDEV32.4208
;    UnPackBuffer                    =IBMDEV32.4209

;DATA
    abBasePatterns                  =IBMDEV32.5003
    adDitherPatterns                =IBMDEV32.5004
    ddcInit                         =IBMDEV32.5012
    rddcInit                        =IBMDEV32.5014
    sdScreen                        =IBMDEV32.5015
    gsspScreen                      =IBMDEV32.5016
    cResource                       =IBMDEV32.5017
    defFontChar                     =IBMDEV32.5018
    pbmcDev                         =IBMDEV32.5019
    pbmcMono                        =IBMDEV32.5020
    pbmcColor                       =IBMDEV32.5021
    cDevVioCells                    =IBMDEV32.5022
    adDevVioCells                   =IBMDEV32.5023
    adDevCapsData                   =IBMDEV32.5024
    sdIC                            =IBMDEV32.5025
    padBitmapFormats                =IBMDEV32.5026
    COUNT_DEV_CAPS_DATA             =IBMDEV32.5027
    aipcLookup                      =IBMDEV32.5028
    DEVCAPS_COLORS                  =IBMDEV32.5030
    DEF_IPC_FORE_CLR                =IBMDEV32.5031
    SCREEN_CX                       =IBMDEV32.5032
    SCREEN_CY                       =IBMDEV32.5033
    DEF_IPC_BACK_CLR                =IBMDEV32.5034
    DEVCAPS_VERTICAL_RESOLUTION     =IBMDEV32.5035
    DEF_LINE_STEP_X                 =IBMDEV32.5036
    DEF_LINE_STEP_Y                 =IBMDEV32.5037
    DEVCAPS_HORIZONTAL_RESOLUTION   =IBMDEV32.5038
    SCREEN_CBSCAN                   =IBMDEV32.5039
    SCREEN_DSCAN                    =IBMDEV32.5040
    MCDevice                        =IBMDEV32.5041
    SCREEN_SDFB                     =IBMDEV32.5042
    IC_SDFB                         =IBMDEV32.5043
    apfnDevDefDispatch              =IBMDEV32.5044
    tblDevHooks                     =IBMDEV32.5045
    fbShadowFlags                   =IBMDEV32.5047
    fControllerOwned                =IBMDEV32.5048
    fControllerNotify               =IBMDEV32.5049
    fVDMControllerMine              =IBMDEV32.5050
    fControllerMine                 =IBMDEV32.5051
    fbOffScreen                     =IBMDEV32.5052
;SEAMLESS
    SM_PMDISP_ADDRESSES             =IBMDEV32.5053
    SM_SETSIZE                      =IBMDEV32.5055
    drqVideo                        =IBMDEV32.5054
    CellBLTBlock                    =IBMDEV32.5200
    alloc_brush                     =IBMDEV32.5201
    free_brush                      =IBMDEV32.5202
    copy_brush                      =IBMDEV32.5203
;PALMAN
    QueryRealColors                 =IBMDEV32.5300
    QueryColorIndex                 =IBMDEV32.5301
    QueryNearestColor               =IBMDEV32.5302
    QueryColorData                  =IBMDEV32.5303
    UnrealizeColorTable             =IBMDEV32.5304
    RealizeColorTable               =IBMDEV32.5305
    deselect_lct                    =IBMDEV32.5306
    QueryLogColorTable              =IBMDEV32.5307
    save_lct                        =IBMDEV32.5308
    QueryRGBColor                   =IBMDEV32.5309
    CreateLogColorTable             =IBMDEV32.5310
    PropagateSysClrChange           =IBMDEV32.5311
    MakeColorsValid                 =IBMDEV32.5312
    MakeBrushValid                  =IBMDEV32.5313
    MakePassedColorsValid           =IBMDEV32.5314
    device_enter_driver             =IBMDEV32.5315
    ResetLogColorTable              =IBMDEV32.5316

PROTMODE
