This file is indexed.

/usr/lib/grass64/include/grass/proto_dbmi.h is in grass-dev 6.4.3-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
#ifndef _PROTO_DBMI_H_
#define _PROTO_DBMI_H_

void db_Cstring_to_lowercase(char *s);
void db_Cstring_to_uppercase(char *s);
int db_add_column(dbDriver * driver, dbString * tableName, dbColumn * column);
void db__add_cursor_to_driver_state(dbCursor * cursor);
int db_alloc_cursor_column_flags(dbCursor * cursor);
int db_alloc_cursor_table(dbCursor * cursor, int ncols);
dbDirent *db_alloc_dirent_array(int count);
dbHandle *db_alloc_handle_array(int count);
dbIndex *db_alloc_index_array(int count);
int db_alloc_index_columns(dbIndex * index, int ncols);
dbString *db_alloc_string_array(int count);
dbTable *db_alloc_table(int ncols);
int db_append_string(dbString * x, const char *s);
void db_auto_print_errors(int flag);
void db_auto_print_protocol_errors(int flag);
int db_bind_update(dbCursor * cursor);
void *db_calloc(int n, int m);
int db_CatValArray_alloc(dbCatValArray * arr, int n);
int db_CatValArray_realloc(dbCatValArray * arr, int n);
void db_CatValArray_free(dbCatValArray * arr);
void db_CatValArray_init(dbCatValArray * arr);
void db_CatValArray_sort(dbCatValArray * arr);
int db_CatValArray_sort_by_value(dbCatValArray * arr);
int db_CatValArray_get_value(dbCatValArray * arr, int key, dbCatVal **);
int db_CatValArray_get_value_int(dbCatValArray * arr, int key, int *val);
int db_CatValArray_get_value_double(dbCatValArray * arr, int key,
				    double *val);
void db_char_to_lowercase(char *s);
void db_char_to_uppercase(char *s);
void db_clear_error(void);
void db__close_all_cursors(void);
int db_close_cursor(dbCursor * cursor);
int db_close_database(dbDriver * driver);
int db_close_database_shutdown_driver(dbDriver * driver);
int db_column_sqltype(dbDriver * driver, const char *tab, const char *col);
int db_column_Ctype(dbDriver * driver, const char *tab, const char *col);
int db_convert_Cstring_to_column_default_value(const char *Cstring,
					       dbColumn * column);
int db_convert_Cstring_to_column_value(const char *Cstring,
				       dbColumn * column);
int db_convert_Cstring_to_value(const char *Cstring, int sqltype,
				dbValue * value);
int db_convert_Cstring_to_value_datetime(const char *buf, int sqltype,
					 dbValue * value);
int db_convert_column_default_value_to_string(dbColumn * column,
					      dbString * string);
int db_convert_column_value_to_string(dbColumn * column, dbString * string);
int db_convert_value_datetime_into_string(dbValue * value, int sqltype,
					  dbString * string);
int db_convert_value_to_string(dbValue * value, int sqltype,
			       dbString * string);
void db_copy_dbmscap_entry(dbDbmscap * dst, dbDbmscap * src);
int db_copy_string(dbString * dst, dbString * src);
int db_table_to_sql(dbTable *, dbString *);
int db_copy_table(const char *, const char *, const char *, const char *,
		  const char *, const char *);
int db_copy_table_where(const char *, const char *, const char *,
			const char *, const char *, const char *,
			const char *);
int db_copy_table_select(const char *, const char *, const char *,
			 const char *, const char *, const char *,
			 const char *);
int db_copy_table_by_ints(const char *, const char *, const char *,
			  const char *, const char *, const char *,
			  const char *, int *, int);
void db_copy_value(dbValue * dst, dbValue * src);
int db_create_database(dbDriver * driver, dbHandle * handle);
int db_create_index(dbDriver * driver, dbIndex * index);
int db_create_index2(dbDriver * driver, const char *table_name,
		     const char *column_name);
