LIBRARY     MMSYSTEM

DESCRIPTION 'System APIs for Multimedia'

EXETYPE     WINDOWS

PROTMODE

CODE        MOVEABLE DISCARDABLE LOADONCALL
DATA        MOVEABLE SINGLE PRELOAD


SEGMENTS
    FIX         FIXED                   PRELOAD
    INTDS  CLASS 'DATA'  FIXED          PRELOAD

    INIT        MOVEABLE DISCARDABLE    PRELOAD
    WAVE        MOVEABLE DISCARDABLE    PRELOAD    ;;for startup sound

    _TEXT       MOVEABLE DISCARDABLE    PRELOAD    ;; to save memory on 1Mb 286
;;;;_TEXT       MOVEABLE NONDISCARDABLE PRELOAD

    MCI         MOVEABLE DISCARDABLE    LOADONCALL
    MIDI        MOVEABLE DISCARDABLE    LOADONCALL
    MMIO        MOVEABLE DISCARDABLE    LOADONCALL
    RARE        MOVEABLE DISCARDABLE    LOADONCALL
    MIXER       MOVEABLE DISCARDABLE    LOADONCALL

HEAPSIZE    128

IMPORTS
        _DebugOutput            = KERNEL.328
;       _HREAD                  = KERNEL.349
;       _HWRITE                 = KERNEL.350
;       HMEMCPY                 = KERNEL.348
        LSTRCPYN                = KERNEL.353
        LocalCountFree          = KERNEL.161
        LocalHeapSize           = KERNEL.162
        GetLPErrMode            = KERNEL.99

EXPORTS
        WEP                     @1      RESIDENTNAME	;Internal
        SNDPLAYSOUND            @2
        MMSYSTEMGETVERSION      @5
        DRIVERPROC              @6      RESIDENTNAME	;Internal
;
;   driver helper functions
;
        OUTPUTDEBUGSTR          @30
        DRIVERCALLBACK          @31
        STACKENTER              @32
        STACKLEAVE              @33
        MMDRVINSTALL            @34                     ;Internal
;
; JOYSTICK interface
;
        JOYGETNUMDEVS           @101
        JOYGETDEVCAPS           @102
        JOYGETPOS               @103
        JOYGETTHRESHOLD         @104
        JOYRELEASECAPTURE       @105
        JOYSETCAPTURE           @106
        JOYSETTHRESHOLD         @107
        JOYSETCALIBRATION       @109
;
; MIDI interface
;
        MIDIOUTGETNUMDEVS       @201
        MIDIOUTGETDEVCAPS       @202
        MIDIOUTGETERRORTEXT     @203
        MIDIOUTOPEN             @204
        MIDIOUTCLOSE            @205
        MIDIOUTPREPAREHEADER    @206
        MIDIOUTUNPREPAREHEADER  @207
        MIDIOUTSHORTMSG         @208
        MIDIOUTLONGMSG          @209
        MIDIOUTRESET            @210
        MIDIOUTGETVOLUME        @211
        MIDIOUTSETVOLUME        @212
        MIDIOUTCACHEPATCHES     @213
        MIDIOUTCACHEDRUMPATCHES @214
        MIDIOUTGETID            @215
        MIDIOUTMESSAGE          @216
;
; MIDI interface
;
        MIDIINGETNUMDEVS        @301
        MIDIINGETDEVCAPS        @302
        MIDIINGETERRORTEXT      @303
        MIDIINOPEN              @304
        MIDIINCLOSE             @305
        MIDIINPREPAREHEADER     @306
        MIDIINUNPREPAREHEADER   @307
        MIDIINADDBUFFER         @308
        MIDIINSTART             @309
        MIDIINSTOP              @310
        MIDIINRESET             @311
        MIDIINGETID             @312
        MIDIINMESSAGE           @313
;
; AUX interface
;
        AUXGETNUMDEVS           @350
        AUXGETDEVCAPS           @351
        AUXGETVOLUME            @352
        AUXSETVOLUME            @353
        AUXOUTMESSAGE           @354
