Lines Matching refs:buffer
87 * The data member "buffer" must be the first element in the tun_buffer
91 unsigned char buffer [TUN_BUFFER_SIZE];
117 tun_buffer_t* buffer = NULL;
120 buffer = overlapped->free_list;
121 // assert(buffer != NULL);
122 overlapped->free_list = buffer->next;
124 buffer->next = NULL;
125 return buffer;
128 static void put_buffer_on_free_list(tap_win32_overlapped_t* const overlapped, tun_buffer_t* const buffer)
131 buffer->next = overlapped->free_list;
132 overlapped->free_list = buffer;
139 tun_buffer_t* buffer = NULL;
151 buffer = overlapped->output_queue_front;
152 overlapped->output_queue_front = buffer->next;
167 return buffer;
175 static void put_buffer_on_output_queue(tap_win32_overlapped_t* const overlapped, tun_buffer_t* const buffer)
180 overlapped->output_queue_front = overlapped->output_queue_back = buffer;
182 buffer->next = NULL;
183 overlapped->output_queue_back->next = buffer;
184 overlapped->output_queue_back = buffer;
458 const void *buffer, unsigned long size)
470 result = WriteFile(overlapped->handle, buffer, size,
495 tun_buffer_t* buffer = get_buffer_from_free_list(overlapped);
500 buffer->buffer,
501 sizeof(buffer->buffer),
534 buffer->read_size = read_size;
535 put_buffer_on_output_queue(overlapped, buffer);
537 buffer = get_buffer_from_free_list(overlapped);
549 tun_buffer_t* buffer = get_buffer_from_output_queue_immediate(overlapped);
551 if(buffer != NULL) {
552 *pbuf = buffer->buffer;
553 size = (int)buffer->read_size;
565 tun_buffer_t* buffer = (tun_buffer_t*)pbuf;
566 put_buffer_on_free_list(overlapped, buffer);