Lines Matching defs:buffers
54 * build a set of buffers
59 tlm_buffers_t *buffers = ndmp_malloc(sizeof (tlm_buffers_t));
62 if (buffers == 0)
66 buffers->tbs_buffer[buf].tb_buffer_data =
68 if (buffers->tbs_buffer[buf].tb_buffer_data == 0) {
73 free(buffers->tbs_buffer[i].tb_buffer_data);
75 free(buffers);
78 buffers->tbs_buffer[buf].tb_buffer_size = (write)
80 buffers->tbs_buffer[buf].tb_full = FALSE;
81 buffers->tbs_buffer[buf].tb_eof = FALSE;
82 buffers->tbs_buffer[buf].tb_eot = FALSE;
83 buffers->tbs_buffer[buf].tb_errno = 0;
84 buffers->tbs_buffer[buf].tb_buffer_spot = 0;
89 (void) mutex_init(&buffers->tbs_mtx, 0, NULL);
90 (void) cond_init(&buffers->tbs_in_cv, 0, NULL);
91 (void) cond_init(&buffers->tbs_out_cv, 0, NULL);
93 buffers->tbs_data_transfer_size = xfer_size;
94 buffers->tbs_ref = 1;
95 return (buffers);
104 tlm_release_buffers(tlm_buffers_t *buffers)
108 if (buffers != NULL) {
109 tlm_buffer_release_in_buf(buffers);
110 tlm_buffer_release_out_buf(buffers);
112 (void) mutex_lock(&buffers->tbs_mtx);
114 if (--buffers->tbs_ref <= 0) {
116 free(buffers->tbs_buffer[i].tb_buffer_data);
120 (void) cond_destroy(&buffers->tbs_in_cv);
121 (void) cond_destroy(&buffers->tbs_out_cv);
122 (void) mutex_unlock(&buffers->tbs_mtx);
123 (void) mutex_destroy(&buffers->tbs_mtx);
124 free(buffers);
149 * Advance the input index of the buffers(round-robin) and return pointer
170 * Advance the output index of the buffers(round-robin) and return pointer