Annotation of ntddk/src/mmedia/soundlib/inc/midi.h, revision 1.1

1.1     ! root        1: /*++ BUILD Version: 0001    // Increment this if a change has global effects
        !             2: 
        !             3: 
        !             4: Copyright (c) 1992  Microsoft Corporation
        !             5: 
        !             6: Module Name:
        !             7: 
        !             8:     midi.h
        !             9: 
        !            10: Abstract:
        !            11: 
        !            12:     This include file defines common structures for midi drivers
        !            13: 
        !            14: Author:
        !            15: 
        !            16:     Robin Speed (RobinSp) 17-Oct-92
        !            17: 
        !            18: Revision History:
        !            19: 
        !            20: --*/
        !            21: 
        !            22: //
        !            23: // Hardware interface routine type for Midi processing
        !            24: //
        !            25: 
        !            26: 
        !            27: struct _MIDI_INFO;
        !            28: typedef BOOLEAN MIDI_INTERFACE_ROUTINE(struct _MIDI_INFO *);
        !            29: typedef MIDI_INTERFACE_ROUTINE *PMIDI_INTERFACE_ROUTINE;
        !            30: 
        !            31: 
        !            32: typedef struct _MIDI_INFO {
        !            33:     ULONG           Key;               // Debugging
        !            34: 
        !            35: #define MIDI_INFO_KEY       (*(ULONG *)"Midi")
        !            36: 
        !            37:     KSPIN_LOCK      DeviceSpinLock;     // spin lock for synchrnonizing with
        !            38:                                         // Dpc routine
        !            39: #if DBG
        !            40:     BOOLEAN         LockHeld;           // Get spin locks right
        !            41: #endif
        !            42: 
        !            43:     LARGE_INTEGER   RefTime;            // Time in 100ns units when started
        !            44:     LIST_ENTRY      QueueHead;          // queue of input buffers
        !            45:     PVOID           HwContext;
        !            46:     PMIDI_INTERFACE_ROUTINE
        !            47:                     HwStartMidiIn,      // Start device
        !            48:                     HwStopMidiIn;       // stop device
        !            49:     BOOLEAN      (* HwMidiRead)(        // Read a byte - returns TRUE if
        !            50:                                         // got one.
        !            51:                         struct _MIDI_INFO *, PUCHAR);
        !            52:     VOID         (* HwMidiOut)(         // Output  bytes to the device
        !            53:                         struct _MIDI_INFO *, PUCHAR, int);
        !            54:     BOOLEAN         fMidiInStarted;     // Midi input active
        !            55:     UCHAR           InputPosition;      // Number of bytes in buffer
        !            56:     UCHAR           InputBytes;         // Number of bytes available
        !            57:     UCHAR           MidiInputByte[64];  // Input byte(s) rececived - and
        !            58:                                         // do a little buffering
        !            59: } MIDI_INFO, *PMIDI_INFO;
        !            60: 
        !            61: VOID SoundInitMidiIn(
        !            62:     IN OUT PMIDI_INFO pMidi,
        !            63:     IN     PVOID HwContext
        !            64: );

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.