File: file.h

package info (click to toggle)
rsyncrypto 1.14-1.2
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 1,552 kB
  • sloc: cpp: 3,459; sh: 1,221; makefile: 29
file content (28 lines) | stat: -rw-r--r-- 1,460 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef FILE_H
#define FILE_H

// Function types for processing files
typedef void (* encryptfunc)(const char *source, const char *dest, const char *key, RSA *rsa,
    const struct stat *stat );
typedef std::string(* namefunc)(const char *left, const char *right, mode_t mode );
typedef std::string(* prefix_func)(const char *left, const char *right, bool abs );

// A simple concatanation of both names
std::string name_concat( const char *left, const char *right, mode_t mode );

// Concat the names if "right" is not absolute, otherwise return only the right part
std::string cond_name_concat( const char *left, const char *right, bool abs );
// Always return the left part
std::string left_only_concat( const char *left, const char *right, bool abs );

void filelist_encrypt( const char *src_dir, const char *dst_dir, const char *key_dir, RSA *rsa_key,
        encryptfunc op, const char *opname, prefix_func prefix_op, namefunc srcnameop, namefunc dstnameop,
        namefunc keynameop );
void dir_encrypt( const char *src_dir, const char *dst_dir, const char *key_dir, RSA *rsa_key,
        encryptfunc op, const char *opname, namefunc dstname, namefunc keyname );
void file_encrypt( const char *source_file, const char *dst_file, const char *key_file,
        RSA *rsa_key, const struct stat *stat );
void file_decrypt( const char *src_file, const char *dst_file, const char *key_file, RSA *rsa_key,
        const struct stat *stat );

#endif // FILE_H