int db_create_table(dbDriver * driver, dbTable * table);
int db_d_add_column(void);
int db_d_bind_update(void);
const char *db_dbmscap_filename(void);
int db_d_close_cursor(void);
int db_d_close_database(void);
int db_d_create_database(void);
int db_d_create_index(void);
int db_d_create_table(void);
int db_d_delete(void);
int db_d_delete_database(void);
int db_d_describe_table(void);
int db_d_drop_column(void);
int db_d_drop_index(void);
int db_d_drop_table(void);
void db_debug(const char *s);
void db_debug_off(void);
void db_debug_on(void);
int db_delete(dbCursor * cursor);
int db_delete_database(dbDriver * driver, dbHandle * handle);
int db_delete_table(const char *, const char *, const char *);
int db_describe_table(dbDriver * driver, dbString * name, dbTable ** table);
int db_d_execute_immediate(void);
int db_d_begin_transaction(void);
int db_d_commit_transaction(void);
int db_d_fetch(void);
int db_d_find_database(void);
int db_d_get_num_rows(void);
int db_d_grant_on_table(void);
int db_d_insert(void);
dbDirent *db_dirent(const char *dirname, int *n);
int db_d_list_databases(void);
int db_d_list_indexes(void);
int db_d_list_tables(void);
int db_d_open_database(void);
int db_d_open_insert_cursor(void);
int db_d_open_select_cursor(void);
int db_d_open_update_cursor(void);
void db_double_quote_string(dbString * src);
int db_driver(int argc, char *argv[]);

int db_driver_mkdir(const char *path, int mode, int parentdirs);
int db_drop_column(dbDriver * driver, dbString * tableName,
		   dbString * columnName);
void db__drop_cursor_from_driver_state(dbCursor * cursor);
int db_drop_index(dbDriver * driver, dbString * name);
int db_drop_table(dbDriver * driver, dbString * name);
void db_drop_token(dbToken token);
int db_d_update(void);
int db_d_version(void);
int db_enlarge_string(dbString * x, int len);
void db_error(const char *s);
int db_execute_immediate(dbDriver * driver, dbString * SQLstatement);
int db_begin_transaction(dbDriver * driver);
int db_commit_transaction(dbDriver * driver);
int db_fetch(dbCursor * cursor, int position, int *more);
int db_find_database(dbDriver * driver, dbHandle * handle, int *found);
dbAddress db_find_token(dbToken token);
void db_free(void *s);
void db_free_column(dbColumn * column);
void db_free_cursor(dbCursor * cursor);
void db_free_cursor_column_flags(dbCursor * cursor);
void db_free_dbmscap(dbDbmscap * list);
void db_free_dirent_array(dbDirent * dirent, int count);
void db_free_handle(dbHandle * handle);
void db_free_handle_array(dbHandle * handle, int count);
void db_free_index(dbIndex * index);
void db_free_index_array(dbIndex * list, int count);
void db_free_string(dbString * x);
void db_free_string_array(dbString * a, int n);
void db_free_table(dbTable * table);
int db_get_column(dbDriver * Driver, const char *tname, const char *cname,
		  dbColumn ** Column);
