Lines Matching refs:this

41 static int midibuf_is_empty(struct midi_buffer *this)  in midibuf_is_empty()  argument
43 return (this->pos_read == this->pos_write) && !this->full; in midibuf_is_empty()
46 static int midibuf_is_full(struct midi_buffer *this) in midibuf_is_full() argument
48 return this->full; in midibuf_is_full()
51 void line6_midibuf_reset(struct midi_buffer *this) in line6_midibuf_reset() argument
53 this->pos_read = this->pos_write = this->full = 0; in line6_midibuf_reset()
54 this->command_prev = -1; in line6_midibuf_reset()
57 int line6_midibuf_init(struct midi_buffer *this, int size, int split) in line6_midibuf_init() argument
59 this->buf = kmalloc(size, GFP_KERNEL); in line6_midibuf_init()
61 if (this->buf == NULL) in line6_midibuf_init()
64 this->size = size; in line6_midibuf_init()
65 this->split = split; in line6_midibuf_init()
66 line6_midibuf_reset(this); in line6_midibuf_init()
70 int line6_midibuf_bytes_free(struct midi_buffer *this) in line6_midibuf_bytes_free() argument
73 midibuf_is_full(this) ? in line6_midibuf_bytes_free()
75 (this->pos_read - this->pos_write + this->size - 1) % this->size + in line6_midibuf_bytes_free()
79 int line6_midibuf_bytes_used(struct midi_buffer *this) in line6_midibuf_bytes_used() argument
82 midibuf_is_empty(this) ? in line6_midibuf_bytes_used()
84 (this->pos_write - this->pos_read + this->size - 1) % this->size + in line6_midibuf_bytes_used()
88 int line6_midibuf_write(struct midi_buffer *this, unsigned char *data, in line6_midibuf_write() argument
95 if (midibuf_is_full(this) || (length <= 0)) in line6_midibuf_write()
104 bytes_free = line6_midibuf_bytes_free(this); in line6_midibuf_write()
110 length1 = this->size - this->pos_write; in line6_midibuf_write()
114 memcpy(this->buf + this->pos_write, data, length); in line6_midibuf_write()
115 this->pos_write += length; in line6_midibuf_write()
119 memcpy(this->buf + this->pos_write, data, length1); in line6_midibuf_write()
120 memcpy(this->buf, data + length1, length2); in line6_midibuf_write()
121 this->pos_write = length2; in line6_midibuf_write()
124 if (this->pos_write == this->pos_read) in line6_midibuf_write()
125 this->full = 1; in line6_midibuf_write()
131 int line6_midibuf_read(struct midi_buffer *this, unsigned char *data, in line6_midibuf_read() argument
145 if (midibuf_is_empty(this)) in line6_midibuf_read()
148 bytes_used = line6_midibuf_bytes_used(this); in line6_midibuf_read()
153 length1 = this->size - this->pos_read; in line6_midibuf_read()
156 command = this->buf[this->pos_read]; in line6_midibuf_read()
160 this->command_prev = command; in line6_midibuf_read()
162 if (this->command_prev > 0) { in line6_midibuf_read()
164 midibuf_message_length(this->command_prev); in line6_midibuf_read()
180 if (this->buf[this->pos_read + i] & 0x80) in line6_midibuf_read()
189 if (this->buf[this->pos_read + i] & 0x80) in line6_midibuf_read()
196 if (this->buf[i] & 0x80) in line6_midibuf_read()
208 if (!this->split) in line6_midibuf_read()
219 memcpy(data + repeat, this->buf + this->pos_read, length); in line6_midibuf_read()
220 this->pos_read += length; in line6_midibuf_read()
224 memcpy(data + repeat, this->buf + this->pos_read, length1); in line6_midibuf_read()
225 memcpy(data + repeat + length1, this->buf, length2); in line6_midibuf_read()
226 this->pos_read = length2; in line6_midibuf_read()
230 data[0] = this->command_prev; in line6_midibuf_read()
232 this->full = 0; in line6_midibuf_read()
236 int line6_midibuf_ignore(struct midi_buffer *this, int length) in line6_midibuf_ignore() argument
238 int bytes_used = line6_midibuf_bytes_used(this); in line6_midibuf_ignore()
243 this->pos_read = (this->pos_read + length) % this->size; in line6_midibuf_ignore()
244 this->full = 0; in line6_midibuf_ignore()
248 void line6_midibuf_destroy(struct midi_buffer *this) in line6_midibuf_destroy() argument
250 kfree(this->buf); in line6_midibuf_destroy()
251 this->buf = NULL; in line6_midibuf_destroy()