cardmo.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  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 */