Lines Matching full:this

25 		   the "Song Position Pointer", but this is used by Line 6  in midibuf_message_length()
37 static int midibuf_is_empty(struct midi_buffer *this) in midibuf_is_empty() argument
39 return (this->pos_read == this->pos_write) && !this->full; in midibuf_is_empty()
42 static int midibuf_is_full(struct midi_buffer *this) in midibuf_is_full() argument
44 return this->full; in midibuf_is_full()
47 void line6_midibuf_reset(struct midi_buffer *this) in line6_midibuf_reset() argument
49 this->pos_read = this->pos_write = this->full = 0; in line6_midibuf_reset()
50 this->command_prev = -1; in line6_midibuf_reset()
53 int line6_midibuf_init(struct midi_buffer *this, int size, int split) in line6_midibuf_init() argument
55 this->buf = kmalloc(size, GFP_KERNEL); in line6_midibuf_init()
57 if (this->buf == NULL) in line6_midibuf_init()
60 this->size = size; in line6_midibuf_init()
61 this->split = split; in line6_midibuf_init()
62 line6_midibuf_reset(this); in line6_midibuf_init()
66 int line6_midibuf_bytes_free(struct midi_buffer *this) in line6_midibuf_bytes_free() argument
69 midibuf_is_full(this) ? in line6_midibuf_bytes_free()
71 (this->pos_read - this->pos_write + this->size - 1) % this->size + in line6_midibuf_bytes_free()
75 int line6_midibuf_bytes_used(struct midi_buffer *this) in line6_midibuf_bytes_used() argument
78 midibuf_is_empty(this) ? in line6_midibuf_bytes_used()
80 (this->pos_write - this->pos_read + this->size - 1) % this->size + in line6_midibuf_bytes_used()
84 int line6_midibuf_write(struct midi_buffer *this, unsigned char *data, in line6_midibuf_write() argument
91 if (midibuf_is_full(this) || (length <= 0)) in line6_midibuf_write()
100 bytes_free = line6_midibuf_bytes_free(this); in line6_midibuf_write()
106 length1 = this->size - this->pos_write; in line6_midibuf_write()
110 memcpy(this->buf + this->pos_write, data, length); in line6_midibuf_write()
111 this->pos_write += length; in line6_midibuf_write()
115 memcpy(this->buf + this->pos_write, data, length1); in line6_midibuf_write()
116 memcpy(this->buf, data + length1, length2); in line6_midibuf_write()
117 this->pos_write = length2; in line6_midibuf_write()
120 if (this->pos_write == this->pos_read) in line6_midibuf_write()
121 this->full = 1; in line6_midibuf_write()
127 int line6_midibuf_read(struct midi_buffer *this, unsigned char *data, in line6_midibuf_read() argument
141 if (midibuf_is_empty(this)) in line6_midibuf_read()
144 bytes_used = line6_midibuf_bytes_used(this); in line6_midibuf_read()
149 length1 = this->size - this->pos_read; in line6_midibuf_read()
152 command = this->buf[this->pos_read]; in line6_midibuf_read()
156 this->command_prev = command; in line6_midibuf_read()
158 if (this->command_prev > 0) { in line6_midibuf_read()
160 midibuf_message_length(this->command_prev); in line6_midibuf_read()
176 if (this->buf[this->pos_read + i] & 0x80) in line6_midibuf_read()
185 if (this->buf[this->pos_read + i] & 0x80) in line6_midibuf_read()
192 if (this->buf[i] & 0x80) in line6_midibuf_read()
204 if (!this->split) in line6_midibuf_read()
215 memcpy(data + repeat, this->buf + this->pos_read, length); in line6_midibuf_read()
216 this->pos_read += length; in line6_midibuf_read()
220 memcpy(data + repeat, this->buf + this->pos_read, length1); in line6_midibuf_read()
221 memcpy(data + repeat + length1, this->buf, length2); in line6_midibuf_read()
222 this->pos_read = length2; in line6_midibuf_read()
226 data[0] = this->command_prev; in line6_midibuf_read()
228 this->full = 0; in line6_midibuf_read()
232 int line6_midibuf_ignore(struct midi_buffer *this, int length) in line6_midibuf_ignore() argument
234 int bytes_used = line6_midibuf_bytes_used(this); in line6_midibuf_ignore()
239 this->pos_read = (this->pos_read + length) % this->size; in line6_midibuf_ignore()
240 this->full = 0; in line6_midibuf_ignore()
244 void line6_midibuf_destroy(struct midi_buffer *this) in line6_midibuf_destroy() argument
246 kfree(this->buf); in line6_midibuf_destroy()
247 this->buf = NULL; in line6_midibuf_destroy()