source: tags/ms_r18q1/ARBDB/gb_prot.h

Last change on this file was 16374, checked in by westram, 7 years ago
  • reintegrates 'aci' into 'trunk'
    • refactored wide parts of ACI code (incl. SRT+REG)
      • added more test
      • ACI tracing
        • more complete and readable
        • automatically turned off when done with expression
      • improved error messages (esp. diagnostics)
      • documentation (updated, added missing)
      • fixed a bunch of bugs (incl. SEGV and deadlock)
      • ACI now runs inside execution environment
    • ACI language may be extended with custom commands (implements #756)
      • added ACI extension for group-batch-rename
  • adds:
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 8.0 KB
Line 
1/* Internal database interface.
2 *
3 * This file is generated by aisc_mkpt.
4 * Any changes you make here will be overwritten later!
5 */
6
7#ifndef GB_PROT_H
8#define GB_PROT_H
9
10/* define ARB attributes: */
11#ifndef ATTRIBUTES_H
12# include <attributes.h>
13#endif
14
15
16/* ad_cb.cxx */
17GB_MAIN_TYPE *gb_get_main_during_cb(void);
18void gb_remove_callbacks_marked_for_deletion(GBDATA *gbd);
19
20/* ad_core.cxx */
21void gb_touch_entry(GBDATA *gbd, GB_CHANGE val);
22void gb_touch_header(GBCONTAINER *gbc);
23void gb_untouch_children(GBCONTAINER *gbc);
24void gb_untouch_me(GBENTRY *gbe);
25void gb_untouch_children_and_me(GBCONTAINER *gbc);
26void gb_create_header_array(GBCONTAINER *gbc, int size);
27GBDATA *gb_make_pre_defined_entry(GBCONTAINER *father, GBDATA *gbd, long index_pos, GBQUARK keyq);
28GBENTRY *gb_make_entry(GBCONTAINER *father, const char *key, long index_pos, GBQUARK keyq, GB_TYPES type);
29GBCONTAINER *gb_make_pre_defined_container(GBCONTAINER *father, GBCONTAINER *gbc, long index_pos, GBQUARK keyq);
30GBCONTAINER *gb_make_container(GBCONTAINER *father, const char *key, long index_pos, GBQUARK keyq);
31void gb_pre_delete_entry(GBDATA *gbd);
32void gb_delete_entry(GBCONTAINER*& gbc);
33void gb_delete_entry(GBENTRY*& gbe);
34void gb_delete_entry(GBDATA*& gbd);
35void gb_delete_dummy_father(GBCONTAINER*& gbc);
36void gb_add_ref_gb_transaction_save(gb_transaction_save *ts);
37void gb_del_ref_gb_transaction_save(gb_transaction_save *ts);
38void gb_del_ref_and_extern_gb_transaction_save(gb_transaction_save *ts);
39void gb_save_extern_data_in_ts(GBENTRY *gbe);
40void gb_write_index_key(GBCONTAINER *father, long index, GBQUARK new_index);
41void gb_create_key_array(GB_MAIN_TYPE *Main, int index);
42long gb_create_key(GB_MAIN_TYPE *Main, const char *key, bool create_gb_key);
43char *gb_abort_entry(GBDATA *gbd);
44void gb_abort_transaction_local_rek(GBDATA*& gbd);
45GB_ERROR gb_commit_transaction_local_rek(GBDATA*& gbd, long mode, int *pson_created) __ATTR__USERESULT;
46
47/* ad_load.cxx */
48GB_MAIN_IDX gb_make_main_idx(GB_MAIN_TYPE *Main);
49
50/* ad_save_load.cxx */
51char *gb_findExtension(char *path);
52GB_CSTR gb_oldQuicksaveName(GB_CSTR path, int nr);
53GB_CSTR gb_quicksaveName(GB_CSTR path, int nr);
54GB_CSTR gb_mapfile_name(GB_CSTR path);
55long gb_ascii_2_bin(const char *source, GBENTRY *gbe);
56long gb_read_bin_error(FILE *in, GBDATA *gbd, const char *text);
57
58/* adcache.cxx */
59char *gb_read_cache(GBENTRY *gbe);
60void gb_free_cache(GB_MAIN_TYPE *Main, GBENTRY *gbe);
61void gb_uncache(GBENTRY *gbe);
62char *gb_alloc_cache_index(GBENTRY *gbe, size_t size);
63
64/* adcomm.cxx */
65GB_ERROR gbcm_unfold_client(GBCONTAINER *gbc, long deep, long index_pos) __ATTR__USERESULT;
66GB_ERROR gbcmc_begin_sendupdate(GBDATA *gbd) __ATTR__USERESULT;
67GB_ERROR gbcmc_end_sendupdate(GBDATA *gbd) __ATTR__USERESULT;
68GB_ERROR gbcmc_sendupdate_create(GBDATA *gbd) __ATTR__USERESULT;
69GB_ERROR gbcmc_sendupdate_delete(GBDATA *gbd) __ATTR__USERESULT;
70GB_ERROR gbcmc_sendupdate_update(GBDATA *gbd, int send_headera) __ATTR__USERESULT;
71GB_ERROR gbcmc_begin_transaction(GBDATA *gbd) __ATTR__USERESULT;
72GB_ERROR gbcmc_init_transaction(GBCONTAINER *gbc) __ATTR__USERESULT;
73GB_ERROR gbcmc_commit_transaction(GBDATA *gbd) __ATTR__USERESULT;
74GB_ERROR gbcmc_abort_transaction(GBDATA *gbd) __ATTR__USERESULT;
75GB_ERROR gbcms_add_to_delete_list(GBDATA *gbd);
76long gbcmc_key_alloc(GBDATA *gbd, const char *key);
77GB_ERROR gbcmc_send_undo_commands(GBDATA *gbd, enum gb_undo_commands command) __ATTR__USERESULT;
78char *gbcmc_send_undo_info_commands(GBDATA *gbd, enum gb_undo_commands command);
79GB_ERROR gbcm_login(GBCONTAINER *gb_main, const char *loginname) __ATTR__USERESULT;
80GBCM_ServerResult gbcmc_close(gbcmc_comm *link);
81GB_ERROR gbcm_logout(GB_MAIN_TYPE *Main, const char *loginname);
82
83/* adcompr.cxx */
84gb_compress_tree *gb_build_uncompress_tree(const unsigned char *data, long short_flag, char **end);
85void gb_free_compress_tree(gb_compress_tree *tree);
86gb_compress_list *gb_build_compress_list(const unsigned char *data, long short_flag, long *size);
87char *gb_compress_bits(const char *source, long size, const unsigned char *c_0, long *msize);
88GB_BUFFER gb_uncompress_bits(const char *source, long size, char c_0, char c_1);
89void gb_compress_equal_bytes_2(const char *source, size_t size, size_t *msize, char *dest);
90GB_BUFFER gb_uncompress_bytes(GB_CBUFFER source, size_t size, size_t *new_size);
91GB_BUFFER gb_uncompress_longs_old(GB_CBUFFER source, size_t size, size_t *new_size);
92GB_DICTIONARY *gb_get_dictionary(GB_MAIN_TYPE *Main, GBQUARK key);
93GB_BUFFER gb_compress_data(GBDATA *gbd, int key, GB_CBUFFER source, size_t size, size_t *msize, GB_COMPRESSION_MASK max_compr, bool pre_compressed);
94GB_CBUFFER gb_uncompress_data(GBDATA *gbd, GB_CBUFFER source, size_t size);
95
96/* adfile.cxx */
97GB_ERROR gb_scan_directory(char *basename, gb_scandir *sd) __ATTR__USERESULT_TODO;
98
99/* adhash.cxx */
100size_t gbs_get_a_prime(size_t above_or_equal_this);
101
102/* adindex.cxx */
103void gb_destroy_indices(GBCONTAINER *gbc);
104GBDATA *gb_index_find(GBCONTAINER *gbf, gb_index_files *ifs, GBQUARK quark, const char *val, GB_CASE case_sens, int after_index);
105void gb_init_undo_stack(GB_MAIN_TYPE *Main);
106void gb_free_undo_stack(GB_MAIN_TYPE *Main);
107char *gb_set_undo_sync(GBDATA *gb_main);
108char *gb_disable_undo(GBDATA *gb_main);
109void gb_check_in_undo_create(GB_MAIN_TYPE *Main, GBDATA *gbd);
110void gb_check_in_undo_modify(GB_MAIN_TYPE *Main, GBDATA *gbd);
111void gb_check_in_undo_delete(GB_MAIN_TYPE *Main, GBDATA*& gbd);
112
113/* admalloc.cxx */
114void gbm_flush_mem(void);
115void gbm_init_mem(void);
116void gbm_debug_mem(void);
117
118/* admap.cxx */
119GB_ERROR gb_save_mapfile(GB_MAIN_TYPE *Main, GB_CSTR path);
120int gb_is_valid_mapfile(const char *path, gb_map_header *mheader, int verbose);
121GBDATA *gb_map_mapfile(const char *path);
122int gb_isMappedMemory(void *mem);
123
124/* adoptimize.cxx */
125GB_ERROR gb_convert_V2_to_V3(GBDATA *gb_main);
126char *gb_uncompress_by_dictionary(GBDATA *gbd, GB_CSTR s_source, size_t size, size_t *new_size);
127char *gb_compress_by_dictionary(GB_DICTIONARY *dict, GB_CSTR s_source, size_t size, size_t *msize, int last_flag, int search_backward, int search_forward);
128
129/* adquery.cxx */
130GBDATA *gb_find_by_nr(GBCONTAINER *father, int index);
131GBDATA *gb_search(GBCONTAINER *gbc, const char *key, GB_TYPES create, int internflag);
132
133/* adsocket.cxx */
134void gbcm_read_flush(void);
135long gbcm_read(int socket, char *ptr, long size);
136GBCM_ServerResult gbcm_write_flush(int socket);
137GBCM_ServerResult gbcm_write(int socket, const char *ptr, long size);
138GB_ERROR gbcm_open_socket(const char *path, bool do_connect, int *psocket, char **unix_name);
139long gbcms_close(gbcmc_comm *link);
140gbcmc_comm *gbcmc_open(const char *path);
141long gbcm_write_two(int socket, long a, long c);
142GBCM_ServerResult gbcm_read_two(int socket, long a, long *b, long *c);
143GBCM_ServerResult gbcm_write_string(int socket, const char *key);
144char *gbcm_read_string(int socket);
145GBCM_ServerResult gbcm_write_long(int socket, long data);
146long gbcm_read_long(int socket);
147
148/* adsystem.cxx */
149GB_ERROR gb_load_dictionary_data(GBDATA *gb_main, const char *key, char **dict_data, long *size);
150void gb_load_single_key_data(GBDATA *gb_main, GBQUARK q);
151GB_ERROR gb_save_dictionary_data(GBDATA *gb_main, const char *key, const char *dict, int size);
152GB_ERROR gb_load_key_data_and_dictionaries(GB_MAIN_TYPE *Main) __ATTR__USERESULT;
153
154/* arbdb.cxx */
155GB_ERROR gb_unfold(GBCONTAINER *gbc, long deep, int index_pos);
156void gb_abort_and_close_all_DBs(void);
157int gb_read_nr(GBDATA *gbd);
158GB_ERROR gb_write_compressed_pntr(GBENTRY *gbe, const char *s, long memsize, long stored_size);
159int gb_get_compression_mask(GB_MAIN_TYPE *Main, GBQUARK key, int gb_type);
160GB_CSTR gb_read_key_pntr(GBDATA *gbd);
161GBQUARK gb_find_or_create_quark(GB_MAIN_TYPE *Main, const char *key);
162GBQUARK gb_find_or_create_NULL_quark(GB_MAIN_TYPE *Main, const char *key);
163GBCONTAINER *gb_get_root(GBENTRY *gbe);
164GBCONTAINER *gb_get_root(GBCONTAINER *gbc);
165GBENTRY *gb_create(GBCONTAINER *father, const char *key, GB_TYPES type);
166GBCONTAINER *gb_create_container(GBCONTAINER *father, const char *key);
167GB_ERROR gb_delete_force(GBDATA *source);
168GB_ERROR gb_resort_system_folder_to_top(GBCONTAINER *gb_main);
169
170#else
171#error gb_prot.h included twice
172#endif /* GB_PROT_H */
Note: See TracBrowser for help on using the repository browser.