-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathcloudsync_private.h
More file actions
49 lines (35 loc) · 2.09 KB
/
cloudsync_private.h
File metadata and controls
49 lines (35 loc) · 2.09 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//
// cloudsync_private.h
// cloudsync
//
// Created by Marco Bambini on 30/05/25.
//
#ifndef __CLOUDSYNC_PRIVATE__
#define __CLOUDSYNC_PRIVATE__
#include <stdbool.h>
#include "cloudsync.h"
#define CLOUDSYNC_VALUE_NOTSET -1
#define CLOUDSYNC_TOMBSTONE_VALUE "__[RIP]__"
#define CLOUDSYNC_RLS_RESTRICTED_VALUE "__[RLS]__"
#define CLOUDSYNC_DISABLE_ROWIDONLY_TABLES 1
#define CLOUDSYNC_DEFAULT_ALGO "cls"
typedef enum {
CLOUDSYNC_PAYLOAD_APPLY_WILL_APPLY = 1,
CLOUDSYNC_PAYLOAD_APPLY_DID_APPLY = 2,
CLOUDSYNC_PAYLOAD_APPLY_CLEANUP = 3
} CLOUDSYNC_PAYLOAD_APPLY_STEPS;
// used by vtab.c
int merge_insert_col (cloudsync_context *data, cloudsync_table_context *table, const char *pk, int pklen, const char *col_name, dbvalue_t *col_value, int64_t col_version, int64_t db_version, const char *site_id, int site_len, int64_t seq, int64_t *rowid);
int merge_insert (cloudsync_context *data, cloudsync_table_context *table, const char *insert_pk, int insert_pk_len, int64_t insert_cl, const char *insert_name, dbvalue_t *insert_value, int64_t insert_col_version, int64_t insert_db_version, const char *insert_site_id, int insert_site_id_len, int64_t insert_seq, int64_t *rowid);
void cloudsync_sync_key (cloudsync_context *data, const char *key, const char *value);
// used by network layer
int cloudsync_payload_get (cloudsync_context *data, char **blob, int *blob_size, int *db_version, int *seq, int64_t *new_db_version, int64_t *new_seq);
// used by core
bool cloudsync_config_exists (db_t *db);
dbvm_t *cloudsync_colvalue_stmt (db_t *db, cloudsync_context *data, const char *tbl_name, bool *persistent);
char *cloudsync_pk_context_tbl (cloudsync_pk_decode_bind_context *ctx, int64_t *tbl_len);
void *cloudsync_pk_context_pk (cloudsync_pk_decode_bind_context *ctx, int64_t *pk_len);
char *cloudsync_pk_context_colname (cloudsync_pk_decode_bind_context *ctx, int64_t *colname_len);
int64_t cloudsync_pk_context_cl (cloudsync_pk_decode_bind_context *ctx);
int64_t cloudsync_pk_context_dbversion (cloudsync_pk_decode_bind_context *ctx);
#endif