;
; WAVE interface
;
        WAVEOUTGETNUMDEVS       @401
        WAVEOUTGETDEVCAPS       @402
        WAVEOUTGETERRORTEXT     @403
        WAVEOUTOPEN             @404
        WAVEOUTCLOSE            @405
        WAVEOUTPREPAREHEADER    @406
        WAVEOUTUNPREPAREHEADER  @407
        WAVEOUTWRITE            @408
        WAVEOUTPAUSE            @409
        WAVEOUTRESTART          @410
        WAVEOUTRESET            @411
        WAVEOUTGETPOSITION      @412
        WAVEOUTGETPITCH         @413
        WAVEOUTSETPITCH         @414
        WAVEOUTGETVOLUME        @415
        WAVEOUTSETVOLUME        @416
        WAVEOUTGETPLAYBACKRATE  @417
        WAVEOUTSETPLAYBACKRATE  @418
        WAVEOUTBREAKLOOP        @419
        WAVEOUTGETID            @420
        WAVEOUTMESSAGE          @421

        WAVEINGETNUMDEVS        @501
        WAVEINGETDEVCAPS        @502
        WAVEINGETERRORTEXT      @503
        WAVEINOPEN              @504
        WAVEINCLOSE             @505
        WAVEINPREPAREHEADER     @506
        WAVEINUNPREPAREHEADER   @507
        WAVEINADDBUFFER         @508
        WAVEINSTART             @509
        WAVEINSTOP              @510
        WAVEINRESET             @511
        WAVEINGETPOSITION       @512
        WAVEINGETID             @513
        WAVEINMESSAGE           @514
;
; TIME interface
;
        TIMEGETSYSTEMTIME       @601
        TIMEGETTIME             @607
        TIMESETEVENT            @602
        TIMEKILLEVENT           @603
        TIMEGETDEVCAPS          @604
        TIMEBEGINPERIOD         @605
        TIMEENDPERIOD           @606
;
; MCI interface
;
        MCISENDCOMMAND          @701
        MCISENDSTRING           @702
        MCIGETDEVICEID          @703
        MCIPARSECOMMAND         @704
        MCILOADCOMMANDRESOURCE  @705
        MCIGETERRORSTRING       @706
        MCISETDRIVERDATA        @707
        MCIGETDRIVERDATA        @708
        MCIDRIVERYIELD          @710
        MCIDRIVERNOTIFY         @711
        MCIEXECUTE              @712
        MCIFREECOMMANDRESOURCE  @713
        MCISETYIELDPROC         @714
        MCIGETDEVICEIDFROMELEMENTID @715
	MCIGETYIELDPROC		@716
	MCIGETCREATORTASK	@717

;
; MIXER interface
;
      MIXERGETNUMDEVS             @800
      MIXERGETDEVCAPS             @801
      MIXEROPEN                   @802
      MIXERCLOSE                  @803
      MIXERMESSAGE                @804
      MIXERGETLINEINFO            @805
      MIXERGETID                  @806
      MIXERGETLINECONTROLS        @807
      MIXERGETCONTROLDETAILS      @808
      MIXERSETCONTROLDETAILS      @809

;
; MMTASK interface
;
        MMTASKCREATE            @900
        MMTASKBLOCK             @902
        MMTASKSIGNAL            @903
        MMGETCURRENTTASK        @904
        MMTASKYIELD             @905

;
; Driver interface
;
        DRVOPEN                 @1100
        DRVCLOSE                @1101
        DRVSENDMESSAGE          @1102
        DRVGETMODULEHANDLE      @1103
        DRVDEFDRIVERPROC        @1104
;
; MMIO
;
        MMIOOPEN                @1210
        MMIOCLOSE               @1211
        MMIOREAD                @1212
        MMIOWRITE               @1213
        MMIOSEEK                @1214
        MMIOGETINFO             @1215
        MMIOSETINFO             @1216
        MMIOSETBUFFER           @1217
        MMIOFLUSH               @1218
        MMIOADVANCE             @1219
        MMIOSTRINGTOFOURCC      @1220
        MMIOINSTALLIOPROC       @1221
        MMIOSENDMESSAGE         @1222

        MMIODESCEND             @1223
        MMIOASCEND              @1224
        MMIOCREATECHUNK         @1225
	MMIORENAME		@1226
