1 |
(* |
2 |
* MODULE: consts_pub.h |
3 |
* DESCRIPTION: Public constants' definitions |
4 |
* |
5 |
* The contents of this file are subject to the Interbase Public |
6 |
* License Version 1.0 (the "License"); you may not use this file |
7 |
* except in compliance with the License. You may obtain a copy |
8 |
* of the License at http://www.firebirdsql.org/index.php?op=doc&id=ipl |
9 |
* |
10 |
* Software distributed under the License is distributed on an |
11 |
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express |
12 |
* or implied. See the License for the specific language governing |
13 |
* rights and limitations under the License. |
14 |
* |
15 |
* The Original Code was created by Inprise Corporation |
16 |
* and its predecessors. Portions created by Inprise Corporation are |
17 |
* Copyright (C) Inprise Corporation. |
18 |
* |
19 |
* All Rights Reserved. |
20 |
* Contributor(s): ______________________________________. |
21 |
* |
22 |
* 18.08.2006 Dimitry Sibiryakov: Extracted it from ibase.h |
23 |
* |
24 |
*) |
25 |
|
26 |
const |
27 |
(**********************************) |
28 |
(* Database parameter block stuff *) |
29 |
(**********************************) |
30 |
|
31 |
isc_dpb_version1 = 1; |
32 |
isc_dpb_cdd_pathname = 1; |
33 |
isc_dpb_allocation = 2; |
34 |
isc_dpb_journal = 3; |
35 |
isc_dpb_page_size = 4; |
36 |
isc_dpb_num_buffers = 5; |
37 |
isc_dpb_buffer_length = 6; |
38 |
isc_dpb_debug = 7; |
39 |
isc_dpb_garbage_collect = 8; |
40 |
isc_dpb_verify = 9; |
41 |
isc_dpb_sweep = 10; |
42 |
isc_dpb_enable_journal = 11; |
43 |
isc_dpb_disable_journal = 12; |
44 |
isc_dpb_dbkey_scope = 13; |
45 |
isc_dpb_number_of_users = 14; |
46 |
isc_dpb_trace = 15; |
47 |
isc_dpb_no_garbage_collect = 16; |
48 |
isc_dpb_damaged = 17; |
49 |
isc_dpb_license = 18; |
50 |
isc_dpb_sys_user_name = 19; |
51 |
isc_dpb_encrypt_key = 20; |
52 |
isc_dpb_activate_shadow = 21; |
53 |
isc_dpb_sweep_interval = 22; |
54 |
isc_dpb_delete_shadow = 23; |
55 |
isc_dpb_force_write = 24; |
56 |
isc_dpb_begin_log = 25; |
57 |
isc_dpb_quit_log = 26; |
58 |
isc_dpb_no_reserve = 27; |
59 |
isc_dpb_user_name = 28; |
60 |
isc_dpb_password = 29; |
61 |
isc_dpb_password_enc = 30; |
62 |
isc_dpb_sys_user_name_enc = 31; |
63 |
isc_dpb_interp = 32; |
64 |
isc_dpb_online_dump = 33; |
65 |
isc_dpb_old_file_size = 34; |
66 |
isc_dpb_old_num_files = 35; |
67 |
isc_dpb_old_file = 36; |
68 |
isc_dpb_old_start_page = 37; |
69 |
isc_dpb_old_start_seqno = 38; |
70 |
isc_dpb_old_start_file = 39; |
71 |
isc_dpb_drop_walfile = 40; |
72 |
isc_dpb_old_dump_id = 41; |
73 |
isc_dpb_wal_backup_dir = 42; |
74 |
isc_dpb_wal_chkptlen = 43; |
75 |
isc_dpb_wal_numbufs = 44; |
76 |
isc_dpb_wal_bufsize = 45; |
77 |
isc_dpb_wal_grp_cmt_wait = 46; |
78 |
isc_dpb_lc_messages = 47; |
79 |
isc_dpb_lc_ctype = 48; |
80 |
isc_dpb_cache_manager = 49; |
81 |
isc_dpb_shutdown = 50; |
82 |
isc_dpb_online = 51; |
83 |
isc_dpb_shutdown_delay = 52; |
84 |
isc_dpb_reserved = 53; |
85 |
isc_dpb_overwrite = 54; |
86 |
isc_dpb_sec_attach = 55; |
87 |
isc_dpb_disable_wal = 56; |
88 |
isc_dpb_connect_timeout = 57; |
89 |
isc_dpb_dummy_packet_interval = 58; |
90 |
isc_dpb_gbak_attach = 59; |
91 |
isc_dpb_sql_role_name = 60; |
92 |
isc_dpb_set_page_buffers = 61; |
93 |
isc_dpb_working_directory = 62; |
94 |
isc_dpb_sql_dialect = 63; |
95 |
isc_dpb_set_db_readonly = 64; |
96 |
isc_dpb_set_db_sql_dialect = 65; |
97 |
isc_dpb_gfix_attach = 66; |
98 |
isc_dpb_gstat_attach = 67; |
99 |
isc_dpb_set_db_charset = 68; |
100 |
isc_dpb_gsec_attach = 69; |
101 |
isc_dpb_address_path = 70; |
102 |
isc_dpb_process_id = 71; |
103 |
isc_dpb_no_db_triggers = 72; |
104 |
isc_dpb_trusted_auth = 73; |
105 |
isc_dpb_process_name = 74; |
106 |
isc_dpb_trusted_role = 75; |
107 |
isc_dpb_org_filename = 76; |
108 |
isc_dpb_utf8_filename = 77; |
109 |
isc_dpb_ext_call_depth = 78; |
110 |
isc_dpb_auth_block = 79; |
111 |
isc_dpb_client_version = 80; |
112 |
isc_dpb_remote_protocol = 81; |
113 |
isc_dpb_host_name = 82; |
114 |
isc_dpb_os_user = 83; |
115 |
isc_dpb_specific_auth_data = 84; |
116 |
isc_dpb_auth_plugin_list = 85; |
117 |
isc_dpb_auth_plugin_name = 86; |
118 |
isc_dpb_config = 87; |
119 |
isc_dpb_nolinger = 88; |
120 |
isc_dpb_reset_icu = 89; |
121 |
isc_dpb_map_attach = 90; |
122 |
isc_dpb_last_dpb_constant = isc_dpb_map_attach; |
123 |
|
124 |
(**************************************************) |
125 |
(* clumplet tags used inside isc_dpb_address_path *) |
126 |
(* and isc_spb_address_path *) |
127 |
(**************************************************) |
128 |
|
129 |
(* Format of this clumplet is the following: |
130 |
|
131 |
<address-path-clumplet> ::= |
132 |
isc_dpb_address_path <byte-clumplet-length> <address-stack> |
133 |
|
134 |
<address-stack> ::= |
135 |
<address-descriptor> | |
136 |
<address-stack> <address-descriptor> |
137 |
|
138 |
<address-descriptor> ::= |
139 |
isc_dpb_address <byte-clumplet-length> <address-elements> |
140 |
|
141 |
<address-elements> ::= |
142 |
<address-element> | |
143 |
<address-elements> <address-element> |
144 |
|
145 |
<address-element> ::= |
146 |
isc_dpb_addr_protocol <byte-clumplet-length> <protocol-string> | |
147 |
isc_dpb_addr_endpoint <byte-clumplet-length> <remote-endpoint-string> |
148 |
|
149 |
<protocol-string> ::= |
150 |
"TCPv4" | |
151 |
"TCPv6" | |
152 |
"XNET" | |
153 |
"WNET" | |
154 |
.... |
155 |
|
156 |
<remote-endpoint-string> ::= |
157 |
<IPv4-address> | // such as "172.20.1.1" |
158 |
<IPv6-address> | // such as "2001:0:13FF:09FF::1" |
159 |
<xnet-process-id> | // such as "17864" |
160 |
... |
161 |
*) |
162 |
|
163 |
isc_dpb_address = 1; |
164 |
|
165 |
isc_dpb_addr_protocol = 1; |
166 |
isc_dpb_addr_endpoint = 2; |
167 |
|
168 |
(*********************************) |
169 |
(* isc_dpb_verify specific flags *) |
170 |
(*********************************) |
171 |
|
172 |
isc_dpb_pages = 1; |
173 |
isc_dpb_records = 2; |
174 |
isc_dpb_indices = 4; |
175 |
isc_dpb_transactions = 8; |
176 |
isc_dpb_no_update = 16; |
177 |
isc_dpb_repair = 32; |
178 |
isc_dpb_ignore = 64; |
179 |
|
180 |
(***********************************) |
181 |
(* isc_dpb_shutdown specific flags *) |
182 |
(***********************************) |
183 |
|
184 |
isc_dpb_shut_cache = $1; |
185 |
isc_dpb_shut_attachment = $2; |
186 |
isc_dpb_shut_transaction = $4; |
187 |
isc_dpb_shut_force = $8; |
188 |
isc_dpb_shut_mode_mask = $70; |
189 |
|
190 |
isc_dpb_shut_default = $0; |
191 |
isc_dpb_shut_normal = $10; |
192 |
isc_dpb_shut_multi = $20; |
193 |
isc_dpb_shut_single = $30; |
194 |
isc_dpb_shut_full = $40; |
195 |
|
196 |
(**************************************) |
197 |
(* Bit assignments in RDB$SYSTEM_FLAG *) |
198 |
(**************************************) |
199 |
|
200 |
RDB_system = 1; |
201 |
RDB_id_assigned = 2; |
202 |
(* 2 is for QLI. See jrd/constants.h for more Firebird-specific values. *) |
203 |
|
204 |
|
205 |
(*************************************) |
206 |
(* Transaction parameter block stuff *) |
207 |
(*************************************) |
208 |
|
209 |
isc_tpb_version1 = 1; |
210 |
isc_tpb_version3 = 3; |
211 |
isc_tpb_consistency = 1; |
212 |
isc_tpb_concurrency = 2; |
213 |
isc_tpb_shared = 3; |
214 |
isc_tpb_protected = 4; |
215 |
isc_tpb_exclusive = 5; |
216 |
isc_tpb_wait = 6; |
217 |
isc_tpb_nowait = 7; |
218 |
isc_tpb_read = 8; |
219 |
isc_tpb_write = 9; |
220 |
isc_tpb_lock_read = 10; |
221 |
isc_tpb_lock_write = 11; |
222 |
isc_tpb_verb_time = 12; |
223 |
isc_tpb_commit_time = 13; |
224 |
isc_tpb_ignore_limbo = 14; |
225 |
isc_tpb_read_committed = 15; |
226 |
isc_tpb_autocommit = 16; |
227 |
isc_tpb_rec_version = 17; |
228 |
isc_tpb_no_rec_version = 18; |
229 |
isc_tpb_restart_requests = 19; |
230 |
isc_tpb_no_auto_undo = 20; |
231 |
isc_tpb_lock_timeout = 21; |
232 |
|
233 |
isc_tpb_last_tpb_constant = isc_tpb_lock_timeout; |
234 |
|
235 |
|
236 |
(************************) |
237 |
(* Blob Parameter Block *) |
238 |
(************************) |
239 |
|
240 |
isc_bpb_version1 = 1; |
241 |
isc_bpb_source_type = 1; |
242 |
isc_bpb_target_type = 2; |
243 |
isc_bpb_type = 3; |
244 |
isc_bpb_source_interp = 4; |
245 |
isc_bpb_target_interp = 5; |
246 |
isc_bpb_filter_parameter = 6; |
247 |
isc_bpb_storage = 7; |
248 |
|
249 |
isc_bpb_type_segmented = $0; |
250 |
isc_bpb_type_stream = $1; |
251 |
isc_bpb_storage_main = $0; |
252 |
isc_bpb_storage_temp = $2; |
253 |
|
254 |
|
255 |
(*********************************) |
256 |
(* Service parameter block stuff *) |
257 |
(*********************************) |
258 |
|
259 |
isc_spb_version1 = 1; |
260 |
isc_spb_current_version = 2; |
261 |
isc_spb_version = isc_spb_current_version; |
262 |
isc_spb_user_name = isc_dpb_user_name; |
263 |
isc_spb_sys_user_name = isc_dpb_sys_user_name; |
264 |
isc_spb_sys_user_name_enc = isc_dpb_sys_user_name_enc; |
265 |
isc_spb_password = isc_dpb_password; |
266 |
isc_spb_password_enc = isc_dpb_password_enc; |
267 |
isc_spb_command_line = 105; |
268 |
isc_spb_dbname = 106; |
269 |
isc_spb_verbose = 107; |
270 |
isc_spb_options = 108; |
271 |
isc_spb_address_path = 109; |
272 |
isc_spb_process_id = 110; |
273 |
isc_spb_trusted_auth = 111; |
274 |
isc_spb_process_name = 112; |
275 |
isc_spb_trusted_role = 113; |
276 |
isc_spb_verbint = 114; |
277 |
isc_spb_auth_block = 115; |
278 |
isc_spb_auth_plugin_name = 116; |
279 |
isc_spb_auth_plugin_list = 117; |
280 |
isc_spb_utf8_filename = 118; |
281 |
isc_spb_client_version = 119; |
282 |
isc_spb_remote_protocol = 120; |
283 |
isc_spb_host_name = 121; |
284 |
isc_spb_os_user = 122; |
285 |
isc_spb_config = 123; |
286 |
isc_spb_expected_db = 124; |
287 |
|
288 |
isc_spb_connect_timeout = isc_dpb_connect_timeout; |
289 |
isc_spb_dummy_packet_interval = isc_dpb_dummy_packet_interval; |
290 |
isc_spb_sql_role_name = isc_dpb_sql_role_name; |
291 |
|
292 |
(***************************** |
293 |
* Service action items * |
294 |
*****************************) |
295 |
|
296 |
isc_action_svc_backup = 1; (* Starts database backup process on the server *) |
297 |
isc_action_svc_restore = 2; (* Starts database restore process on the server *) |
298 |
isc_action_svc_repair = 3; (* Starts database repair process on the server *) |
299 |
isc_action_svc_add_user = 4; (* Adds a new user to the security database *) |
300 |
isc_action_svc_delete_user = 5; (* Deletes a user record from the security database *) |
301 |
isc_action_svc_modify_user = 6; (* Modifies a user record in the security database *) |
302 |
isc_action_svc_display_user = 7; (* Displays a user record from the security database *) |
303 |
isc_action_svc_properties = 8; (* Sets database properties *) |
304 |
isc_action_svc_add_license = 9; (* Adds a license to the license file *) |
305 |
isc_action_svc_remove_license = 10; (* Removes a license from the license file *) |
306 |
isc_action_svc_db_stats = 11; (* Retrieves database statistics *) |
307 |
isc_action_svc_get_ib_log = 12; (* Retrieves the InterBase log file from the server *) |
308 |
isc_action_svc_get_fb_log = 12; (* Retrieves the Firebird log file from the server *) |
309 |
isc_action_svc_nbak = 20; (* Incremental nbackup *) |
310 |
isc_action_svc_nrest = 21; (* Incremental database restore *) |
311 |
isc_action_svc_trace_start = 22; // Start trace session |
312 |
isc_action_svc_trace_stop = 23; // Stop trace session |
313 |
isc_action_svc_trace_suspend = 24; // Suspend trace session |
314 |
isc_action_svc_trace_resume = 25; // Resume trace session |
315 |
isc_action_svc_trace_list = 26; // List existing sessions |
316 |
isc_action_svc_set_mapping = 27; // Set auto admins mapping in security database |
317 |
isc_action_svc_drop_mapping = 28; // Drop auto admins mapping in security database |
318 |
isc_action_svc_display_user_adm = 29; // Displays user(s) from security database with admin info |
319 |
isc_action_svc_validate = 30; // Starts database online validation |
320 |
isc_action_svc_last = 31; // keep it last ! |
321 |
|
322 |
(***************************** |
323 |
* Service information items * |
324 |
*****************************) |
325 |
|
326 |
isc_info_svc_svr_db_info = 50; (* Retrieves the number of attachments and databases *) |
327 |
isc_info_svc_get_license = 51; (* Retrieves all license keys and IDs from the license file *) |
328 |
isc_info_svc_get_license_mask = 52; (* Retrieves a bitmask representing licensed options on the server *) |
329 |
isc_info_svc_get_config = 53; (* Retrieves the parameters and values for IB_CONFIG *) |
330 |
isc_info_svc_version = 54; (* Retrieves the version of the services manager *) |
331 |
isc_info_svc_server_version = 55; (* Retrieves the version of the Firebird server *) |
332 |
isc_info_svc_implementation = 56; (* Retrieves the implementation of the Firebird server *) |
333 |
isc_info_svc_capabilities = 57; (* Retrieves a bitmask representing the server's capabilities *) |
334 |
isc_info_svc_user_dbpath = 58; (* Retrieves the path to the security database in use by the server *) |
335 |
isc_info_svc_get_env = 59; (* Retrieves the setting of $FIREBIRD *) |
336 |
isc_info_svc_get_env_lock = 60; (* Retrieves the setting of $FIREBIRD_LCK *) |
337 |
isc_info_svc_get_env_msg = 61; (* Retrieves the setting of $FIREBIRD_MSG *) |
338 |
isc_info_svc_line = 62; (* Retrieves 1 line of service output per call *) |
339 |
isc_info_svc_to_eof = 63; (* Retrieves as much of the server output as will fit in the supplied buffer *) |
340 |
isc_info_svc_timeout = 64; (* Sets / signifies a timeout value for reading service information *) |
341 |
isc_info_svc_get_licensed_users = 65; (* Retrieves the number of users licensed for accessing the server *) |
342 |
isc_info_svc_limbo_trans = 66; (* Retrieve the limbo transactions *) |
343 |
isc_info_svc_running = 67; (* Checks to see if a service is running on an attachment *) |
344 |
isc_info_svc_get_users = 68; (* Returns the user information from isc_action_svc_display_users *) |
345 |
isc_info_svc_stdin = 78; (* Returns size of data, needed as stdin for service *) |
346 |
|
347 |
(****************************************************** |
348 |
* Parameters for isc_action_{add|del|mod|disp)_user * |
349 |
******************************************************) |
350 |
|
351 |
isc_spb_sec_userid = 5; |
352 |
isc_spb_sec_groupid = 6; |
353 |
isc_spb_sec_username = 7; |
354 |
isc_spb_sec_password = 8; |
355 |
isc_spb_sec_groupname = 9; |
356 |
isc_spb_sec_firstname = 10; |
357 |
isc_spb_sec_middlename = 11; |
358 |
isc_spb_sec_lastname = 12; |
359 |
isc_spb_sec_admin = 13; |
360 |
|
361 |
(***************************************** |
362 |
* Parameters for isc_action_svc_validate * |
363 |
*****************************************) |
364 |
|
365 |
isc_spb_val_tab_incl = 1; // include filter based on regular expression |
366 |
isc_spb_val_tab_excl = 2; // exclude filter based on regular expression |
367 |
isc_spb_val_idx_incl = 3; // regexp of indices to validate |
368 |
isc_spb_val_idx_excl = 4; // regexp of indices to NOT validate |
369 |
isc_spb_val_lock_timeout = 5; // how long to wait for table lock |
370 |
|
371 |
|
372 |
|
373 |
(******************************************************* |
374 |
* Parameters for isc_action_svc_(add|remove)_license, * |
375 |
* isc_info_svc_get_license * |
376 |
*******************************************************) |
377 |
|
378 |
isc_spb_lic_key = 5; |
379 |
isc_spb_lic_id = 6; |
380 |
isc_spb_lic_desc = 7; |
381 |
|
382 |
|
383 |
(***************************************** |
384 |
* Parameters for isc_action_svc_backup * |
385 |
*****************************************) |
386 |
|
387 |
isc_spb_bkp_file = 5; |
388 |
isc_spb_bkp_factor = 6; |
389 |
isc_spb_bkp_length = 7; |
390 |
isc_spb_bkp_stat = 15; |
391 |
isc_spb_bkp_ignore_checksums = $01; |
392 |
isc_spb_bkp_ignore_limbo = $02; |
393 |
isc_spb_bkp_metadata_only = $04; |
394 |
isc_spb_bkp_no_garbage_collect = $08; |
395 |
isc_spb_bkp_old_descriptions = $10; |
396 |
isc_spb_bkp_non_transportable = $20; |
397 |
isc_spb_bkp_convert = $40; |
398 |
isc_spb_bkp_expand = $80; |
399 |
isc_spb_bkp_no_triggers = $8000; |
400 |
|
401 |
(******************************************** |
402 |
* Parameters for isc_action_svc_properties * |
403 |
********************************************) |
404 |
|
405 |
isc_spb_prp_page_buffers = 5; |
406 |
isc_spb_prp_sweep_interval = 6; |
407 |
isc_spb_prp_shutdown_db = 7; |
408 |
isc_spb_prp_deny_new_attachments = 9; |
409 |
isc_spb_prp_deny_new_transactions = 10; |
410 |
isc_spb_prp_reserve_space = 11; |
411 |
isc_spb_prp_write_mode = 12; |
412 |
isc_spb_prp_access_mode = 13; |
413 |
isc_spb_prp_set_sql_dialect = 14; |
414 |
isc_spb_prp_activate = $0100; |
415 |
isc_spb_prp_db_online = $0200; |
416 |
isc_spb_prp_nolinger = $0400; |
417 |
isc_spb_prp_force_shutdown = 41; |
418 |
isc_spb_prp_attachments_shutdown = 42; |
419 |
isc_spb_prp_transactions_shutdown = 43; |
420 |
isc_spb_prp_shutdown_mode = 44; |
421 |
isc_spb_prp_online_mode = 45; |
422 |
|
423 |
(******************************************** |
424 |
* Parameters for isc_spb_prp_shutdown_mode * |
425 |
* and isc_spb_prp_online_mode * |
426 |
********************************************) |
427 |
isc_spb_prp_sm_normal = 0; |
428 |
isc_spb_prp_sm_multi = 1; |
429 |
isc_spb_prp_sm_single = 2; |
430 |
isc_spb_prp_sm_full = 3; |
431 |
|
432 |
(******************************************** |
433 |
* Parameters for isc_spb_prp_reserve_space * |
434 |
********************************************) |
435 |
|
436 |
isc_spb_prp_res_use_full = 35; |
437 |
isc_spb_prp_res = 36; |
438 |
|
439 |
(****************************************** |
440 |
* Parameters for isc_spb_prp_write_mode * |
441 |
******************************************) |
442 |
|
443 |
isc_spb_prp_wm_async = 37; |
444 |
isc_spb_prp_wm_sync = 38; |
445 |
|
446 |
(****************************************** |
447 |
* Parameters for isc_spb_prp_access_mode * |
448 |
******************************************) |
449 |
|
450 |
isc_spb_prp_am_readonly = 39; |
451 |
isc_spb_prp_am_readwrite = 40; |
452 |
|
453 |
(***************************************** |
454 |
* Parameters for isc_action_svc_repair * |
455 |
*****************************************) |
456 |
|
457 |
isc_spb_rpr_commit_trans = 15; |
458 |
isc_spb_rpr_rollback_trans = 34; |
459 |
isc_spb_rpr_recover_two_phase = 17; |
460 |
isc_spb_tra_id = 18; |
461 |
isc_spb_single_tra_id = 19; |
462 |
isc_spb_multi_tra_id = 20; |
463 |
isc_spb_tra_state = 21; |
464 |
isc_spb_tra_state_limbo = 22; |
465 |
isc_spb_tra_state_commit = 23; |
466 |
isc_spb_tra_state_rollback = 24; |
467 |
isc_spb_tra_state_unknown = 25; |
468 |
isc_spb_tra_host_site = 26; |
469 |
isc_spb_tra_remote_site = 27; |
470 |
isc_spb_tra_db_path = 28; |
471 |
isc_spb_tra_advise = 29; |
472 |
isc_spb_tra_advise_commit = 30; |
473 |
isc_spb_tra_advise_rollback = 31; |
474 |
isc_spb_tra_advise_unknown = 33; |
475 |
|
476 |
isc_spb_rpr_validate_db = $01; |
477 |
isc_spb_rpr_sweep_db = $02; |
478 |
isc_spb_rpr_mend_db = $04; |
479 |
isc_spb_rpr_list_limbo_trans = $08; |
480 |
isc_spb_rpr_check_db = $10; |
481 |
isc_spb_rpr_ignore_checksum = $20; |
482 |
isc_spb_rpr_kill_shadows = $40; |
483 |
isc_spb_rpr_full = $80; |
484 |
|
485 |
(***************************************** |
486 |
* Parameters for isc_action_svc_restore * |
487 |
*****************************************) |
488 |
|
489 |
isc_spb_res_buffers = 9; |
490 |
isc_spb_res_page_size = 10; |
491 |
isc_spb_res_length = 11; |
492 |
isc_spb_res_access_mode = 12; |
493 |
isc_spb_res_fix_fss_data = 13; |
494 |
isc_spb_res_fix_fss_metadata = 14; |
495 |
isc_spb_res_metadata_only = isc_spb_bkp_metadata_only; |
496 |
isc_spb_res_deactivate_idx = $0100; |
497 |
isc_spb_res_no_shadow = $0200; |
498 |
isc_spb_res_no_validity = $0400; |
499 |
isc_spb_res_one_at_a_time = $0800; |
500 |
isc_spb_res_replace = $1000; |
501 |
isc_spb_res_create = $2000; |
502 |
isc_spb_res_use_all_space = $4000; |
503 |
|
504 |
(****************************************** |
505 |
* Parameters for isc_spb_res_access_mode * |
506 |
******************************************) |
507 |
|
508 |
isc_spb_res_am_readonly = isc_spb_prp_am_readonly; |
509 |
isc_spb_res_am_readwrite = isc_spb_prp_am_readwrite; |
510 |
|
511 |
(******************************************* |
512 |
* Parameters for isc_info_svc_svr_db_info * |
513 |
*******************************************) |
514 |
|
515 |
isc_spb_num_att = 5; |
516 |
isc_spb_num_db = 6; |
517 |
|
518 |
(***************************************** |
519 |
* Parameters for isc_info_svc_db_stats * |
520 |
*****************************************) |
521 |
|
522 |
isc_spb_sts_data_pages = $01; |
523 |
isc_spb_sts_db_log = $02; |
524 |
isc_spb_sts_hdr_pages = $04; |
525 |
isc_spb_sts_idx_pages = $08; |
526 |
isc_spb_sts_sys_relations = $10; |
527 |
isc_spb_sts_record_versions = $20; |
528 |
isc_spb_sts_table = $40; |
529 |
isc_spb_sts_nocreation = $80; |
530 |
|
531 |
(***********************************) |
532 |
(* Server configuration key values *) |
533 |
(***********************************) |
534 |
|
535 |
(* Not available in Firebird 1.5 *) |
536 |
|
537 |
(*************************************** |
538 |
* Parameters for isc_action_svc_nbak * |
539 |
***************************************) |
540 |
|
541 |
isc_spb_nbk_level = 5; |
542 |
isc_spb_nbk_file = 6; |
543 |
isc_spb_nbk_direct = 7; |
544 |
isc_spb_nbk_no_triggers = $01; |
545 |
|
546 |
(*************************************** |
547 |
* Parameters for isc_action_svc_trace * |
548 |
***************************************) |
549 |
|
550 |
isc_spb_trc_id = 1; |
551 |
isc_spb_trc_name = 2; |
552 |
isc_spb_trc_cfg = 3; |
553 |
|
554 |
(**********************************************) |
555 |
(* Dynamic Data Definition Language operators *) |
556 |
(**********************************************) |
557 |
|
558 |
(******************) |
559 |
(* Version number *) |
560 |
(******************) |
561 |
|
562 |
isc_dyn_version_1 = 1; |
563 |
isc_dyn_eoc = 255; |
564 |
|
565 |
(******************************) |
566 |
(* Operations (may be nested) *) |
567 |
(******************************) |
568 |
|
569 |
isc_dyn_begin = 2; |
570 |
isc_dyn_end = 3; |
571 |
isc_dyn_if = 4; |
572 |
isc_dyn_def_database = 5; |
573 |
isc_dyn_def_global_fld = 6; |
574 |
isc_dyn_def_local_fld = 7; |
575 |
isc_dyn_def_idx = 8; |
576 |
isc_dyn_def_rel = 9; |
577 |
isc_dyn_def_sql_fld = 10; |
578 |
isc_dyn_def_view = 12; |
579 |
isc_dyn_def_trigger = 15; |
580 |
isc_dyn_def_security_class = 120; |
581 |
isc_dyn_def_dimension = 140; |
582 |
isc_dyn_def_generator = 24; |
583 |
isc_dyn_def_function = 25; |
584 |
isc_dyn_def_filter = 26; |
585 |
isc_dyn_def_function_arg = 27; |
586 |
isc_dyn_def_shadow = 34; |
587 |
isc_dyn_def_trigger_msg = 17; |
588 |
isc_dyn_def_file = 36; |
589 |
isc_dyn_mod_database = 39; |
590 |
isc_dyn_mod_rel = 11; |
591 |
isc_dyn_mod_global_fld = 13; |
592 |
isc_dyn_mod_idx = 102; |
593 |
isc_dyn_mod_local_fld = 14; |
594 |
isc_dyn_mod_sql_fld = 216; |
595 |
isc_dyn_mod_view = 16; |
596 |
isc_dyn_mod_security_class = 122; |
597 |
isc_dyn_mod_trigger = 113; |
598 |
isc_dyn_mod_trigger_msg = 28; |
599 |
isc_dyn_delete_database = 18; |
600 |
isc_dyn_delete_rel = 19; |
601 |
isc_dyn_delete_global_fld = 20; |
602 |
isc_dyn_delete_local_fld = 21; |
603 |
isc_dyn_delete_idx = 22; |
604 |
isc_dyn_delete_security_class = 123; |
605 |
isc_dyn_delete_dimensions = 143; |
606 |
isc_dyn_delete_trigger = 23; |
607 |
isc_dyn_delete_trigger_msg = 29; |
608 |
isc_dyn_delete_filter = 32; |
609 |
isc_dyn_delete_function = 33; |
610 |
isc_dyn_delete_shadow = 35; |
611 |
isc_dyn_grant = 30; |
612 |
isc_dyn_revoke = 31; |
613 |
isc_dyn_revoke_all = 246; |
614 |
isc_dyn_def_primary_key = 37; |
615 |
isc_dyn_def_foreign_key = 38; |
616 |
isc_dyn_def_unique = 40; |
617 |
isc_dyn_def_procedure = 164; |
618 |
isc_dyn_delete_procedure = 165; |
619 |
isc_dyn_def_parameter = 135; |
620 |
isc_dyn_delete_parameter = 136; |
621 |
isc_dyn_mod_procedure = 175; |
622 |
(* Deprecated. |
623 |
isc_dyn_def_log_file = 176; |
624 |
isc_dyn_def_cache_file = 180; |
625 |
*) |
626 |
isc_dyn_def_exception = 181; |
627 |
isc_dyn_mod_exception = 182; |
628 |
isc_dyn_del_exception = 183; |
629 |
(* Deprecated. |
630 |
isc_dyn_drop_log = 194; |
631 |
isc_dyn_drop_cache = 195; |
632 |
isc_dyn_def_default_log = 202; |
633 |
*) |
634 |
isc_dyn_def_difference = 220; |
635 |
isc_dyn_drop_difference = 221; |
636 |
isc_dyn_begin_backup = 222; |
637 |
isc_dyn_end_backup = 223; |
638 |
isc_dyn_debug_info = 240; |
639 |
|
640 |
(***********************) |
641 |
(* View specific stuff *) |
642 |
(***********************) |
643 |
|
644 |
isc_dyn_view_blr = 43; |
645 |
isc_dyn_view_source = 44; |
646 |
isc_dyn_view_relation = 45; |
647 |
isc_dyn_view_context = 46; |
648 |
isc_dyn_view_context_name = 47; |
649 |
|
650 |
(**********************) |
651 |
(* Generic attributes *) |
652 |
(**********************) |
653 |
|
654 |
isc_dyn_rel_name = 50; |
655 |
isc_dyn_fld_name = 51; |
656 |
isc_dyn_new_fld_name = 215; |
657 |
isc_dyn_idx_name = 52; |
658 |
isc_dyn_description = 53; |
659 |
isc_dyn_security_class = 54; |
660 |
isc_dyn_system_flag = 55; |
661 |
isc_dyn_update_flag = 56; |
662 |
isc_dyn_prc_name = 166; |
663 |
isc_dyn_prm_name = 137; |
664 |
isc_dyn_sql_object = 196; |
665 |
isc_dyn_fld_character_set_name = 174; |
666 |
|
667 |
(********************************) |
668 |
(* Relation specific attributes *) |
669 |
(********************************) |
670 |
|
671 |
isc_dyn_rel_dbkey_length = 61; |
672 |
isc_dyn_rel_store_trig = 62; |
673 |
isc_dyn_rel_modify_trig = 63; |
674 |
isc_dyn_rel_erase_trig = 64; |
675 |
isc_dyn_rel_store_trig_source = 65; |
676 |
isc_dyn_rel_modify_trig_source = 66; |
677 |
isc_dyn_rel_erase_trig_source = 67; |
678 |
isc_dyn_rel_ext_file = 68; |
679 |
isc_dyn_rel_sql_protection = 69; |
680 |
isc_dyn_rel_constraint = 162; |
681 |
isc_dyn_delete_rel_constraint = 163; |
682 |
|
683 |
isc_dyn_rel_temporary = 238; |
684 |
isc_dyn_rel_temp_global_preserve = 1; |
685 |
isc_dyn_rel_temp_global_delete = 2; |
686 |
|
687 |
(************************************) |
688 |
(* Global field specific attributes *) |
689 |
(************************************) |
690 |
|
691 |
isc_dyn_fld_type = 70; |
692 |
isc_dyn_fld_length = 71; |
693 |
isc_dyn_fld_scale = 72; |
694 |
isc_dyn_fld_sub_type = 73; |
695 |
isc_dyn_fld_segment_length = 74; |
696 |
isc_dyn_fld_query_header = 75; |
697 |
isc_dyn_fld_edit_string = 76; |
698 |
isc_dyn_fld_validation_blr = 77; |
699 |
isc_dyn_fld_validation_source = 78; |
700 |
isc_dyn_fld_computed_blr = 79; |
701 |
isc_dyn_fld_computed_source = 80; |
702 |
isc_dyn_fld_missing_value = 81; |
703 |
isc_dyn_fld_default_value = 82; |
704 |
isc_dyn_fld_query_name = 83; |
705 |
isc_dyn_fld_dimensions = 84; |
706 |
isc_dyn_fld_not_null = 85; |
707 |
isc_dyn_fld_precision = 86; |
708 |
isc_dyn_fld_char_length = 172; |
709 |
isc_dyn_fld_collation = 173; |
710 |
isc_dyn_fld_default_source = 193; |
711 |
isc_dyn_del_default = 197; |
712 |
isc_dyn_del_validation = 198; |
713 |
isc_dyn_single_validation = 199; |
714 |
isc_dyn_fld_character_set = 203; |
715 |
isc_dyn_del_computed = 242; |
716 |
|
717 |
(***********************************) |
718 |
(* Local field specific attributes *) |
719 |
(***********************************) |
720 |
|
721 |
isc_dyn_fld_source = 90; |
722 |
isc_dyn_fld_base_fld = 91; |
723 |
isc_dyn_fld_position = 92; |
724 |
isc_dyn_fld_update_flag = 93; |
725 |
|
726 |
(*****************************) |
727 |
(* Index specific attributes *) |
728 |
(*****************************) |
729 |
|
730 |
isc_dyn_idx_unique = 100; |
731 |
isc_dyn_idx_inactive = 101; |
732 |
isc_dyn_idx_type = 103; |
733 |
isc_dyn_idx_foreign_key = 104; |
734 |
isc_dyn_idx_ref_column = 105; |
735 |
isc_dyn_idx_statistic = 204; |
736 |
|
737 |
(*******************************) |
738 |
(* Trigger specific attributes *) |
739 |
(*******************************) |
740 |
|
741 |
isc_dyn_trg_type = 110; |
742 |
isc_dyn_trg_blr = 111; |
743 |
isc_dyn_trg_source = 112; |
744 |
isc_dyn_trg_name = 114; |
745 |
isc_dyn_trg_sequence = 115; |
746 |
isc_dyn_trg_inactive = 116; |
747 |
isc_dyn_trg_msg_number = 117; |
748 |
isc_dyn_trg_msg = 118; |
749 |
|
750 |
(**************************************) |
751 |
(* Security Class specific attributes *) |
752 |
(**************************************) |
753 |
|
754 |
isc_dyn_scl_acl = 121; |
755 |
isc_dyn_grant_user = 130; |
756 |
isc_dyn_grant_user_explicit = 219; |
757 |
isc_dyn_grant_proc = 186; |
758 |
isc_dyn_grant_trig = 187; |
759 |
isc_dyn_grant_view = 188; |
760 |
isc_dyn_grant_options = 132; |
761 |
isc_dyn_grant_user_group = 205; |
762 |
isc_dyn_grant_role = 218; |
763 |
isc_dyn_grant_grantor = 245; |
764 |
|
765 |
|
766 |
(**********************************) |
767 |
(* Dimension specific information *) |
768 |
(**********************************) |
769 |
|
770 |
isc_dyn_dim_lower = 141; |
771 |
isc_dyn_dim_upper = 142; |
772 |
|
773 |
(****************************) |
774 |
(* File specific attributes *) |
775 |
(****************************) |
776 |
|
777 |
isc_dyn_file_name = 125; |
778 |
isc_dyn_file_start = 126; |
779 |
isc_dyn_file_length = 127; |
780 |
isc_dyn_shadow_number = 128; |
781 |
isc_dyn_shadow_man_auto = 129; |
782 |
isc_dyn_shadow_conditional = 130; |
783 |
|
784 |
(********************************) |
785 |
(* Log file specific attributes *) |
786 |
(********************************) |
787 |
(* Deprecated. |
788 |
isc_dyn_log_file_sequence = 177; |
789 |
isc_dyn_log_file_partitions = 178; |
790 |
isc_dyn_log_file_serial = 179; |
791 |
isc_dyn_log_file_overflow = 200; |
792 |
isc_dyn_log_file_raw = 201; |
793 |
*) |
794 |
|
795 |
(***************************) |
796 |
(* Log specific attributes *) |
797 |
(***************************) |
798 |
(* Deprecated. |
799 |
isc_dyn_log_group_commit_wait = 189; |
800 |
isc_dyn_log_buffer_size = 190; |
801 |
isc_dyn_log_check_point_length = 191; |
802 |
isc_dyn_log_num_of_buffers = 192; |
803 |
*) |
804 |
|
805 |
(********************************) |
806 |
(* Function specific attributes *) |
807 |
(********************************) |
808 |
|
809 |
isc_dyn_function_name = 145; |
810 |
isc_dyn_function_type = 146; |
811 |
isc_dyn_func_module_name = 147; |
812 |
isc_dyn_func_entry_point = 148; |
813 |
isc_dyn_func_return_argument = 149; |
814 |
isc_dyn_func_arg_position = 150; |
815 |
isc_dyn_func_mechanism = 151; |
816 |
isc_dyn_filter_in_subtype = 152; |
817 |
isc_dyn_filter_out_subtype = 153; |
818 |
|
819 |
|
820 |
isc_dyn_description2 = 154; |
821 |
isc_dyn_fld_computed_source2 = 155; |
822 |
isc_dyn_fld_edit_string2 = 156; |
823 |
isc_dyn_fld_query_header2 = 157; |
824 |
isc_dyn_fld_validation_source2 = 158; |
825 |
isc_dyn_trg_msg2 = 159; |
826 |
isc_dyn_trg_source2 = 160; |
827 |
isc_dyn_view_source2 = 161; |
828 |
isc_dyn_xcp_msg2 = 184; |
829 |
|
830 |
(*********************************) |
831 |
(* Generator specific attributes *) |
832 |
(*********************************) |
833 |
|
834 |
isc_dyn_generator_name = 95; |
835 |
isc_dyn_generator_id = 96; |
836 |
|
837 |
(*********************************) |
838 |
(* Procedure specific attributes *) |
839 |
(*********************************) |
840 |
|
841 |
isc_dyn_prc_inputs = 167; |
842 |
isc_dyn_prc_outputs = 168; |
843 |
isc_dyn_prc_source = 169; |
844 |
isc_dyn_prc_blr = 170; |
845 |
isc_dyn_prc_source2 = 171; |
846 |
isc_dyn_prc_type = 239; |
847 |
|
848 |
isc_dyn_prc_t_selectable = 1; |
849 |
isc_dyn_prc_t_executable = 2; |
850 |
|
851 |
(*********************************) |
852 |
(* Parameter specific attributes *) |
853 |
(*********************************) |
854 |
|
855 |
isc_dyn_prm_number = 138; |
856 |
isc_dyn_prm_type = 139; |
857 |
isc_dyn_prm_mechanism = 241; |
858 |
|
859 |
(********************************) |
860 |
(* Relation specific attributes *) |
861 |
(********************************) |
862 |
|
863 |
isc_dyn_xcp_msg = 185; |
864 |
|
865 |
(**********************************************) |
866 |
(* Cascading referential integrity values *) |
867 |
(**********************************************) |
868 |
isc_dyn_foreign_key_update = 205; |
869 |
isc_dyn_foreign_key_delete = 206; |
870 |
isc_dyn_foreign_key_cascade = 207; |
871 |
isc_dyn_foreign_key_default = 208; |
872 |
isc_dyn_foreign_key_null = 209; |
873 |
isc_dyn_foreign_key_none = 210; |
874 |
|
875 |
(***********************) |
876 |
(* SQL role values *) |
877 |
(***********************) |
878 |
isc_dyn_def_sql_role = 211; |
879 |
isc_dyn_sql_role_name = 212; |
880 |
isc_dyn_grant_admin_options = 213; |
881 |
isc_dyn_del_sql_role = 214; |
882 |
(* 215 & 216 are used some lines above. *) |
883 |
|
884 |
(**********************************************) |
885 |
(* Generators again *) |
886 |
(**********************************************) |
887 |
|
888 |
isc_dyn_delete_generator = 217; |
889 |
|
890 |
// New for comments in objects. |
891 |
isc_dyn_mod_function = 224; |
892 |
isc_dyn_mod_filter = 225; |
893 |
isc_dyn_mod_generator = 226; |
894 |
isc_dyn_mod_sql_role = 227; |
895 |
isc_dyn_mod_charset = 228; |
896 |
isc_dyn_mod_collation = 229; |
897 |
isc_dyn_mod_prc_parameter = 230; |
898 |
|
899 |
(***********************) |
900 |
(* collation values *) |
901 |
(***********************) |
902 |
isc_dyn_def_collation = 231; |
903 |
isc_dyn_coll_for_charset = 232; |
904 |
isc_dyn_coll_from = 233; |
905 |
isc_dyn_coll_from_external = 239; |
906 |
isc_dyn_coll_attribute = 234; |
907 |
isc_dyn_coll_specific_attributes_charset = 235; |
908 |
isc_dyn_coll_specific_attributes = 236; |
909 |
isc_dyn_del_collation = 237; |
910 |
|
911 |
(******************************************) |
912 |
(* Mapping OS security objects to DB ones *) |
913 |
(******************************************) |
914 |
isc_dyn_mapping = 243; |
915 |
isc_dyn_map_role = 1; |
916 |
isc_dyn_unmap_role = 2; |
917 |
isc_dyn_map_user = 3; |
918 |
isc_dyn_unmap_user = 4; |
919 |
isc_dyn_automap_role = 5; |
920 |
isc_dyn_autounmap_role = 6; |
921 |
|
922 |
(********************) |
923 |
(* Users control *) |
924 |
(********************) |
925 |
isc_dyn_user = 244; |
926 |
isc_dyn_user_add = 1; |
927 |
isc_dyn_user_mod = 2; |
928 |
isc_dyn_user_del = 3; |
929 |
isc_dyn_user_passwd = 4; |
930 |
isc_dyn_user_first = 5; |
931 |
isc_dyn_user_middle = 6; |
932 |
isc_dyn_user_last = 7; |
933 |
isc_dyn_user_admin = 8; |
934 |
isc_user_end = 0; |
935 |
|
936 |
(****************************) |
937 |
(* Last $dyn value assigned *) |
938 |
(****************************) |
939 |
isc_dyn_last_dyn_value = 247; |
940 |
|
941 |
(******************************************) |
942 |
(* Array slice description language (SDL) *) |
943 |
(******************************************) |
944 |
|
945 |
isc_sdl_version1 = 1; |
946 |
isc_sdl_eoc = 255; |
947 |
isc_sdl_relation = 2; |
948 |
isc_sdl_rid = 3; |
949 |
isc_sdl_field = 4; |
950 |
isc_sdl_fid = 5; |
951 |
isc_sdl_struct = 6; |
952 |
isc_sdl_variable = 7; |
953 |
isc_sdl_scalar = 8; |
954 |
isc_sdl_tiny_integer = 9; |
955 |
isc_sdl_short_integer = 10; |
956 |
isc_sdl_long_integer = 11; |
957 |
isc_sdl_literal = 12; |
958 |
isc_sdl_add = 13; |
959 |
isc_sdl_subtract = 14; |
960 |
isc_sdl_multiply = 15; |
961 |
isc_sdl_divide = 16; |
962 |
isc_sdl_negate = 17; |
963 |
isc_sdl_eql = 18; |
964 |
isc_sdl_neq = 19; |
965 |
isc_sdl_gtr = 20; |
966 |
isc_sdl_geq = 21; |
967 |
isc_sdl_lss = 22; |
968 |
isc_sdl_leq = 23; |
969 |
isc_sdl_and = 24; |
970 |
isc_sdl_or = 25; |
971 |
isc_sdl_not = 26; |
972 |
isc_sdl_while = 27; |
973 |
isc_sdl_assignment = 28; |
974 |
isc_sdl_label = 29; |
975 |
isc_sdl_leave = 30; |
976 |
isc_sdl_begin = 31; |
977 |
isc_sdl_end = 32; |
978 |
isc_sdl_do3 = 33; |
979 |
isc_sdl_do2 = 34; |
980 |
isc_sdl_do1 = 35; |
981 |
isc_sdl_element = 36; |
982 |
|
983 |
(********************************************) |
984 |
(* International text interpretation values *) |
985 |
(********************************************) |
986 |
|
987 |
isc_interp_eng_ascii = 0; |
988 |
isc_interp_jpn_sjis = 5; |
989 |
isc_interp_jpn_euc = 6; |
990 |
|
991 |
(*****************) |
992 |
(* Blob Subtypes *) |
993 |
(*****************) |
994 |
|
995 |
(* types less than zero are reserved for customer use *) |
996 |
|
997 |
isc_blob_untyped = 0; |
998 |
|
999 |
(* internal subtypes *) |
1000 |
|
1001 |
isc_blob_text = 1; |
1002 |
isc_blob_blr = 2; |
1003 |
isc_blob_acl = 3; |
1004 |
isc_blob_ranges = 4; |
1005 |
isc_blob_summary = 5; |
1006 |
isc_blob_format = 6; |
1007 |
isc_blob_tra = 7; |
1008 |
isc_blob_extfile = 8; |
1009 |
isc_blob_debug_info = 9; |
1010 |
isc_blob_max_predefined_subtype = 10; |
1011 |
|
1012 |
(* the range 20-30 is reserved for dBASE and Paradox types *) |
1013 |
|
1014 |
isc_blob_formatted_memo = 20; |
1015 |
isc_blob_paradox_ole = 21; |
1016 |
isc_blob_graphic = 22; |
1017 |
isc_blob_dbase_ole = 23; |
1018 |
isc_blob_typed_binary = 24; |
1019 |
|
1020 |
|
1021 |
(***********************************) |
1022 |
(* Masks for fb_shutdown_callback *) |
1023 |
(***********************************) |
1024 |
|
1025 |
fb_shut_confirmation = 1; |
1026 |
fb_shut_preproviders = 2; |
1027 |
fb_shut_postproviders = 4; |
1028 |
fb_shut_finish = 8; |
1029 |
|
1030 |
(****************************************) |
1031 |
(* Shutdown reasons, used by engine *) |
1032 |
(* Users should provide positive values *) |
1033 |
(****************************************) |
1034 |
|
1035 |
fb_shutrsn_svc_stopped = -1; |
1036 |
fb_shutrsn_no_connection = -2; |
1037 |
fb_shutrsn_app_stopped = -3; |
1038 |
fb_shutrsn_device_removed = -4; |
1039 |
fb_shutrsn_signal = -5; |
1040 |
fb_shutrsn_services = -6; |
1041 |
fb_shutrsn_exit_called = -7; |
1042 |
|
1043 |
(****************************************) |
1044 |
(* Cancel types for fb_cancel_operation *) |
1045 |
(****************************************) |
1046 |
|
1047 |
fb_cancel_disable = 1; |
1048 |
fb_cancel_enable = 2; |
1049 |
fb_cancel_raise = 3; |
1050 |
fb_cancel_abort = 4; |
1051 |
|
1052 |
(********************************************) |
1053 |
(* Debug information items *) |
1054 |
(********************************************) |
1055 |
|
1056 |
fb_dbg_version = 1; |
1057 |
fb_dbg_end = 255; |
1058 |
fb_dbg_map_src2blr = 2; |
1059 |
fb_dbg_map_varname = 3; |
1060 |
fb_dbg_map_argument = 4; |
1061 |
|
1062 |
// sub code for fb_dbg_map_argument |
1063 |
fb_dbg_arg_input = 0; |
1064 |
fb_dbg_arg_output = 1; |
1065 |
|
1066 |
|