Lines Matching refs:this

33 static int midibuf_is_empty(struct midi_buffer *this)  in midibuf_is_empty()  argument
35 return (this->pos_read == this->pos_write) && !this->full; in midibuf_is_empty()
38 static int midibuf_is_full(struct midi_buffer *this) in midibuf_is_full() argument
40 return this->full; in midibuf_is_full()
43 void line6_midibuf_reset(struct midi_buffer *this) in line6_midibuf_reset() argument
45 this->pos_read = this->pos_write = this->full = 0; in line6_midibuf_reset()
46 this->command_prev = -1; in line6_midibuf_reset()
49 int line6_midibuf_init(struct midi_buffer *this, int size, int split) in line6_midibuf_init() argument
51 this->buf = kmalloc(size, GFP_KERNEL); in line6_midibuf_init()
53 if (this->buf == NULL) in line6_midibuf_init()
56 this->size = size; in line6_midibuf_init()
57 this->split = split; in line6_midibuf_init()
58 line6_midibuf_reset(this); in line6_midibuf_init()
62 int line6_midibuf_bytes_free(struct midi_buffer *this) in line6_midibuf_bytes_free() argument
65 midibuf_is_full(this) ? in line6_midibuf_bytes_free()
67 (this->pos_read - this->pos_write + this->size - 1) % this->size + in line6_midibuf_bytes_free()
71 int line6_midibuf_bytes_used(struct midi_buffer *this) in line6_midibuf_bytes_used() argument
74 midibuf_is_empty(this) ? in line6_midibuf_bytes_used()
76 (this->pos_write - this->pos_read + this->size - 1) % this->size + in line6_midibuf_bytes_used()
80 int line6_midibuf_write(struct midi_buffer *this, unsigned char *data, in line6_midibuf_write() argument
87 if (midibuf_is_full(this) || (length <= 0)) in line6_midibuf_write()
96 bytes_free = line6_midibuf_bytes_free(this); in line6_midibuf_write()
102 length1 = this->size - this->pos_write; in line6_midibuf_write()
106 memcpy(this->buf + this->pos_write, data, length); in line6_midibuf_write()
107 this->pos_write += length; in line6_midibuf_write()
111 memcpy(this->buf + this->pos_write, data, length1); in line6_midibuf_write()
112 memcpy(this->buf, data + length1, length2); in line6_midibuf_write()
113 this->pos_write = length2; in line6_midibuf_write()
116 if (this->pos_write == this->pos_read) in line6_midibuf_write()
117 this->full = 1; in line6_midibuf_write()
123 int line6_midibuf_read(struct midi_buffer *this, unsigned char *data, in line6_midibuf_read() argument
137 if (midibuf_is_empty(this)) in line6_midibuf_read()
140 bytes_used = line6_midibuf_bytes_used(this); in line6_midibuf_read()
145 length1 = this->size - this->pos_read; in line6_midibuf_read()
147 command = this->buf[this->pos_read]; in line6_midibuf_read()
157 this->buf[this->pos_read] = fixed; in line6_midibuf_read()
165 this->command_prev = command; in line6_midibuf_read()
167 if (this->command_prev > 0) { in line6_midibuf_read()
169 midibuf_message_length(this->command_prev); in line6_midibuf_read()
185 if (this->buf[this->pos_read + i] & 0x80) in line6_midibuf_read()
194 if (this->buf[this->pos_read + i] & 0x80) in line6_midibuf_read()
201 if (this->buf[i] & 0x80) in line6_midibuf_read()
213 if (!this->split) in line6_midibuf_read()
224 memcpy(data + repeat, this->buf + this->pos_read, length); in line6_midibuf_read()
225 this->pos_read += length; in line6_midibuf_read()
229 memcpy(data + repeat, this->buf + this->pos_read, length1); in line6_midibuf_read()
230 memcpy(data + repeat + length1, this->buf, length2); in line6_midibuf_read()
231 this->pos_read = length2; in line6_midibuf_read()
235 data[0] = this->command_prev; in line6_midibuf_read()
237 this->full = 0; in line6_midibuf_read()
241 int line6_midibuf_ignore(struct midi_buffer *this, int length) in line6_midibuf_ignore() argument
243 int bytes_used = line6_midibuf_bytes_used(this); in line6_midibuf_ignore()
248 this->pos_read = (this->pos_read + length) % this->size; in line6_midibuf_ignore()
249 this->full = 0; in line6_midibuf_ignore()
253 void line6_midibuf_destroy(struct midi_buffer *this) in line6_midibuf_destroy() argument
255 kfree(this->buf); in line6_midibuf_destroy()
256 this->buf = NULL; in line6_midibuf_destroy()