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