source: trunk/ARBDB/ad_prot.h

Last change on this file was 18939, checked in by westram, 3 years ago
  • add GB_test_delete_possible:
    • tests TA + returns security error.
    • use it in GB_delete + GB_set_temporary.
  • test user has security to delete tree before copying the tree (which may take some time).
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 20.1 KB
Line 
1/* ARB 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 AD_PROT_H
8#define AD_PROT_H
9
10/* define ARB attributes: */
11#ifndef ATTRIBUTES_H
12# include <attributes.h>
13#endif
14
15
16/* adExperiment.cxx */
17GBDATA *EXP_get_experiment_data(GBDATA *gb_species);
18GBDATA *EXP_find_experiment_rel_exp_data(GBDATA *gb_experiment_data, const char *name);
19GBDATA *EXP_find_experiment(GBDATA *gb_species, const char *name);
20GBDATA *EXP_first_experiment_rel_exp_data(GBDATA *gb_experiment_data);
21GBDATA *EXP_next_experiment(GBDATA *gb_experiment);
22GBDATA *EXP_find_or_create_experiment_rel_exp_data(GBDATA *gb_experiment_data, const char *name);
23
24/* adGene.cxx */
25bool GEN_is_genome_db(GBDATA *gb_main, int default_value);
26GBDATA *GEN_findOrCreate_gene_data(GBDATA *gb_species);
27GBDATA *GEN_find_gene_data(GBDATA *gb_species);
28GBDATA *GEN_expect_gene_data(GBDATA *gb_species);
29GBDATA *GEN_find_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name);
30GBDATA *GEN_find_gene(GBDATA *gb_species, const char *name);
31GBDATA *GEN_expect_gene(GBDATA *gb_species, const char *name);
32GBDATA *GEN_create_nonexisting_gene(GBDATA *gb_species, const char *name);
33GBDATA *GEN_find_or_create_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name);
34GBDATA *GEN_first_gene(GBDATA *gb_species);
35GBDATA *GEN_first_gene_rel_gene_data(GBDATA *gb_gene_data);
36GBDATA *GEN_next_gene(GBDATA *gb_gene);
37GBDATA *GEN_first_marked_gene(GBDATA *gb_species);
38GBDATA *GEN_next_marked_gene(GBDATA *gb_gene);
39GEN_position *GEN_new_position(int parts, bool joinable);
40void GEN_use_uncertainties(GEN_position *pos);
41void GEN_free_position(GEN_position *pos);
42GEN_position *GEN_read_position(GBDATA *gb_gene);
43GB_ERROR GEN_write_position(GBDATA *gb_gene, const GEN_position *pos, long seqLength);
44void GEN_sortAndMergeLocationParts(GEN_position *location);
45const char *GEN_origin_organism(GBDATA *gb_pseudo);
46const char *GEN_origin_gene(GBDATA *gb_pseudo);
47bool GEN_is_pseudo_gene_species(GBDATA *gb_species);
48GB_ERROR GEN_organism_not_found(GBDATA *gb_pseudo);
49void GEN_add_pseudo_species_to_hash(GBDATA *gb_pseudo, GB_HASH *pseudo_hash);
50GB_HASH *GEN_create_pseudo_species_hash(GBDATA *gb_main, long additionalSize);
51GBDATA *GEN_find_pseudo_species(GBDATA *gb_main, const char *organism_name, const char *gene_name, const GB_HASH *pseudo_hash);
52GBDATA *GEN_find_origin_organism(GBDATA *gb_pseudo, const GB_HASH *organism_hash);
53GBDATA *GEN_find_origin_gene(GBDATA *gb_pseudo, const GB_HASH *organism_hash);
54GBDATA *GEN_first_pseudo_species(GBDATA *gb_main);
55GBDATA *GEN_next_pseudo_species(GBDATA *gb_species);
56GBDATA *GEN_first_marked_pseudo_species(GBDATA *gb_main);
57bool GEN_is_organism(GBDATA *gb_species);
58GBDATA *GEN_find_organism(GBDATA *gb_main, const char *name);
59GBDATA *GEN_first_organism(GBDATA *gb_main);
60GBDATA *GEN_next_organism(GBDATA *gb_organism);
61long GEN_get_organism_count(GBDATA *gb_main);
62GBDATA *GEN_first_marked_organism(GBDATA *gb_main);
63GBDATA *GEN_next_marked_organism(GBDATA *gb_organism);
64char *GEN_global_gene_identifier(GBDATA *gb_gene, GBDATA *gb_organism);
65
66/* adTest.cxx */
67const char *GB_get_db_path(GBDATA *gbd);
68void GB_dump_db_path(GBDATA *gbd);
69NOT4PERL void GB_dump(GBDATA *gbd);
70NOT4PERL void GB_dump_no_limit(GBDATA *gbd);
71GB_ERROR GB_fix_database(GBDATA *gb_main);
72
73/* ad_cb.cxx */
74GBDATA *GB_get_gb_main_during_cb(void);
75NOT4PERL const void *GB_read_old_value(void);
76long GB_read_old_size(void);
77
78/* ad_load.cxx */
79void GB_set_verbose(void);
80void GB_set_next_main_idx(long idx);
81GBDATA *GB_open(const char *path, const char *opent);
82GB_ERROR GBT_check_arb_file(const char *name) __ATTR__USERESULT;
83
84/* ad_save_load.cxx */
85GB_CSTR GB_mapfile(GBDATA *gb_main);
86GB_ERROR GB_save(GBDATA *gb, const char *path, const char *savetype);
87GB_ERROR GB_create_parent_directory(const char *path);
88GB_ERROR GB_create_directory(const char *path);
89GB_ERROR GB_save_in_arbprop(GBDATA *gb, const char *path, const char *savetype);
90const char *GB_get_supported_compression_flags(bool verboose);
91
92class ArbDBWriter;
93
94GB_ERROR GB_start_streamed_save_as(GBDATA *gbd, const char *path, const char *savetype, ArbDBWriter*& writer);
95GB_ERROR GB_stream_save_part(ArbDBWriter *writer, GBDATA *from, GBDATA *till);
96GB_ERROR GB_finish_stream_save(ArbDBWriter*& writer);
97GB_ERROR GB_save_as(GBDATA *gbd, const char *path, const char *savetype);
98GB_ERROR GB_delete_database(GB_CSTR filename);
99GB_ERROR GB_save_quick_as(GBDATA *gbd, const char *path);
100GB_ERROR GB_save_quick(GBDATA *gbd, const char *refpath);
101void GB_disable_path(GBDATA *gbd, const char *path);
102long GB_last_saved_clock(GBDATA *gb_main);
103GB_ULONG GB_last_saved_time(GBDATA *gb_main);
104
105/* adcache.cxx */
106void GB_flush_cache(GBDATA *gbd);
107char *GB_set_cache_size(GBDATA *gbd, size_t size);
108
109/* adcomm.cxx */
110GB_ERROR GBCMS_open(const char *path, long timeout, GBDATA *gb_main);
111void GBCMS_shutdown(GBDATA *gbd);
112bool GBCMS_accept_calls(GBDATA *gbd, bool wait_extra_time);
113void GB_set_remote_action(GBDATA *gbd, bool in_action);
114bool GB_inside_remote_action(GBDATA *gbd);
115long GB_read_clients(GBDATA *gbd);
116bool GB_is_server(GBDATA *gbd);
117GBDATA *GBCMC_find(GBDATA *gbd, const char *key, GB_TYPES type, const char *str, GB_CASE case_sens, GB_SEARCH_TYPE gbs);
118GB_ERROR GB_tell_server_dont_wait(GBDATA *gbd);
119GB_ERROR GB_install_pid(int mode);
120
121/* adcompr.cxx */
122bool GB_is_dictionary_compressed(GBDATA *gbd);
123
124/* adfile.cxx */
125GB_CSTR GB_getcwd(void);
126char *GB_find_all_files(const char *dir, const char *mask, bool filename_only);
127char *GB_find_latest_file(const char *dir, const char *mask);
128char *GB_lib_file(bool warn_when_not_found, const char *libprefix, const char *filename);
129char *GB_property_file(bool warn_when_not_found, const char *filename);
130void GBS_read_dir(StrArray& names, const char *dir, const char *mask);
131const char *GB_get_arb_revision_tag(void);
132
133/* adhash.cxx */
134GB_HASH *GBS_create_hash(long estimated_elements, GB_CASE case_sens);
135GB_HASH *GBS_create_dynaval_hash(long estimated_elements, GB_CASE case_sens, void (*freefun)(long));
136void GBS_dynaval_free(long val);
137void GBS_optimize_hash(const GB_HASH *hs);
138char *GBS_hashtab_2_string(const GB_HASH *hash);
139long GBS_read_hash(const GB_HASH *hs, const char *key);
140long GBS_write_hash(GB_HASH *hs, const char *key, long val);
141long GBS_write_hash_no_strdup(GB_HASH *hs, char *key, long val);
142long GBS_incr_hash(GB_HASH *hs, const char *key);
143void GBS_free_hash(GB_HASH *hs);
144void GBS_hash_do_loop(GB_HASH *hs, gb_hash_loop_type func, void *client_data);
145void GBS_hash_do_const_loop(const GB_HASH *hs, gb_hash_const_loop_type func, void *client_data);
146size_t GBS_hash_elements(const GB_HASH *hs);
147const char *GBS_hash_next_element_that(const GB_HASH *hs, const char *last_key, bool (*condition)(const char *key, long val, void *cd), void *cd);
148void GBS_hash_do_sorted_loop(GB_HASH *hs, gb_hash_loop_type func, gbs_hash_compare_function sorter, void *client_data);
149void GBS_hash_do_const_sorted_loop(const GB_HASH *hs, gb_hash_const_loop_type func, gbs_hash_compare_function sorter, void *client_data);
150int GBS_HCF_sortedByKey(const char *k0, long dummy_1x, const char *k1, long dummy_2x);
151GB_NUMHASH *GBS_create_numhash(size_t estimated_elements);
152long GBS_read_numhash(GB_NUMHASH *hs, long key);
153long GBS_write_numhash(GB_NUMHASH *hs, long key, long val);
154void GBS_free_numhash(GB_NUMHASH *hs);
155
156/* adhashtools.cxx */
157GB_HASH *GBT_create_species_hash_sized(GBDATA *gb_main, long species_count);
158GB_HASH *GBT_create_species_hash(GBDATA *gb_main);
159GB_HASH *GBT_create_marked_species_hash(GBDATA *gb_main);
160GB_HASH *GBT_create_SAI_hash(GBDATA *gb_main);
161GB_HASH *GBT_create_organism_hash(GBDATA *gb_main);
162
163/* adindex.cxx */
164GB_ERROR GB_create_index(GBDATA *gbd, const char *key, GB_CASE case_sens, long estimated_size) __ATTR__USERESULT;
165NOT4PERL void GB_dump_indices(GBDATA *gbd);
166GB_ERROR GB_request_undo_type(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT_TODO;
167GB_UNDO_TYPE GB_get_requested_undo_type(GBDATA *gb_main);
168GB_ERROR GB_undo(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT;
169char *GB_undo_info(GBDATA *gb_main, GB_UNDO_TYPE type);
170GB_ERROR GB_set_undo_mem(GBDATA *gbd, long memsize);
171
172/* adlang1.cxx */
173NOT4PERL void GB_set_export_sequence_hook(gb_export_sequence_cb escb);
174
175/* admap.cxx */
176bool GB_supports_mapfile(void);
177
178/* admatch.cxx */
179GBS_string_matcher *GBS_compile_matcher(const char *search_expr, GB_CASE case_flag);
180void GBS_free_matcher(GBS_string_matcher *matcher);
181GB_CSTR GBS_find_string(GB_CSTR cont, GB_CSTR substr, int match_mode);
182bool GBS_string_matches(const char *str, const char *expr, GB_CASE case_sens);
183bool GBS_string_matches_regexp(const char *str, const GBS_string_matcher *expr);
184
185 class GBL_call_env;
186
187char *GBS_string_eval_in_env(const char *insource, const char *icommand, const GBL_call_env& callEnv);
188char *GBS_string_eval(const char *insource, const char *icommand);
189
190/* admath.cxx */
191double GB_log_fak(int n);
192void GB_random_seed(unsigned seed);
193int GB_random(int range);
194
195/* adoptimize.cxx */
196GB_ERROR GB_optimize(GBDATA *gb_main);
197
198/* adperl.cxx */
199GB_ERROR GBC_await_error(void);
200
201/* adquery.cxx */
202GBDATA *GB_find_sub_by_quark(GBDATA *father, GBQUARK key_quark, GBDATA *after, size_t skip_over);
203GBDATA *GB_find(GBDATA *gbd, const char *key, GB_SEARCH_TYPE gbs);
204GBDATA *GB_find_string(GBDATA *gbd, const char *key, const char *str, GB_CASE case_sens, GB_SEARCH_TYPE gbs);
205NOT4PERL GBDATA *GB_find_int(GBDATA *gbd, const char *key, long val, GB_SEARCH_TYPE gbs);
206GBDATA *GB_child(GBDATA *father);
207GBDATA *GB_nextChild(GBDATA *child);
208GBDATA *GB_entry(GBDATA *father, const char *key);
209GBDATA *GB_nextEntry(GBDATA *entry);
210GBDATA *GB_followingEntry(GBDATA *entry, size_t skip_over);
211size_t GB_countEntries(GBDATA *father, const char *key);
212GBDATA *GB_brother(GBDATA *entry, const char *key);
213const char *GB_first_non_key_char(const char *str);
214GBDATA *GB_search(GBDATA *gbd, const char *fieldpath, GB_TYPES create);
215GBDATA *GB_searchOrCreate_string(GBDATA *gb_container, const char *fieldpath, const char *default_value);
216GBDATA *GB_searchOrCreate_int(GBDATA *gb_container, const char *fieldpath, long default_value);
217GBDATA *GB_searchOrCreate_float(GBDATA *gb_container, const char *fieldpath, float default_value);
218long GB_number_of_marked_subentries(GBDATA *gbd);
219GBDATA *GB_first_marked(GBDATA *gbd, const char *keystring);
220GBDATA *GB_following_marked(GBDATA *gbd, const char *keystring, size_t skip_over);
221GBDATA *GB_next_marked(GBDATA *gbd, const char *keystring);
222
223/* adsocket.cxx */
224char *GB_read_fp(FILE *in);
225char *GB_read_file(const char *path);
226char *GB_map_FILE(FILE *in, int writeable);
227char *GB_map_file(const char *path, int writeable);
228GB_ULONG GB_time_of_day(void);
229GB_ERROR GB_textprint(const char *path) __ATTR__USERESULT;
230GB_CSTR GB_getenvARB_XTERM(void);
231GB_CSTR GB_getenvUSER(void);
232GB_CSTR GB_getenvARBHOME(void);
233GB_CSTR GB_getenvARBMACRO(void);
234GB_CSTR GB_getenvARBMACROHOME(void);
235GB_CSTR GB_getenvARB_GS(void);
236GB_CSTR GB_getenvARB_PDFVIEW(void);
237GB_CSTR GB_getenvDOCPATH(void);
238GB_CSTR GB_getenvHTMLDOCPATH(void);
239NOT4PERL gb_getenv_hook GB_install_getenv_hook(gb_getenv_hook hook);
240GB_CSTR GB_getenv(const char *env);
241bool GB_host_is_local(const char *hostname);
242GB_ULONG GB_get_usable_memory(void);
243NOT4PERL GB_ERROR GB_xcmd(const char *cmd, XCMD_TYPE exectype) __ATTR__USERESULT_TODO;
244GB_CSTR GB_append_suffix(const char *name, const char *suffix);
245GB_CSTR GB_canonical_path(const char *anypath);
246GB_CSTR GB_concat_path(GB_CSTR anypath_left, GB_CSTR anypath_right);
247GB_CSTR GB_concat_full_path(const char *anypath_left, const char *anypath_right);
248GB_CSTR GB_unfold_in_directory(const char *relative_directory, const char *path);
249GB_CSTR GB_unfold_path(const char *pwd_envar, const char *path);
250GB_CSTR GB_path_in_ARBHOME(const char *relative_path);
251GB_CSTR GB_path_in_ARBLIB(const char *relative_path);
252GB_CSTR GB_concat_path_in_ARBLIB(const char *relative_path_left, const char *anypath_right);
253GB_CSTR GB_path_in_HOME(const char *relative_path);
254GB_CSTR GB_path_in_arbprop(const char *relative_path);
255FILE *GB_fopen_tempfile(const char *filename, const char *fmode, char **res_fullname);
256char *GB_create_tempfile(const char *name);
257char *GB_unique_filename(const char *name_prefix, const char *suffix);
258void GB_remove_on_exit(const char *filename);
259void GB_split_full_path(const char *fullpath, char **res_dir, char **res_fullname, char **res_name_only, char **res_suffix);
260
261/* adstring.cxx */
262char *GBS_string_2_key(const char *str);
263char *GB_memdup(const char *source, size_t len);
264GB_ERROR GB_check_key(const char *key) __ATTR__USERESULT;
265GB_ERROR GB_check_hkey(const char *key) __ATTR__USERESULT;
266char *GBS_escape_string(const char *str, const char *chars_to_escape, char escape_char);
267char *GBS_unescape_string(const char *str, const char *escaped_chars, char escape_char);
268char *GBS_eval_env(GB_CSTR p);
269long GBS_gcgchecksum(const char *seq);
270uint32_t GB_checksum(const char *seq, long length, int ignore_case, const char *exclude);
271uint32_t GBS_checksum(const char *seq, int ignore_case, const char *exclude);
272size_t GBS_shorten_repeated_data(char *data);
273char *GBS_merge_tagged_strings(const char *s1, const char *tag1, const char *replace1, const char *s2, const char *tag2, const char *replace2);
274char *GBS_modify_tagged_string_with_ACI(const char *s, const char *dt, const char *tag, const char *aci, GBL_call_env& env);
275char *GB_read_as_tagged_string(GBDATA *gbd, const char *tagi);
276void GBS_fwrite_string(const char *strngi, FILE *out);
277char *GBS_fconvert_string(char *buffer);
278char *GBS_replace_tabs_by_spaces(const char *text);
279char *GBS_trim(const char *str);
280char *GBS_log_action_to(const char *comment, const char *action, bool stamp);
281const char *GBS_funptr2readable(void *funptr, bool stripARBHOME);
282
283/* adsystem.cxx */
284DictData *GB_get_dictionary(GBDATA *gb_main, const char *key);
285GB_ERROR GB_set_dictionary(GBDATA *gb_main, const char *key, const DictData *dd);
286
287/* adtcp.cxx */
288char *GB_arbtcpdat_path(void);
289const char *GBS_scan_arb_tcp_param(const char *ipPort, const char *wantedParam);
290
291#ifdef UNIT_TESTS // UT_DIFF
292#define TEST_SERVER_ID (-666)
293#define TEST_GENESERVER_ID (-667)
294#endif
295
296const char *GBS_nameserver_tag(const char *add_field);
297const char *GBS_ptserver_tag(int id);
298const char *GBS_read_arb_tcp(const char *env);
299const char *const *GBS_get_arb_tcp_entries(const char *matching);
300const char *GBS_ptserver_logname(void);
301void GBS_add_ptserver_logentry(const char *entry);
302char *GBS_ptserver_id_to_choice(int i, int showBuild);
303
304/* arbdb.cxx */
305const char *GB_get_type_name(GBDATA *gbd);
306float GB_atof(const char *str);
307GB_BUFFER GB_give_buffer(size_t size);
308GB_BUFFER GB_increase_buffer(size_t size);
309NOT4PERL int GB_give_buffer_size(void);
310GB_BUFFER GB_give_buffer2(long size);
311char *GB_check_out_buffer(GB_CBUFFER buffer);
312GB_BUFFER GB_give_other_buffer(GB_CBUFFER buffer, long size);
313void GB_atexit(void (*exitfun)());
314void GB_init_gb(void);
315int GB_open_DBs(void);
316void GB_close(GBDATA *gbd);
317long GB_read_int(GBDATA *gbd);
318int GB_read_byte(GBDATA *gbd);
319GBDATA *GB_read_pointer(GBDATA *gbd);
320float GB_read_float(GBDATA *gbd);
321long GB_read_count(GBDATA *gbd);
322long GB_read_memuse(GBDATA *gbd);
323NOT4PERL long GB_calc_structure_size(GBDATA *gbd);
324GB_CSTR GB_read_pntr(GBDATA *gbd);
325GB_CSTR GB_read_char_pntr(GBDATA *gbd);
326char *GB_read_string(GBDATA *gbd);
327size_t GB_read_string_count(GBDATA *gbd);
328long GB_read_bits_count(GBDATA *gbd);
329GB_CSTR GB_read_bits_pntr(GBDATA *gbd, char c_0, char c_1);
330char *GB_read_bits(GBDATA *gbd, char c_0, char c_1);
331GB_CSTR GB_read_bytes_pntr(GBDATA *gbd);
332long GB_read_bytes_count(GBDATA *gbd);
333char *GB_read_bytes(GBDATA *gbd);
334GB_CUINT4 *GB_read_ints_pntr(GBDATA *gbd);
335long GB_read_ints_count(GBDATA *gbd);
336GB_UINT4 *GB_read_ints(GBDATA *gbd);
337GB_CFLOAT *GB_read_floats_pntr(GBDATA *gbd);
338float *GB_read_floats(GBDATA *gbd);
339char *GB_read_as_string(GBDATA *gbd);
340bool GB_readable_as_string(GBDATA *gbd);
341NOT4PERL uint8_t GB_read_lossless_byte(GBDATA *gbd, GB_ERROR& error);
342NOT4PERL int32_t GB_read_lossless_int(GBDATA *gbd, GB_ERROR& error);
343NOT4PERL float GB_read_lossless_float(GBDATA *gbd, GB_ERROR& error);
344long GB_read_from_ints(GBDATA *gbd, long index);
345double GB_read_from_floats(GBDATA *gbd, long index);
346GB_ERROR GB_write_byte(GBDATA *gbd, int i);
347GB_ERROR GB_write_int(GBDATA *gbd, long i);
348GB_ERROR GB_write_pointer(GBDATA *gbd, GBDATA *pointer);
349GB_ERROR GB_write_float(GBDATA *gbd, float f);
350GB_ERROR GB_write_pntr(GBDATA *gbd, const char *s, size_t bytes_size, size_t stored_size);
351GB_ERROR GB_write_string(GBDATA *gbd, const char *s);
352GB_ERROR GB_write_bits(GBDATA *gbd, const char *bits, long size, const char *c_0);
353GB_ERROR GB_write_bytes(GBDATA *gbd, const char *s, long size);
354GB_ERROR GB_write_ints(GBDATA *gbd, const GB_UINT4 *i, long size);
355GB_ERROR GB_write_floats(GBDATA *gbd, const float *f, long size);
356GB_ERROR GB_write_autoconv_string(GBDATA *gbd, const char *val);
357GB_ERROR GB_write_lossless_byte(GBDATA *gbd, uint8_t byte);
358GB_ERROR GB_write_lossless_int(GBDATA *gbd, int32_t i);
359GB_ERROR GB_write_lossless_float(GBDATA *gbd, float f);
360int GB_read_security_write(GBDATA *gbd);
361int GB_read_security_read(GBDATA *gbd);
362int GB_read_security_delete(GBDATA *gbd);
363GB_ERROR GB_write_security_write(GBDATA *gbd, unsigned long level);
364GB_ERROR GB_write_security_read(GBDATA *gbd, unsigned long level);
365GB_ERROR GB_write_security_delete(GBDATA *gbd, unsigned long level);
366GB_ERROR GB_write_security_levels(GBDATA *gbd, unsigned long readlevel, unsigned long writelevel, unsigned long deletelevel);
367void GB_change_my_security(GBDATA *gbd, int level);
368GB_TYPES GB_read_type(GBDATA *gbd);
369bool GB_is_container(GBDATA *gbd);
370char *GB_read_key(GBDATA *gbd);
371GB_CSTR GB_read_key_pntr(GBDATA *gbd);
372GBQUARK GB_find_existing_quark(GBDATA *gbd, const char *key);
373GBQUARK GB_find_or_create_quark(GBDATA *gbd, const char *key);
374GBQUARK GB_get_quark(GBDATA *gbd);
375bool GB_has_key(GBDATA *gbd, const char *key);
376long GB_read_clock(GBDATA *gbd);
377GBDATA *GB_get_father(GBDATA *gbd);
378GBDATA *GB_get_grandfather(GBDATA *gbd);
379GBDATA *GB_get_root(GBDATA *gbd);
380bool GB_is_ancestor_of(GBDATA *gb_ancestor, GBDATA *gb_descendant);
381GBDATA *GB_create(GBDATA *father, const char *key, GB_TYPES type);
382GBDATA *GB_create_container(GBDATA *father, const char *key);
383bool GB_allow_compression(GBDATA *gb_main, bool allow_compression);
384GB_ERROR GB_test_delete_possible(GBDATA *gb_obj);
385GB_ERROR GB_delete(GBDATA*& source);
386GB_ERROR GB_copy_dropProtectMarksAndTempstate(GBDATA *dest, GBDATA *source);
387GB_ERROR GB_copy_dropMarksAndTempstate(GBDATA *dest, GBDATA *source);
388GB_ERROR GB_copy_std(GBDATA *dest, GBDATA *source);
389GB_ERROR GB_copy_overlay(GBDATA *dest, GBDATA *source);
390GB_ERROR GB_copy_full(GBDATA *dest, GBDATA *source);
391GBDATA *GB_clone(GBDATA *gb_destCont, GBDATA *gb_source);
392char *GB_get_subfields(GBDATA *gbd);
393GB_ERROR GB_set_temporary(GBDATA *gbd) __ATTR__USERESULT;
394GB_ERROR GB_clear_temporary(GBDATA *gbd);
395bool GB_is_temporary(GBDATA *gbd);
396bool GB_in_temporary_branch(GBDATA *gbd);
397GB_ERROR GB_push_transaction(GBDATA *gbd);
398GB_ERROR GB_pop_transaction(GBDATA *gbd);
399GB_ERROR GB_begin_transaction(GBDATA *gbd);
400GB_ERROR GB_no_transaction(GBDATA *gbd) __ATTR__USERESULT;
401GB_ERROR GB_abort_transaction(GBDATA *gbd);
402GB_ERROR GB_commit_transaction(GBDATA *gbd);
403GB_ERROR GB_end_transaction(GBDATA *gbd, GB_ERROR error);
404void GB_end_transaction_show_error(GBDATA *gbd, GB_ERROR error, void (*error_handler)(GB_ERROR));
405int GB_get_transaction_level(GBDATA *gbd);
406GB_ERROR GB_release(GBDATA *gbd);
407int GB_nsons(GBDATA *gbd);
408void GB_disable_quicksave(GBDATA *gbd, const char *reason);
409GB_ERROR GB_resort_data_base(GBDATA *gb_main, GBDATA **new_order_list, long listsize);
410bool GB_user_flag(GBDATA *gbd, unsigned char user_bit);
411void GB_raise_user_flag(GBDATA *gbd, unsigned char user_bit);
412void GB_clear_user_flag(GBDATA *gbd, unsigned char user_bit);
413void GB_write_user_flag(GBDATA *gbd, unsigned char user_bit, bool state);
414void GB_write_flag(GBDATA *gbd, long flag);
415int GB_read_flag(GBDATA *gbd);
416void GB_touch(GBDATA *gbd);
417char GB_type_2_char(GB_TYPES type);
418void GB_print_debug_information(struct Unfixed_cb_parameter *, GBDATA *gb_main);
419int GB_info(GBDATA *gbd);
420long GB_number_of_subentries(GBDATA *gbd);
421
422/* gb_aci.cxx */
423NOT4PERL char *GB_command_interpreter_in_env(const char *str, const char *commands, const GBL_call_env& callEnv);
424char *GB_command_interpreter(const char *str, const char *commands, GBDATA *gb_main);
425
426#else
427#error ad_prot.h included twice
428#endif /* AD_PROT_H */
Note: See TracBrowser for help on using the repository browser.