midibuf.h 977 B

12345678910111213141516171819202122232425262728293031323334
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Line 6 Linux USB driver
  4. *
  5. * Copyright (C) 2004-2010 Markus Grabner ([email protected])
  6. */
  7. #ifndef MIDIBUF_H
  8. #define MIDIBUF_H
  9. #define LINE6_MIDIBUF_READ_TX 0
  10. #define LINE6_MIDIBUF_READ_RX 1
  11. struct midi_buffer {
  12. unsigned char *buf;
  13. int size;
  14. int split;
  15. int pos_read, pos_write;
  16. int full;
  17. int command_prev;
  18. };
  19. extern int line6_midibuf_bytes_used(struct midi_buffer *mb);
  20. extern int line6_midibuf_bytes_free(struct midi_buffer *mb);
  21. extern void line6_midibuf_destroy(struct midi_buffer *mb);
  22. extern int line6_midibuf_ignore(struct midi_buffer *mb, int length);
  23. extern int line6_midibuf_init(struct midi_buffer *mb, int size, int split);
  24. extern int line6_midibuf_read(struct midi_buffer *mb, unsigned char *data,
  25. int length, int read_type);
  26. extern void line6_midibuf_reset(struct midi_buffer *mb);
  27. extern int line6_midibuf_write(struct midi_buffer *mb, unsigned char *data,
  28. int length);
  29. #endif