dbValue *db_get_column_default_value(dbColumn * column);
const char *db_get_column_description(dbColumn * column);
int db_get_column_host_type(dbColumn * column);
int db_get_column_length(dbColumn * column);
const char *db_get_column_name(dbColumn * column);
int db_get_column_precision(dbColumn * column);
int db_get_column_scale(dbColumn * column);
int db_get_column_select_priv(dbColumn * column);
int db_get_column_sqltype(dbColumn * column);
int db_get_column_update_priv(dbColumn * column);
dbValue *db_get_column_value(dbColumn * column);
int db_get_connection(dbConnection * connection);
int db_get_cursor_number_of_columns(dbCursor * cursor);
dbTable *db_get_cursor_table(dbCursor * cursor);
dbToken db_get_cursor_token(dbCursor * cursor);
const char *db_get_default_driver_name(void);
const char *db_get_default_database_name(void);
const char *db_get_default_schema_name(void);
const char *db_get_default_group_name(void);
dbDriverState *db__get_driver_state(void);
int db_get_error_code(void);
const char *db_get_error_msg(void);
const char *db_get_error_who(void);
const char *db_get_handle_dbname(dbHandle * handle);
const char *db_get_handle_dbschema(dbHandle * handle);
const char *db_get_index_column_name(dbIndex * index, int column_num);
const char *db_get_index_name(dbIndex * index);
int db_get_index_number_of_columns(dbIndex * index);
const char *db_get_index_table_name(dbIndex * index);
int db_get_num_rows(dbCursor * cursor);
char *db_get_string(dbString * x);
dbColumn *db_get_table_column(dbTable * table, int n);
int db_get_table_delete_priv(dbTable * table);
const char *db_get_table_description(dbTable * table);
int db_get_table_insert_priv(dbTable * table);
const char *db_get_table_name(dbTable * table);
int db_get_table_number_of_columns(dbTable * table);
int db_get_table_number_of_rows(dbDriver * driver, dbString * sql);
int db_get_table_select_priv(dbTable * table);
int db_get_table_update_priv(dbTable * table);
double db_get_value_as_double(dbValue * value, int ctype);
int db_get_value_day(dbValue * value);
double db_get_value_double(dbValue * value);
int db_get_value_hour(dbValue * value);
int db_get_value_int(dbValue * value);
int db_get_value_minute(dbValue * value);
int db_get_value_month(dbValue * value);
double db_get_value_seconds(dbValue * value);
const char *db_get_value_string(dbValue * value);
int db_get_value_year(dbValue * value);
int db_grant_on_table(dbDriver * driver, const char *tableName, int priv,
		      int to);
int db_has_dbms(void);
void db_init_column(dbColumn * column);
void db_init_cursor(dbCursor * cursor);
void db__init_driver_state(void);
void db_init_handle(dbHandle * handle);
void db_init_index(dbIndex * index);
void db_init_string(dbString * x);
void db_init_table(dbTable * table);
int db_insert(dbCursor * cursor);
void db_interval_range(int sqltype, int *from, int *to);
int db_isdir(const char *path);
int db_legal_tablename(const char *s);
int db_list_databases(dbDriver * driver, dbString * path, int npaths,
		      dbHandle ** handles, int *count);
const char *db_list_drivers(void);
int db_list_indexes(dbDriver * driver, dbString * table_name, dbIndex ** list,
		    int *count);
int db_list_tables(dbDriver * driver, dbString ** names, int *count,
		   int system);
void *db_malloc(int n);
void db__mark_database_closed(void);
void db__mark_database_open(const char *dbname, const char *dbpath);
void db_memory_error(void);
dbToken db_new_token(dbAddress address);
int db_nocase_compare(const char *a, const char *b);
void db_noproc_error(int procnum);
int db_open_database(dbDriver * driver, dbHandle * handle);
int db_open_insert_cursor(dbDriver * driver, dbCursor * cursor);
int db_open_select_cursor(dbDriver * driver, dbString * select,
			  dbCursor * cursor, int mode);
int db_open_update_cursor(dbDriver * driver, dbString * table_name,
			  dbString * select, dbCursor * cursor, int mode);
