1libesedb(3)              BSD Library Functions Manual              libesedb(3)
2

NAME

4     libesedb.h — Library to access the Extensible Storage Engine (ESE) Data‐
5     base File (EDB) format
6

LIBRARY

8     library “libesedb”
9

SYNOPSIS

11     #include <libesedb.h>
12
13     Support functions
14
15     const char *
16     libesedb_get_version(void);
17
18     int
19     libesedb_get_access_flags_read(void);
20
21     int
22     libesedb_get_codepage(int *codepage, libesedb_error_t **error);
23
24     int
25     libesedb_set_codepage(int codepage, libesedb_error_t **error);
26
27     int
28     libesedb_check_file_signature(const char *filename, libesedb_error_t **error);
29
30     Available when compiled with wide character string support:
31
32     int
33     libesedb_check_file_signature_wide(const wchar_t *filename, libesedb_error_t **error);
34
35     Available when compiled with libbfio support:
36
37     int
38     libesedb_check_file_signature_file_io_handle(libbfio_handle_t *bfio_handle, libesedb_error_t **error);
39
40     Notify functions
41
42     void
43     libesedb_notify_set_verbose(int verbose);
44
45     int
46     libesedb_notify_set_stream(FILE *stream, libesedb_error_t **error);
47
48     int
49     libesedb_notify_stream_open(const char *filename, libesedb_error_t **error);
50
51     int
52     libesedb_notify_stream_close(libesedb_error_t **error);
53
54     Error functions
55
56     void
57     libesedb_error_free(libesedb_error_t **error);
58
59     int
60     libesedb_error_fprint(libesedb_error_t *error, FILE *stream);
61
62     int
63     libesedb_error_sprint(libesedb_error_t *error, char *string, size_t size);
64
65     int
66     libesedb_error_backtrace_fprint(libesedb_error_t *error, FILE *stream);
67
68     int
69     libesedb_error_backtrace_sprint(libesedb_error_t *error, char *string, size_t size);
70
71     File functions
72
73     int
74     libesedb_file_initialize(libesedb_file_t **file, libesedb_error_t **error);
75
76     int
77     libesedb_file_free(libesedb_file_t **file, libesedb_error_t **error);
78
79     int
80     libesedb_file_signal_abort(libesedb_file_t *file, libesedb_error_t **error);
81
82     int
83     libesedb_file_open(libesedb_file_t *file, const char *filename, int access_flags, libesedb_error_t **error);
84
85     int
86     libesedb_file_close(libesedb_file_t *file, libesedb_error_t **error);
87
88     int
89     libesedb_file_get_type(libesedb_file_t *file, uint32_t *type, libesedb_error_t **error);
90
91     int
92     libesedb_file_get_format_version(libesedb_file_t *file, uint32_t *format_version, uint32_t *format_revision, libesedb_error_t **error);
93
94     int
95     libesedb_file_get_creation_format_version(libesedb_file_t *file, uint32_t *format_version, uint32_t *format_revision, libesedb_error_t **error);
96
97     int
98     libesedb_file_get_page_size(libesedb_file_t *file, uint32_t *page_size, libesedb_error_t **error);
99
100     int
101     libesedb_file_get_number_of_tables(libesedb_file_t *file, int *number_of_tables, libesedb_error_t **error);
102
103     int
104     libesedb_file_get_table(libesedb_file_t *file, int table_entry, libesedb_table_t **table, libesedb_error_t **error);
105
106     int
107     libesedb_file_get_table_by_utf8_name(libesedb_file_t *file, const uint8_t *utf8_string, size_t utf8_string_length, libesedb_table_t **table, libesedb_error_t **error);
108
109     int
110     libesedb_file_get_table_by_utf16_name(libesedb_file_t *file, const uint16_t *utf16_string, size_t utf16_string_length, libesedb_table_t **table, libesedb_error_t **error);
111
112     Available when compiled with wide character string support:
113
114     int
115     libesedb_file_open_wide(libesedb_file_t *file, const wchar_t *filename, int access_flags, libesedb_error_t **error);
116
117     Available when compiled with libbfio support:
118
119     int
120     libesedb_file_open_file_io_handle(libesedb_file_t *file, libbfio_handle_t *file_io_handle, int access_flags, libesedb_error_t **error);
121
122     Table functions
123
124     int
125     libesedb_table_free(libesedb_table_t **table, libesedb_error_t **error);
126
127     int
128     libesedb_table_get_identifier(libesedb_table_t *table, uint32_t *identifier, libesedb_error_t **error);
129
130     int
131     libesedb_table_get_utf8_name_size(libesedb_table_t *table, size_t *utf8_string_size, libesedb_error_t **error);
132
133     int
134     libesedb_table_get_utf8_name(libesedb_table_t *table, uint8_t *utf8_string, size_t utf8_string_size, libesedb_error_t **error);
135
136     int
137     libesedb_table_get_utf16_name_size(libesedb_table_t *table, size_t *utf16_string_size, libesedb_error_t **error);
138
139     int
140     libesedb_table_get_utf16_name(libesedb_table_t *table, uint16_t *utf16_string, size_t utf16_string_size, libesedb_error_t **error);
141
142     int
143     libesedb_table_get_utf8_template_name_size(libesedb_table_t *table, size_t *utf8_string_size, libesedb_error_t **error);
144
145     int
146     libesedb_table_get_utf8_template_name(libesedb_table_t *table, uint8_t *utf8_string, size_t utf8_string_size, libesedb_error_t **error);
147
148     int
149     libesedb_table_get_utf16_template_name_size(libesedb_table_t *table, size_t *utf16_string_size, libesedb_error_t **error);
150
151     int
152     libesedb_table_get_utf16_template_name(libesedb_table_t *table, uint16_t *utf16_string, size_t utf16_string_size, libesedb_error_t **error);
153
154     int
155     libesedb_table_get_number_of_columns(libesedb_table_t *table, int *number_of_columns, uint8_t flags, libesedb_error_t **error);
156
157     int
158     libesedb_table_get_column(libesedb_table_t *table, int column_entry, libesedb_column_t **column, uint8_t flags, libesedb_error_t **error);
159
160     int
161     libesedb_table_get_number_of_indexes(libesedb_table_t *table, int *number_of_indexes, libesedb_error_t **error);
162
163     int
164     libesedb_table_get_index(libesedb_table_t *table, int index_entry, libesedb_index_t **index, libesedb_error_t **error);
165
166     int
167     libesedb_table_get_number_of_records(libesedb_table_t *table, int *number_of_records, libesedb_error_t **error);
168
169     int
170     libesedb_table_get_record(libesedb_table_t *table, int record_entry, libesedb_record_t **record, libesedb_error_t **error);
171
172     Column functions
173
174     int
175     libesedb_column_free(libesedb_column_t **column, libesedb_error_t **error);
176
177     int
178     libesedb_column_get_identifier(libesedb_column_t *column, uint32_t *identifier, libesedb_error_t **error);
179
180     int
181     libesedb_column_get_type(libesedb_column_t *column, uint32_t *type, libesedb_error_t **error);
182
183     int
184     libesedb_column_get_utf8_name_size(libesedb_column_t *column, size_t *utf8_string_size, libesedb_error_t **error);
185
186     int
187     libesedb_column_get_utf8_name(libesedb_column_t *column, uint8_t *utf8_string, size_t utf8_string_size, libesedb_error_t **error);
188
189     int
190     libesedb_column_get_utf16_name_size(libesedb_column_t *column, size_t *utf16_string_size, libesedb_error_t **error);
191
192     int
193     libesedb_column_get_utf16_name(libesedb_column_t *column, uint16_t *utf16_string, size_t utf16_string_size, libesedb_error_t **error);
194
195     Index functions
196
197     int
198     libesedb_index_free(libesedb_index_t **index, libesedb_error_t **error);
199
200     int
201     libesedb_index_get_identifier(libesedb_index_t *index, uint32_t *identifier, libesedb_error_t **error);
202
203     int
204     libesedb_index_get_utf8_name_size(libesedb_index_t *index, size_t *utf8_string_size, libesedb_error_t **error);
205
206     int
207     libesedb_index_get_utf8_name(libesedb_index_t *index, uint8_t *utf8_string, size_t utf8_string_size, libesedb_error_t **error);
208
209     int
210     libesedb_index_get_utf16_name_size(libesedb_index_t *index, size_t *utf16_string_size, libesedb_error_t **error);
211
212     int
213     libesedb_index_get_utf16_name(libesedb_index_t *index, uint16_t *utf16_string, size_t utf16_string_size, libesedb_error_t **error);
214
215     int
216     libesedb_index_get_number_of_records(libesedb_index_t *index, int *number_of_records, libesedb_error_t **error);
217
218     int
219     libesedb_index_get_record(libesedb_index_t *index, int record_entry, libesedb_record_t **record, libesedb_error_t **error);
220
221     Record (row) functions
222
223     int
224     libesedb_record_free(libesedb_record_t **record, libesedb_error_t **error);
225
226     int
227     libesedb_record_get_number_of_values(libesedb_record_t *record, int *number_of_values, libesedb_error_t **error);
228
229     int
230     libesedb_record_get_column_identifier(libesedb_record_t *record, int value_entry, uint32_t *column_identifier, libesedb_error_t **error);
231
232     int
233     libesedb_record_get_column_type(libesedb_record_t *record, int value_entry, uint32_t *column_type, libesedb_error_t **error);
234
235     int
236     libesedb_record_get_utf8_column_name_size(libesedb_record_t *record, int value_entry, size_t *utf8_string_size, libesedb_error_t **error);
237
238     int
239     libesedb_record_get_utf8_column_name(libesedb_record_t *record, int value_entry, uint8_t *utf8_string, size_t utf8_string_size, libesedb_error_t **error);
240
241     int
242     libesedb_record_get_utf16_column_name_size(libesedb_record_t *record, int value_entry, size_t *utf16_string_size, libesedb_error_t **error);
243
244     int
245     libesedb_record_get_utf16_column_name(libesedb_record_t *record, int value_entry, uint16_t *utf16_string, size_t utf16_string_size, libesedb_error_t **error);
246
247     int
248     libesedb_record_get_value_data_size(libesedb_record_t *record, int value_entry, size_t *value_data_size, libesedb_error_t **error);
249
250     int
251     libesedb_record_get_value_data(libesedb_record_t *record, int value_entry, uint8_t *value_data, size_t value_data_size, libesedb_error_t **error);
252
253     int
254     libesedb_record_get_value_data_flags(libesedb_record_t *record, int value_entry, uint8_t *value_data_flags, libesedb_error_t **error);
255
256     int
257     libesedb_record_get_value_boolean(libesedb_record_t *record, int value_entry, uint8_t *value_boolean, libesedb_error_t **error);
258
259     int
260     libesedb_record_get_value_8bit(libesedb_record_t *record, int value_entry, uint8_t *value_8bit, libesedb_error_t **error);
261
262     int
263     libesedb_record_get_value_16bit(libesedb_record_t *record, int value_entry, uint16_t *value_16bit, libesedb_error_t **error);
264
265     int
266     libesedb_record_get_value_32bit(libesedb_record_t *record, int value_entry, uint32_t *value_32bit, libesedb_error_t **error);
267
268     int
269     libesedb_record_get_value_64bit(libesedb_record_t *record, int value_entry, uint64_t *value_64bit, libesedb_error_t **error);
270
271     int
272     libesedb_record_get_value_filetime(libesedb_record_t *record, int value_entry, uint64_t *value_filetime, libesedb_error_t **error);
273
274     int
275     libesedb_record_get_value_floating_point_32bit(libesedb_record_t *record, int value_entry, float *value_floating_point_32bit, libesedb_error_t **error);
276
277     int
278     libesedb_record_get_value_floating_point_64bit(libesedb_record_t *record, int value_entry, double *value_floating_point_64bit, libesedb_error_t **error);
279
280     int
281     libesedb_record_get_value_utf8_string_size(libesedb_record_t *record, int value_entry, size_t *utf8_string_size, libesedb_error_t **error);
282
283     int
284     libesedb_record_get_value_utf8_string(libesedb_record_t *record, int value_entry, uint8_t *utf8_string, size_t utf8_string_size, libesedb_error_t **error);
285
286     int
287     libesedb_record_get_value_utf16_string_size(libesedb_record_t *record, int value_entry, size_t *utf16_string_size, libesedb_error_t **error);
288
289     int
290     libesedb_record_get_value_utf16_string(libesedb_record_t *record, int value_entry, uint16_t *utf16_string, size_t utf16_string_size, libesedb_error_t **error);
291
292     int
293     libesedb_record_get_value_binary_data_size(libesedb_record_t *record, int value_entry, size_t *binary_data_size, libesedb_error_t **error);
294
295     int
296     libesedb_record_get_value_binary_data(libesedb_record_t *record, int value_entry, uint8_t *binary_data, size_t binary_data_size, libesedb_error_t **error);
297
298     int
299     libesedb_record_is_long_value(libesedb_record_t *record, int value_entry, libesedb_error_t **error);
300
301     int
302     libesedb_record_is_multi_value(libesedb_record_t *record, int value_entry, libesedb_error_t **error);
303
304     int
305     libesedb_record_get_long_value(libesedb_record_t *record, int value_entry, libesedb_long_value_t **long_value, libesedb_error_t **error);
306
307     int
308     libesedb_record_get_multi_value(libesedb_record_t *record, int value_entry, libesedb_multi_value_t **multi_value, libesedb_error_t **error);
309
310     Long value functions
311
312     int
313     libesedb_long_value_free(libesedb_long_value_t **long_value, libesedb_error_t **error);
314
315     int
316     libesedb_long_value_get_data_size(libesedb_long_value_t *long_value, size64_t *data_size, libesedb_error_t **error);
317
318     int
319     libesedb_long_value_get_data(libesedb_long_value_t *long_value, uint8_t *data, size_t data_size, libesedb_error_t **error);
320
321     int
322     libesedb_long_value_get_number_of_data_segments(libesedb_long_value_t *long_value, int *number_of_data_segments, libesedb_error_t **error);
323
324     int
325     libesedb_long_value_get_data_segment_size(libesedb_long_value_t *long_value, int data_segment_index, size_t *data_size, libesedb_error_t **error);
326
327     int
328     libesedb_long_value_get_data_segment(libesedb_long_value_t *long_value, int data_segment_index, uint8_t *data_segment, size_t data_size, libesedb_error_t **error);
329
330     int
331     libesedb_long_value_get_utf8_string_size(libesedb_long_value_t *long_value, size_t *utf8_string_size, libesedb_error_t **error);
332
333     int
334     libesedb_long_value_get_utf8_string(libesedb_long_value_t *long_value, uint8_t *utf8_string, size_t utf8_string_size, libesedb_error_t **error);
335
336     int
337     libesedb_long_value_get_utf16_string_size(libesedb_long_value_t *long_value, size_t *utf16_string_size, libesedb_error_t **error);
338
339     int
340     libesedb_long_value_get_utf16_string(libesedb_long_value_t *long_value, uint16_t *utf16_string, size_t utf16_string_size, libesedb_error_t **error);
341
342     Multi value functions
343
344     int
345     libesedb_multi_value_free(libesedb_multi_value_t **multi_value, libesedb_error_t **error);
346
347     int
348     libesedb_multi_value_get_column_type(libesedb_multi_value_t *multi_value, uint32_t *column_type, libesedb_error_t **error);
349
350     int
351     libesedb_multi_value_get_number_of_values(libesedb_multi_value_t *multi_value, int *number_of_values, libesedb_error_t **error);
352
353     int
354     libesedb_multi_value_get_value_data_size(libesedb_multi_value_t *multi_value, int value_entry, size_t *value_data_size, libesedb_error_t **error);
355
356     int
357     libesedb_multi_value_get_value_data(libesedb_multi_value_t *multi_value, int value_entry, uint8_t *value_data, size_t value_data_size, libesedb_error_t **error);
358
359     int
360     libesedb_multi_value_get_value_8bit(libesedb_multi_value_t *multi_value, int multi_value_index, uint8_t *value_8bit, libesedb_error_t **error);
361
362     int
363     libesedb_multi_value_get_value_16bit(libesedb_multi_value_t *multi_value, int multi_value_index, uint16_t *value_16bit, libesedb_error_t **error);
364
365     int
366     libesedb_multi_value_get_value_32bit(libesedb_multi_value_t *multi_value, int multi_value_index, uint32_t *value_32bit, libesedb_error_t **error);
367
368     int
369     libesedb_multi_value_get_value_64bit(libesedb_multi_value_t *multi_value, int multi_value_index, uint64_t *value_64bit, libesedb_error_t **error);
370
371     int
372     libesedb_multi_value_get_value_floating_point_32bit(libesedb_multi_value_t *multi_value, int multi_value_index, float *value_32bit, libesedb_error_t **error);
373
374     int
375     libesedb_multi_value_get_value_floating_point_64bit(libesedb_multi_value_t *multi_value, int multi_value_index, double *value_64bit, libesedb_error_t **error);
376
377     int
378     libesedb_multi_value_get_value_filetime(libesedb_multi_value_t *multi_value, int multi_value_index, uint64_t *value_filetime, libesedb_error_t **error);
379
380     int
381     libesedb_multi_value_get_value_utf8_string_size(libesedb_multi_value_t *multi_value, int multi_value_index, size_t *utf8_string_size, libesedb_error_t **error);
382
383     int
384     libesedb_multi_value_get_value_utf8_string(libesedb_multi_value_t *multi_value, int multi_value_index, uint8_t *utf8_string, size_t utf8_string_size, libesedb_error_t **error);
385
386     int
387     libesedb_multi_value_get_value_utf16_string_size(libesedb_multi_value_t *multi_value, int multi_value_index, size_t *utf16_string_size, libesedb_error_t **error);
388
389     int
390     libesedb_multi_value_get_value_utf16_string(libesedb_multi_value_t *multi_value, int multi_value_index, uint16_t *utf16_string, size_t utf16_string_size, libesedb_error_t **error);
391
392     int
393     libesedb_multi_value_get_value_binary_data_size(libesedb_multi_value_t *multi_value, int multi_value_index, size_t *binary_data_size, libesedb_error_t **error);
394
395     int
396     libesedb_multi_value_get_value_binary_data(libesedb_multi_value_t *multi_value, int multi_value_index, uint8_t *binary_data, size_t binary_data_size, libesedb_error_t **error);
397

DESCRIPTION

399     The libesedb_get_version() function is used to retrieve the library ver‐
400     sion.
401

RETURN VALUES

403     Most of the functions return NULL or -1 on error, dependent on the return
404     type.  For the actual return values see "libesedb.h".
405

ENVIRONMENT

407     None
408

FILES

410     None
411

NOTES

413     libesedb allows to be compiled with wide character support (wchar_t).
414
415     To compile libesedb with wide character support use: ./configure
416     --enable-wide-character-type=yes
417      or define: _UNICODE
418      or UNICODE
419      during compilation.
420
421     LIBESEDB_WIDE_CHARACTER_TYPE
422      in libesedb/features.h can be used to determine if libesedb was compiled
423     with wide character support.
424

BUGS

426     Please report bugs of any kind on the project issue tracker:
427     https://github.com/libyal/libesedb/issues
428

AUTHOR

430     These man pages are generated from "libesedb.h".
431
433     Copyright (C) 2009-2018, Joachim Metz <joachim.metz@gmail.com>.
434
435     This is free software; see the source for copying conditions.  There is
436     NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
437     PURPOSE.
438

SEE ALSO

440     the libesedb.h include file
441
442libesedb                       January 21, 2017                       libesedb
Impressum