• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/mtools-4.0.10/

Lines Matching refs:Buffer

17  * Buffer read/write module
29 Stream_t *Buffer;
47 * Flush a dirty buffer to disk. Resets Buffer->dirty to zero.
51 static int _buf_flush(Buffer_t *Buffer)
55 if (!Buffer->Next || !Buffer->dirty)
57 if(Buffer->current < 0L) {
63 Buffer,
64 (unsigned char) Buffer->buf[0],
65 Buffer->current + Buffer->dirty_pos,
66 Buffer->dirty_end - Buffer->dirty_pos);
69 ret = force_write(Buffer->Next,
70 Buffer->buf + Buffer->dirty_pos,
71 Buffer->current + Buffer->dirty_pos,
72 Buffer->dirty_end - Buffer->dirty_pos);
73 if(ret != (signed int) (Buffer->dirty_end - Buffer->dirty_pos)) {
80 Buffer->dirty = 0;
81 Buffer->dirty_end = 0;
82 Buffer->dirty_pos = 0;
86 static int invalidate_buffer(Buffer_t *Buffer, mt_off_t start)
88 /*fprintf(stderr, "invalidate %x\n", Buffer);*/
89 if(Buffer->sectorSize == 32) {
93 if(_buf_flush(Buffer) < 0)
99 Buffer->current = ROUND_DOWN(start, Buffer->sectorSize);
100 Buffer->cur_size = 0;
346 Buffer_t *Buffer;
359 if(Next->Buffer){
361 Next->Buffer->refs++;
362 return Next->Buffer;
368 Buffer = (Buffer_t *) Stream;
369 Buffer->buf = malloc(size);
370 if ( !Buffer->buf){
374 Buffer->size = size;
375 Buffer->dirty = 0;
376 Buffer->cylinderSize = cylinderSize;
377 Buffer->sectorSize = sectorSize;
379 Buffer->ever_dirty = 0;
380 Buffer->dirty_pos = 0;
381 Buffer->dirty_end = 0;
382 Buffer->current = 0L;
383 Buffer->cur_size = 0; /* buffer currently empty */
385 Buffer->Next = Next;
386 Buffer->Class = &BufferClass;
387 Buffer->refs = 1;
388 Buffer->Buffer = 0;
389 Buffer->Next->Buffer = (Stream_t *) Buffer;