void db_print_column_definition(FILE * fd, dbColumn * column);
void db_print_error(void);
void db_print_index(FILE * fd, dbIndex * index);
void db_print_table_definition(FILE * fd, dbTable * table);
void db_procedure_not_implemented(const char *name);
void db_protocol_error(void);
dbDbmscap *db_read_dbmscap(void);
void *db_realloc(void *s, int n);
int db__recv_char(char *d);
int db__recv_column_default_value(dbColumn * column);
int db__recv_column_definition(dbColumn * column);
int db__recv_column_value(dbColumn * column);
int db__recv_datetime(dbDateTime * t);
int db__recv_double(double *d);
int db__recv_double_array(double **x, int *n);
int db__recv_float(float *d);
int db__recv_float_array(float **x, int *n);
int db__recv_handle(dbHandle * handle);
int db__recv_index(dbIndex * index);
int db__recv_index_array(dbIndex ** list, int *count);
int db__recv_int(int *n);
int db__recv_int_array(int **x, int *n);
int db__recv_procnum(int *n);
int db__recv_return_code(int *ret_code);
int db__recv_short(short *n);
int db__recv_short_array(short **x, int *n);
int db__recv_string(dbString * x);
int db__recv_string_array(dbString ** a, int *n);
int db__recv_table_data(dbTable * table);
int db__recv_table_definition(dbTable ** table);
int db__recv_token(dbToken * token);
int db__recv_value(dbValue * value, int Ctype);
int db__send_Cstring(const char *s);
int db__send_char(int d);
int db__send_column_default_value(dbColumn * column);
int db__send_column_definition(dbColumn * column);
int db__send_column_value(dbColumn * column);
int db__send_datetime(dbDateTime * t);
int db__send_double(double d);
int db__send_double_array(const double *x, int n);
int db__send_failure(void);
int db__send_float(float d);
int db__send_float_array(const float *x, int n);
int db__send_handle(dbHandle * handle);
int db__send_index(dbIndex * index);
int db__send_index_array(dbIndex * list, int count);
int db__send_int(int n);
int db__send_int_array(const int *x, int n);
int db__send_procedure_not_implemented(int n);
int db__send_procedure_ok(int n);
int db__send_short(int n);
int db__send_short_array(const short *x, int n);
int db__send_string(dbString * x);
int db__send_string_array(dbString * a, int count);
int db__send_success(void);
int db__send_table_data(dbTable * table);
int db__send_table_definition(dbTable * table);
int db__send_token(dbToken * token);
int db__send_value(dbValue * value, int Ctype);
int db_select_CatValArray(dbDriver * driver, const char *tab, const char *key,
			  const char *col, const char *where,
			  dbCatValArray * Cvarr);
int db_select_int(dbDriver * driver, const char *table, const char *column,
		  const char *where, int **pval);
int db_select_value(dbDriver * driver, const char *table, const char *key,
		    int id, const char *column, dbValue * value);
int db_set_column_description(dbColumn * column, const char *description);
void db_set_column_has_defined_default_value(dbColumn * column);
void db_set_column_has_undefined_default_value(dbColumn * column);
void db_set_column_host_type(dbColumn * column, int type);
void db_set_column_length(dbColumn * column, int length);
int db_set_column_name(dbColumn * column, const char *name);
void db_set_column_null_allowed(dbColumn * column);
void db_set_column_precision(dbColumn * column, int precision);
void db_set_column_scale(dbColumn * column, int scale);
void db_set_column_select_priv_granted(dbColumn * column);
void db_set_column_select_priv_not_granted(dbColumn * column);
void db_set_column_sqltype(dbColumn * column, int sqltype);
void db_set_column_update_priv_granted(dbColumn * column);
void db_set_column_update_priv_not_granted(dbColumn * column);
void db_set_column_use_default_value(dbColumn * column);
int db_set_connection(dbConnection * connection);
void db_set_cursor_column_flag(dbCursor * cursor, int col);
void db_set_cursor_column_for_update(dbCursor * cursor, int col);
void db_set_cursor_mode(dbCursor * cursor, int mode);
void db_set_cursor_mode_insensitive(dbCursor * cursor);
void db_set_cursor_mode_scroll(dbCursor * cursor);
void db_set_cursor_table(dbCursor * cursor, dbTable * table);
void db_set_cursor_token(dbCursor * cursor, dbToken token);
void db_set_cursor_type_insert(dbCursor * cursor);
void db_set_cursor_type_readonly(dbCursor * cursor);
void db_set_cursor_type_update(dbCursor * cursor);
int db_set_default_connection(void);
void db_set_error_who(const char *me);
int db_set_handle(dbHandle * handle, const char *dbName, const char *dbPath);
int db_set_index_column_name(dbIndex * index, int column_num,
			     const char *name);
