source: tags/ms_r16q3/ARBDB/gb_prot.h

Last change on this file was 14054, checked in by westram, 9 years ago
  • improve error handling in adcomm.cxx
    • dont export errors (if avoidable)
    • check error-results in callers
    • define common error generators to
      • get uniform messages
      • be able to identify exact source location (using svn-rev + source line)
    • added some missing checks for read/write failures
  • remove useless parameter 'mode' from gbcm_write_bin
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 8.2 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/* adlang1.cxx */
114void gbl_install_standard_commands(GBDATA *gb_main);
115
116/* admalloc.cxx */
117void gbm_flush_mem(void);
118void gbm_init_mem(void);
119void gbm_debug_mem(void);
120
121/* admap.cxx */
122GB_ERROR gb_save_mapfile(GB_MAIN_TYPE *Main, GB_CSTR path);
123int gb_is_valid_mapfile(const char *path, gb_map_header *mheader, int verbose);
124GBDATA *gb_map_mapfile(const char *path);
125int gb_isMappedMemory(void *mem);
126
127/* adoptimize.cxx */
128GB_ERROR gb_convert_V2_to_V3(GBDATA *gb_main);
129char *gb_uncompress_by_dictionary(GBDATA *gbd, GB_CSTR s_source, size_t size, size_t *new_size);
130char *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);
131
132/* adquery.cxx */
133GBDATA *gb_find_by_nr(GBCONTAINER *father, int index);
134GBDATA *gb_search(GBCONTAINER *gbc, const char *key, GB_TYPES create, int internflag);
135void gb_install_command_table(GBDATA *gb_main, struct GBL_command_table *table, size_t table_size);
136char *gbs_search_second_bracket(const char *source);
137
138/* adsocket.cxx */
139void gbcm_read_flush(void);
140long gbcm_read(int socket, char *ptr, long size);
141GBCM_ServerResult gbcm_write_flush(int socket);
142GBCM_ServerResult gbcm_write(int socket, const char *ptr, long size);
143GB_ERROR gbcm_open_socket(const char *path, bool do_connect, int *psocket, char **unix_name);
144long gbcms_close(gbcmc_comm *link);
145gbcmc_comm *gbcmc_open(const char *path);
146long gbcm_write_two(int socket, long a, long c);
147GBCM_ServerResult gbcm_read_two(int socket, long a, long *b, long *c);
148GBCM_ServerResult gbcm_write_string(int socket, const char *key);
149char *gbcm_read_string(int socket);
150GBCM_ServerResult gbcm_write_long(int socket, long data);
151long gbcm_read_long(int socket);
152
153/* adsystem.cxx */
154GB_ERROR gb_load_dictionary_data(GBDATA *gb_main, const char *key, char **dict_data, long *size);
155void gb_load_single_key_data(GBDATA *gb_main, GBQUARK q);
156GB_ERROR gb_save_dictionary_data(GBDATA *gb_main, const char *key, const char *dict, int size);
157GB_ERROR gb_load_key_data_and_dictionaries(GB_MAIN_TYPE *Main) __ATTR__USERESULT;
158
159/* arbdb.cxx */
160GB_ERROR gb_unfold(GBCONTAINER *gbc, long deep, int index_pos);
161void gb_abort_and_close_all_DBs(void);
162int gb_read_nr(GBDATA *gbd);
163GB_ERROR gb_write_compressed_pntr(GBENTRY *gbe, const char *s, long memsize, long stored_size);
164int gb_get_compression_mask(GB_MAIN_TYPE *Main, GBQUARK key, int gb_type);
165GB_CSTR gb_read_key_pntr(GBDATA *gbd);
166GBQUARK gb_find_or_create_quark(GB_MAIN_TYPE *Main, const char *key);
167GBQUARK gb_find_or_create_NULL_quark(GB_MAIN_TYPE *Main, const char *key);
168GBCONTAINER *gb_get_root(GBENTRY *gbe);
169GBCONTAINER *gb_get_root(GBCONTAINER *gbc);
170GBENTRY *gb_create(GBCONTAINER *father, const char *key, GB_TYPES type);
171GBCONTAINER *gb_create_container(GBCONTAINER *father, const char *key);
172GB_ERROR gb_delete_force(GBDATA *source);
173GB_ERROR gb_resort_system_folder_to_top(GBCONTAINER *gb_main);
174
175#else
176#error gb_prot.h included twice
177#endif /* GB_PROT_H */
Note: See TracBrowser for help on using the repository browser.