4a1e666365
- Remove FileReceive struct; use File everywhere with nullable FileMetadata* - Remove struct stat from File; file size lives in Data->size (data_create_reserve) - Add FileMetadata struct (mode, uid, gid, mtime) sent conditionally over wire - Add -M / --preserve flag to client - Restore permissions, ownership, timestamps on disk write - Wire format uses per-file present flag for metadata (zero overhead when off)
19 lines
392 B
C
19 lines
392 B
C
#ifndef DATA_H
|
|
#define DATA_H
|
|
|
|
#include "stdlib.h"
|
|
|
|
typedef struct {
|
|
void *data;
|
|
size_t size;
|
|
} Data;
|
|
|
|
Data *data_create_empty(size_t data_size);
|
|
Data *data_create_reserve(size_t size);
|
|
Data *data_create(void *data, size_t data_size);
|
|
void data_destroy(Data *data);
|
|
Data *data_compress(Data *data_to_compress, int compression_level);
|
|
Data *data_decompress(Data *compressed_data);
|
|
|
|
#endif
|