• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/src/router/squashfs-4.2/

Lines Matching defs:file_buffer

232 struct file_buffer *fragment_data = NULL;
313 struct file_buffer {
325 struct file_buffer *hash_next;
326 struct file_buffer *hash_prev;
327 struct file_buffer *free_next;
328 struct file_buffer *free_prev;
329 struct file_buffer *next;
415 struct file_buffer *file_buffer, int blocks, unsigned short checksum,
500 struct file_buffer *free_list;
501 struct file_buffer *hash_table[65536];
539 void insert_hash_table(struct cache *cache, struct file_buffer *entry)
552 void remove_hash_table(struct cache *cache, struct file_buffer *entry)
567 INSERT_LIST(free, struct file_buffer)
570 REMOVE_LIST(free, struct file_buffer)
584 memset(cache->hash_table, 0, sizeof(struct file_buffer *) * 65536);
592 struct file_buffer *cache_lookup(struct cache *cache, long long index)
597 struct file_buffer *entry;
619 struct file_buffer *cache_get(struct cache *cache, long long index, int keep)
622 struct file_buffer *entry;
636 entry = malloc(sizeof(struct file_buffer) +
673 void cache_rehash(struct file_buffer *entry, long long index)
687 void cache_block_put(struct file_buffer *entry)
1717 struct file_buffer *get_fragment(struct fragment *fragment)
1722 struct file_buffer *buffer, *compressed_buffer;
1771 struct file_buffer *buffer;
1820 void add_pending_fragment(struct file_buffer *write_buffer, int c_byte,
1863 struct fragment *get_and_fill_fragment(struct file_buffer *file_buffer)
1868 if(file_buffer == NULL || file_buffer->size == 0)
1871 if(fragment_size + file_buffer->size > block_size)
1883 ffrg->size = file_buffer->size;
1884 memcpy(fragment_data->data + fragment_size, file_buffer->data,
1885 file_buffer->size);
1886 fragment_size += file_buffer->size;
2010 struct file_buffer *write_buffer;
2039 unsigned short get_checksum_mem_buffer(struct file_buffer *file_buffer)
2041 if(file_buffer == NULL)
2044 return get_checksum(file_buffer->data, file_buffer->size, 0);
2106 struct file_buffer *frag_buffer =
2154 struct file_buffer *file_buffer, int blocks, unsigned short checksum,
2158 int frag_bytes = file_buffer ? file_buffer->size : 0;
2174 get_checksum_mem_buffer(file_buffer);
2179 struct file_buffer *frag_buffer =
2200 struct file_buffer *target_buffer = NULL;
2201 struct file_buffer *dup_buffer = NULL;
2233 struct file_buffer *frag_buffer =
2237 memcmp(file_buffer->data,
2271 struct file_buffer *prev_buffer = NULL, *file_buffer;
2278 file_buffer = cache_get(reader_buffer, 0, 0);
2279 file_buffer->sequence = seq ++;
2281 byte = read_bytes(file, file_buffer->data, block_size);
2285 file_buffer->size = byte;
2286 file_buffer->file_size = -1;
2287 file_buffer->block = count ++;
2288 file_buffer->error = FALSE;
2289 file_buffer->fragment = FALSE;
2306 prev_buffer = file_buffer;
2320 prev_buffer = file_buffer;
2322 cache_block_put(file_buffer);
2334 cache_block_put(file_buffer);
2336 file_buffer = prev_buffer;
2338 file_buffer->error = TRUE;
2339 queue_put(from_deflate, file_buffer);
2346 struct file_buffer *file_buffer;
2357 file_buffer = NULL;
2365 file_buffer = cache_get(reader_buffer, 0, 0);
2366 file_buffer->sequence = seq ++;
2375 if(file_buffer)
2376 queue_put(from_reader, file_buffer);
2377 file_buffer = cache_get(reader_buffer, 0, 0);
2378 file_buffer->sequence = seq ++;
2389 byte = file_buffer->size = read_bytes(file, file_buffer->data,
2392 file_buffer->file_size = read_size;
2400 file_buffer->block = count;
2401 file_buffer->error = FALSE;
2402 file_buffer->fragment = (file_buffer->block == frag_block);
2428 queue_put(from_reader, file_buffer);
2439 file_buffer->error = 2;
2440 queue_put(from_deflate, file_buffer);
2444 file_buffer->error = TRUE;
2445 queue_put(from_deflate, file_buffer);
2510 struct file_buffer *file_buffer = queue_get(to_writer);
2513 if(file_buffer == NULL) {
2519 off = file_buffer->block;
2529 if(!write_error && write_bytes(fd, file_buffer->data,
2530 file_buffer->size) == -1) {
2537 cache_block_put(file_buffer);
2542 int all_zero(struct file_buffer *file_buffer)
2545 long entries = file_buffer->size / sizeof(long);
2546 long *p = (long *) file_buffer->data;
2551 for(i = file_buffer->size & ~(sizeof(long) - 1);
2552 i < file_buffer->size && file_buffer->data[i] == 0;
2555 return i == file_buffer->size;
2575 struct file_buffer *file_buffer = queue_get(from_reader);
2576 struct file_buffer *write_buffer;
2578 if(sparse_files && all_zero(file_buffer)) {
2579 file_buffer->c_byte = 0;
2580 queue_put(from_deflate, file_buffer);
2581 } else if(file_buffer->fragment) {
2582 file_buffer->c_byte = file_buffer->size;
2583 queue_put(from_deflate, file_buffer);
2587 write_buffer->data, file_buffer->data,
2588 file_buffer->size, block_size, noD, 1);
2589 write_buffer->sequence = file_buffer->sequence;
2590 write_buffer->file_size = file_buffer->file_size;
2591 write_buffer->block = file_buffer->block;
2596 cache_block_put(file_buffer);
2617 struct file_buffer *file_buffer = queue_get(to_frag);
2618 struct file_buffer *write_buffer =
2619 cache_get(writer_buffer, file_buffer->block +
2622 c_byte = mangle2(stream, write_buffer->data, file_buffer->data,
2623 file_buffer->size, block_size, noF, 1);
2628 fragment_table[file_buffer->block].size = c_byte;
2629 fragment_table[file_buffer->block].start_block = bytes;
2636 "compressed size %d\n", file_buffer->block,
2637 file_buffer->size, compressed_size);
2641 file_buffer->block);
2643 cache_block_put(file_buffer);
2650 struct file_buffer *block_hash[HASH_ENTRIES];
2652 void push_buffer(struct file_buffer *file_buffer)
2654 int hash = BLOCK_HASH(file_buffer->sequence);
2656 file_buffer->next = block_hash[hash];
2657 block_hash[hash] = file_buffer;
2661 struct file_buffer *get_file_buffer(struct queue *queue)
2665 struct file_buffer *file_buffer = block_hash[hash], *prev = NULL;
2667 for(;file_buffer; prev = file_buffer, file_buffer = file_buffer->next)
2668 if(file_buffer->sequence == sequence)
2671 if(file_buffer) {
2673 prev->next = file_buffer->next;
2675 block_hash[hash] = file_buffer->next;
2678 file_buffer = queue_get(queue);
2679 if(file_buffer->sequence == sequence)
2681 push_buffer(file_buffer);
2687 return file_buffer;
2809 int size, int *duplicate_file, struct file_buffer *file_buffer,
2818 file_buffer, 0, 0, checksum, TRUE);
2822 fragment = get_and_fill_fragment(file_buffer);
2827 cache_block_put(file_buffer);
2840 struct file_buffer *file_buffer, int *duplicate_file)
2845 checksum = get_checksum_mem_buffer(file_buffer);
2849 file_buffer, checksum);
2853 fragment = get_and_fill_fragment(file_buffer);
2855 cache_block_put(file_buffer);
2875 struct file_buffer *read_buffer, int *duplicate_file)
2882 struct file_buffer *fragment_buffer = NULL;
2963 long long read_size, struct file_buffer *read_buffer,
2972 struct file_buffer *fragment_buffer = NULL;
3062 long long read_size, struct file_buffer *read_buffer,
3071 struct file_buffer **buffer_list;
3074 struct file_buffer *fragment_buffer = NULL;
3081 buffer_list = malloc(blocks * sizeof(struct file_buffer *));
3206 struct file_buffer *read_buffer;