home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer) / NeXT_Developer-3.3.iso / NextDeveloper / Examples / DriverKit / SoundBlaster8 / SoundBlaster8_reloc.tproj / SoundBlaster8.h < prev    next >
Encoding:
Text File  |  1994-10-07  |  1.7 KB  |  66 lines

  1. /*
  2.  * Copyright (c) 1994 NeXT Computer, Inc.  All rights reserved. 
  3.  *
  4.  * HISTORY
  5.  * 4-Mar-94    Rakesh Dubey at NeXT
  6.  *      Created. 
  7.  */
  8.  
  9. #import <driverkit/IOAudio.h>
  10. #import <driverkit/i386/ioPorts.h>
  11. #import <soundkit/NXSoundParameterTags.h>
  12.  
  13. @interface SoundBlaster8 : IOAudio
  14. {
  15. @private
  16.     unsigned int currentDMADirection;
  17.     BOOL interruptTimedOut;
  18.     unsigned int dmaDescriptorSize;      // DMA descriptor size for interrupts
  19.     BOOL isValidRequest;        // Can we do I/O of type requested?
  20. }
  21.  
  22. + (BOOL)probe: deviceDescription;
  23. - (BOOL)reset;
  24. - (void) initializeHardware;
  25.  
  26. - (BOOL) isValidRequest: (BOOL)isRead;
  27.  
  28. - (BOOL) startDMAForChannel: (unsigned int) localChannel
  29.         read: (BOOL) isRead
  30.         buffer: (IOEISADMABuffer) buffer
  31.         bufferSizeForInterrupts: (unsigned int) division;
  32.  
  33. - (void) stopDMAForChannel: (unsigned int) localChannel read: (BOOL) isRead;
  34.  
  35. - (void) interruptOccurredForInput: (BOOL *) serviceInput  
  36.                          forOutput: (BOOL *) serviceOutput;
  37.  
  38. - (void)updateSampleRate;
  39.             
  40. - (void) setBufferCount:(int)count;
  41.  
  42.  
  43. - (IOReturn)enableAllInterrupts;
  44. - (void)disableAllInterrupts;
  45.  
  46. - (BOOL)acceptsContinuousSamplingRates;
  47.  
  48. - (void)getSamplingRatesLow:(int *)lowRate
  49.                                          high:(int *)highRate;
  50.  
  51. - (void)getSamplingRates:(int *)rates
  52.                                 count:(unsigned int *)numRates;
  53.  
  54. - (void)getDataEncodings: (NXSoundParameterTag *)encodings
  55.                                 count:(unsigned int *)numEncodings;
  56.  
  57. - (unsigned int)channelCountLimit;
  58.  
  59. - (void) updateInputGainLeft;
  60. - (void) updateInputGainRight;
  61. - (void) updateOutputMute;
  62. - (void) updateOutputAttenuationLeft;
  63. - (void) updateOutputAttenuationRight;
  64.  
  65. @end
  66.