cardmo.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. **********************************************************************
  3. * cardmo.h
  4. * Copyright 1999, 2000 Creative Labs, Inc.
  5. *
  6. **********************************************************************
  7. *
  8. * Date Author Summary of changes
  9. * ---- ------ ------------------
  10. * October 20, 1999 Bertrand Lee base code release
  11. * November 2, 1999 Alan Cox cleaned up
  12. *
  13. **********************************************************************
  14. *
  15. * This program is free software; you can redistribute it and/or
  16. * modify it under the terms of the GNU General Public License as
  17. * published by the Free Software Foundation; either version 2 of
  18. * the License, or (at your option) any later version.
  19. *
  20. * This program is distributed in the hope that it will be useful,
  21. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  22. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  23. * GNU General Public License for more details.
  24. *
  25. * You should have received a copy of the GNU General Public
  26. * License along with this program; if not, write to the Free
  27. * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
  28. * USA.
  29. *
  30. **********************************************************************
  31. */
  32. #ifndef _CARDMO_H
  33. #define _CARDMO_H
  34. #include "icardmid.h"
  35. #include <linux/interrupt.h>
  36. #define CARDMIDIOUT_STATE_DEFAULT 0x00000000
  37. #define CARDMIDIOUT_STATE_SUSPEND 0x00000001
  38. struct emu10k1_mpuout
  39. {
  40. u32 status;
  41. u32 state;
  42. volatile int intr;
  43. struct midi_queue *firstmidiq;
  44. struct midi_queue *lastmidiq;
  45. u8 laststatus;
  46. struct tasklet_struct tasklet;
  47. spinlock_t lock;
  48. struct midi_openinfo openinfo;
  49. };
  50. int emu10k1_mpuout_open(struct emu10k1_card *, struct midi_openinfo *);
  51. int emu10k1_mpuout_close(struct emu10k1_card *);
  52. int emu10k1_mpuout_add_buffer(struct emu10k1_card *, struct midi_hdr *);
  53. int emu10k1_mpuout_irqhandler(struct emu10k1_card *);
  54. void emu10k1_mpuout_bh(unsigned long);
  55. #endif /* _CARDMO_H */