int db_set_index_name(dbIndex * index, const char *name);
int db_set_index_table_name(dbIndex * index, const char *name);
int db_set_index_type_non_unique(dbIndex * index);
int db_set_index_type_unique(dbIndex * index);
void db__set_protocol_fds(FILE * send, FILE * recv);
int db_set_string(dbString * x, const char *s);
int db_set_string_no_copy(dbString * x, char *s);
void db_set_table_delete_priv_granted(dbTable * table);
void db_set_table_delete_priv_not_granted(dbTable * table);
int db_set_table_description(dbTable * table, const char *description);
void db_set_table_insert_priv_granted(dbTable * table);
void db_set_table_insert_priv_not_granted(dbTable * table);
int db_set_table_name(dbTable * table, const char *name);
void db_set_table_select_priv_granted(dbTable * table);
void db_set_table_select_priv_not_granted(dbTable * table);
void db_set_table_update_priv_granted(dbTable * table);
void db_set_table_update_priv_not_granted(dbTable * table);
void db_set_value_datetime_current(dbValue * value);
void db_set_value_datetime_not_current(dbValue * value);
void db_set_value_day(dbValue * value, int day);
void db_set_value_double(dbValue * value, double d);
void db_set_value_hour(dbValue * value, int hour);
void db_set_value_int(dbValue * value, int i);
void db_set_value_minute(dbValue * value, int minute);
void db_set_value_month(dbValue * value, int month);
void db_set_value_not_null(dbValue * value);
void db_set_value_null(dbValue * value);
void db_set_value_seconds(dbValue * value, double seconds);
int db_set_value_string(dbValue * value, const char *s);
void db_set_value_year(dbValue * value, int year);
int db_shutdown_driver(dbDriver * driver);
const char *db_sqltype_name(int sqltype);
int db_sqltype_to_Ctype(int sqltype);
dbDriver *db_start_driver(const char *name);
dbDriver *db_start_driver_open_database(const char *drvname,
					const char *dbname);
int db__start_procedure_call(int procnum);
char *db_store(const char *s);
void db_strip(char *buf);
void db_syserror(const char *s);
int db_table_exists(const char *drvname, const char *dbname,
		    const char *tabname);
int db_test_column_has_default_value(dbColumn * column);
int db_test_column_has_defined_default_value(dbColumn * column);
int db_test_column_has_undefined_default_value(dbColumn * column);
int db_test_column_null_allowed(dbColumn * column);
int db_test_column_use_default_value(dbColumn * column);
int db_test_cursor_any_column_flag(dbCursor * cursor);
int db_test_cursor_any_column_for_update(dbCursor * cursor);
int db_test_cursor_column_flag(dbCursor * cursor, int col);
int db_test_cursor_column_for_update(dbCursor * cursor, int col);
int db_test_cursor_mode_insensitive(dbCursor * cursor);
int db_test_cursor_mode_scroll(dbCursor * cursor);
int db_test_cursor_type_fetch(dbCursor * cursor);
int db_test_cursor_type_insert(dbCursor * cursor);
int db_test_cursor_type_update(dbCursor * cursor);
int db__test_database_open(void);
int db_test_index_type_unique(dbIndex * index);
int db_test_value_datetime_current(dbValue * value);
int db_test_value_isnull(dbValue * value);
void db_unset_column_has_default_value(dbColumn * column);
void db_unset_column_null_allowed(dbColumn * column);
void db_unset_column_use_default_value(dbColumn * column);
void db_unset_cursor_column_flag(dbCursor * cursor, int col);
void db_unset_cursor_column_for_update(dbCursor * cursor, int col);
void db_unset_cursor_mode(dbCursor * cursor);
void db_unset_cursor_mode_insensitive(dbCursor * cursor);
void db_unset_cursor_mode_scroll(dbCursor * cursor);
int db_update(dbCursor * cursor);
int db_gversion(dbDriver * driver, dbString * client_version,
		dbString * driver_version);
const char *db_whoami(void);
void db_zero(void *s, int n);
void db_zero_string(dbString * x);
unsigned int db_sizeof_string(dbString * x);
int db_set_login(const char *, const char *, const char *, const char *);
int db_get_login(const char *, const char *, const char **, const char **);

#endif