home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional Developers Kit 1992 November / Disc01 / Disc01.mdf / mmpm2tk / mmpmtlk2 / admct / admcfunc.h < prev    next >
Encoding:
Text File  |  1992-05-06  |  5.7 KB  |  170 lines

  1. /*static char *SCCSID = "@(#)admcfunc.h    13.6 92/04/15";*/
  2. /********************** START OF SPECIFICATIONS ****************************
  3. *
  4. *   SOURCE FILE NAME:   ADMCFUNC.H
  5. *
  6. *   DESCRIPTIVE NAME: mci Waveform Driver include file.
  7. *
  8. *              Copyright (c) IBM Corporation  1991
  9. *                        All Rights Reserved
  10. *
  11. *   STATUS: MM Extensions 1.0
  12. *
  13. *   FUNCTION: Component function Prototypes.
  14. *
  15. *
  16. *   NOTES:
  17. *
  18. *       DEPENDENCIES:
  19. *
  20. *   EXTERNAL ENTRY POINTS: None.
  21. *   INTERNAL ENTRY POINTS: None.
  22. *
  23. *   EXTERNAL REFERENCES (system):
  24. *
  25. *   MODIFICATION HISTORY:
  26. *   DATE        DEVELOPER           CHANGE DESCRIPTION
  27. *****************************************************************************/
  28.  
  29. /***********************************************
  30. * MCI Message Support Functions
  31. ***********************************************/
  32. RC   MCIStat (FUNCTION_PARM_BLOCK *);// Status
  33. RC   MCIOpen (FUNCTION_PARM_BLOCK *);// Open
  34. RC   MCICue  (FUNCTION_PARM_BLOCK *);// Cue
  35. RC   MCIPlay (FUNCTION_PARM_BLOCK *);// Play
  36. RC   MCIRecd (FUNCTION_PARM_BLOCK *);// Record
  37. RC   MCIPaus (FUNCTION_PARM_BLOCK *);// Pause
  38. RC   MCIClos (FUNCTION_PARM_BLOCK *);// Close
  39. RC   MCISet  (FUNCTION_PARM_BLOCK *);// Set
  40. RC   MCIScpt (FUNCTION_PARM_BLOCK *);// Set Cue Point
  41. RC   MCISeek (FUNCTION_PARM_BLOCK *);// Seek
  42. RC   MCIStop (FUNCTION_PARM_BLOCK *);// Stop
  43. RC   MCILoad (FUNCTION_PARM_BLOCK *);// Load
  44. RC   MCIInfo (FUNCTION_PARM_BLOCK *);// Info
  45. RC   MCIResm (FUNCTION_PARM_BLOCK *);// Resume
  46. RC   MCISave (FUNCTION_PARM_BLOCK *);// Save
  47. RC   MCIRest (FUNCTION_PARM_BLOCK *);// Restore
  48. RC   MCIMsvl (FUNCTION_PARM_BLOCK *);// Master Volume
  49. RC   MCISync (FUNCTION_PARM_BLOCK *);// Sync Offset
  50. RC   MCISavf (FUNCTION_PARM_BLOCK *);// Save File
  51. RC   MCICnct (FUNCTION_PARM_BLOCK* );// Connectors
  52. RC   MCIStpa (FUNCTION_PARM_BLOCK *);// Set Position Advise
  53. RC   MCISaveFile (FUNCTION_PARM_BLOCK *);// Save Element
  54. RC   MCICaps (FUNCTION_PARM_BLOCK *, ULONG);// Get Device Capabilities
  55.  
  56. /***************************************
  57. * Post MCI Notification Messages
  58. ***************************************/
  59.  
  60. RC PostMDMMessage (ULONG ,USHORT,FUNCTION_PARM_BLOCK *);
  61.  
  62. /************************
  63. * Element I/O
  64. ************************/
  65. RC OpenFile (INSTANCE *, DWORD);      // Open Media Element
  66.  
  67. RC InstallIOProc (ULONG, MMIOINFO *); // Install IO Proc
  68.  
  69. RC GetAudioHeader (INSTANCE *);       // Get Audio Header
  70.  
  71. RC SetAudioHeader (INSTANCE *);       // Set Audio Header
  72.  
  73. /************************************************
  74. * Streaming Support Functions
  75. ***********************************************/
  76.  
  77. RC CreateNAssocStream (HID,              /* Source Handler HID */
  78.                        HID,              /* Target Handler HID */
  79.                        HSTREAM *,        /* Stream Handle ()   */
  80.                        INSTANCE *,       /* Instance Pointer   */
  81.                        ULONG,            /* Play or Record     */
  82.                        PEVFN);           /* Event Handler      */
  83.  
  84. RC DestroyStream (HSTREAM ); // Destroy Stream.
  85.  
  86. RC AssocMemPlayToAudioStrm (INSTANCE *,ULONG ); // PlayList Support
  87.  
  88. RC DoTillEvent (INSTANCE *, DWORD); // Enable Event
  89.  
  90. RC APIENTRY ReEventProc (MEVCB *);// Record Stream EventProc
  91.  
  92. RC APIENTRY PlEventProc (MEVCB *);// Play Stream EventProc
  93.  
  94. RC StartRecord (FUNCTION_PARM_BLOCK *); // Start Record Stream
  95.  
  96. RC StartPlay (FUNCTION_PARM_BLOCK *);   // Start Play Stream
  97.  
  98. RC StartSave (FUNCTION_PARM_BLOCK * ); // Start Save function
  99.  
  100. /******************************************
  101. * Audio Device Support Functions
  102. ******************************************/
  103.  
  104. RC InitAudioDevice (INSTANCE *,ULONG ); // Open The Audio Device
  105.  
  106. RC SetAmpDefaults (INSTANCE *);//Set Amp/Mixer Default Values.
  107.  
  108. RC SetAudioDevice (INSTANCE *, LPMCI_WAVE_SET_PARMS, ULONG );// Change device
  109.  
  110. VOID SetWaveDeviceDefaults (INSTANCE *, ULONG);// Set Wave device defaults
  111.  
  112. VOID VSDInstToWaveSetParms (LPMCI_WAVE_SET_PARMS, INSTANCE *); // Swap Data
  113.  
  114. RC GetPDDName (ULONG , CHAR []);
  115.  
  116.  
  117. /********************************************
  118. * Instance Management, Parameter Checking..
  119. ********************************************/
  120.  
  121.  
  122. RC CheckFlags (ULONG); // Check MCI Flags
  123.  
  124. RC CleanUp (PVOID); // Release Memory
  125.  
  126. DWORD CheckMem (PVOID, ULONG, ULONG); // Check  Valid Mem
  127.  
  128. RC AllocNCopyMessageParmMem (USHORT,FUNCTION_PARM_BLOCK *,
  129.                                 ULONG, USHORT);// Memory Allocation
  130.  
  131. RC ReportMMEErrors (USHORT ,FUNCTION_PARM_BLOCK *); // Error Checking
  132.  
  133.  
  134. RC ReleaseInstanceMemory (FUNCTION_PARM_BLOCK *);  // Free Instance Mem
  135.  
  136. /*********************************
  137. * Time Format Support
  138. *********************************/
  139.  
  140. RC ConvertTimeUnits (INSTANCE *, DWORD *, DWORD); // To Current Base
  141.  
  142. RC ConvertToMM (INSTANCE *, DWORD *, DWORD); // To MMTIME
  143.  
  144. /*********************************
  145. * Tasking Support
  146. *********************************/
  147. RC AbortWaitOperation (INSTANCE *); // Release Wait Block
  148.  
  149. DWORD MCD_EnterCrit (INSTANCE *);  // Acquire Mutex Sem
  150.  
  151. DWORD MCD_ExitCrit (INSTANCE *);  // Release Mutex Sem
  152.  
  153. DWORD AcquireProcSem ();  // Acquire Global Proc Sem
  154.  
  155. DWORD ReleaseProcSem ();  // Release Global Proc Sem
  156.  
  157. /***********************************
  158. * Debug information
  159. ************************************/
  160.  
  161.  
  162. /*****************************
  163. * MCI Driver Entry Point
  164. *****************************/
  165. RC    EXPENTRY mciDriverEntry (LPTR,    /* Instance Pointer  */
  166.                                USHORT,   /* MCI Message       */
  167.                                ULONG,    /* MCI Flags         */
  168.                                ULONG,    /* Data For This Msg */
  169.                                USHORT);  /* User Parameter    */
  170.