Changeset 238 for trunk/include
- Timestamp:
- 04/29/11 16:36:13 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/regfi.h
r233 r238 85 85 #endif 86 86 #ifdef REGFI_WIN32 87 #define _EXPORT __declspec(dllexport)87 #define _EXPORT() __declspec(dllexport) 88 88 #else 89 #define _EXPORT __attribute__((visibility("default")))89 #define _EXPORT() __attribute__((visibility("default"))) 90 90 #endif 91 91 … … 729 729 * registry hive as well as file header (REGF block) data. This structure 730 730 * also stores a list of warnings and error messages generated while parsing 731 * the registry hive. These can be tuned using @ref regfi_ set_message_mask.731 * the registry hive. These can be tuned using @ref regfi_log_set_mask. 732 732 * Messages may be retrieved using @ref regfi_log_get_str. 733 733 * … … 880 880 881 881 882 882 883 /** Returns the current regfi library version 883 884 * … … 886 887 * @ingroup regfiBase 887 888 */ 888 _EXPORT 889 _EXPORT() 889 890 const char* regfi_version(); 890 891 … … 900 901 * @ingroup regfiBase 901 902 */ 902 _EXPORT 903 _EXPORT() 903 904 REGFI_FILE* regfi_alloc(int fd, REGFI_ENCODING output_encoding); 904 905 … … 916 917 * @ingroup regfiBase 917 918 */ 918 _EXPORT 919 _EXPORT() 919 920 REGFI_FILE* regfi_alloc_cb(REGFI_RAW_FILE* file_cb, 920 921 REGFI_ENCODING output_encoding); … … 927 928 * @ingroup regfiBase 928 929 */ 929 _EXPORT 930 _EXPORT() 930 931 void regfi_free(REGFI_FILE* file); 931 932 … … 938 939 * @ingroup regfiBase 939 940 */ 940 _EXPORT 941 _EXPORT() 941 942 char* regfi_log_get_str(); 942 943 … … 968 969 * @ingroup regfiBase 969 970 */ 970 _EXPORT 971 _EXPORT() 971 972 bool regfi_log_set_mask(uint16_t mask); 972 973 … … 979 980 * @ingroup regfiBase 980 981 */ 981 _EXPORT 982 _EXPORT() 982 983 const REGFI_NK* regfi_get_rootkey(REGFI_FILE* file); 983 984 … … 998 999 * @ingroup regfiBase 999 1000 */ 1000 _EXPORT 1001 _EXPORT() 1001 1002 void regfi_free_record(REGFI_FILE* file, const void* record); 1002 1003 … … 1019 1020 * @ingroup regfiBase 1020 1021 */ 1021 _EXPORT 1022 _EXPORT() 1022 1023 bool regfi_reference_record(REGFI_FILE* file, const void* record); 1023 1024 … … 1034 1035 * @ingroup regfiBase 1035 1036 */ 1036 _EXPORT 1037 _EXPORT() 1037 1038 uint32_t regfi_fetch_num_subkeys(const REGFI_NK* key); 1038 1039 … … 1049 1050 * @ingroup regfiBase 1050 1051 */ 1051 _EXPORT 1052 _EXPORT() 1052 1053 uint32_t regfi_fetch_num_values(const REGFI_NK* key); 1053 1054 … … 1063 1064 * @ingroup regfiBase 1064 1065 */ 1065 _EXPORT 1066 _EXPORT() 1066 1067 const REGFI_CLASSNAME* regfi_fetch_classname(REGFI_FILE* file, 1067 1068 const REGFI_NK* key); … … 1077 1078 * @ingroup regfiBase 1078 1079 */ 1079 _EXPORT 1080 _EXPORT() 1080 1081 const REGFI_SK* regfi_fetch_sk(REGFI_FILE* file, const REGFI_NK* key); 1081 1082 … … 1091 1092 * @ingroup regfiBase 1092 1093 */ 1093 _EXPORT 1094 _EXPORT() 1094 1095 const REGFI_DATA* regfi_fetch_data(REGFI_FILE* file, 1095 1096 const REGFI_VK* value); … … 1110 1111 * @ingroup regfiBase 1111 1112 */ 1112 _EXPORT 1113 _EXPORT() 1113 1114 bool regfi_find_subkey(REGFI_FILE* file, const REGFI_NK* key, 1114 1115 const char* name, uint32_t* index); … … 1129 1130 * @ingroup regfiBase 1130 1131 */ 1131 _EXPORT 1132 _EXPORT() 1132 1133 bool regfi_find_value(REGFI_FILE* file, const REGFI_NK* key, 1133 1134 const char* name, uint32_t* index); … … 1144 1145 * @ingroup regfiBase 1145 1146 */ 1146 _EXPORT 1147 _EXPORT() 1147 1148 const REGFI_NK* regfi_get_subkey(REGFI_FILE* file, const REGFI_NK* key, 1148 1149 uint32_t index); … … 1159 1160 * @ingroup regfiBase 1160 1161 */ 1161 _EXPORT 1162 _EXPORT() 1162 1163 const REGFI_VK* regfi_get_value(REGFI_FILE* file, const REGFI_NK* key, 1163 1164 uint32_t index); … … 1174 1175 * @ingroup regfiBase 1175 1176 */ 1176 _EXPORT 1177 _EXPORT() 1177 1178 const REGFI_NK* regfi_get_parentkey(REGFI_FILE* file, const REGFI_NK* key); 1178 1179 … … 1205 1206 * @ingroup regfiIteratorLayer 1206 1207 */ 1207 _EXPORT 1208 _EXPORT() 1208 1209 REGFI_ITERATOR* regfi_iterator_new(REGFI_FILE* file); 1209 1210 … … 1217 1218 * @ingroup regfiIteratorLayer 1218 1219 */ 1219 _EXPORT 1220 _EXPORT() 1220 1221 void regfi_iterator_free(REGFI_ITERATOR* i); 1221 1222 … … 1234 1235 * @ingroup regfiIteratorLayer 1235 1236 */ 1236 _EXPORT 1237 _EXPORT() 1237 1238 bool regfi_iterator_down(REGFI_ITERATOR* i); 1238 1239 … … 1247 1248 * @ingroup regfiIteratorLayer 1248 1249 */ 1249 _EXPORT 1250 _EXPORT() 1250 1251 bool regfi_iterator_up(REGFI_ITERATOR* i); 1251 1252 … … 1259 1260 * @ingroup regfiIteratorLayer 1260 1261 */ 1261 _EXPORT 1262 _EXPORT() 1262 1263 bool regfi_iterator_to_root(REGFI_ITERATOR* i); 1263 1264 … … 1281 1282 * @ingroup regfiIteratorLayer 1282 1283 */ 1283 _EXPORT 1284 _EXPORT() 1284 1285 bool regfi_iterator_walk_path(REGFI_ITERATOR* i, const char** path); 1285 1286 … … 1294 1295 * @ingroup regfiIteratorLayer 1295 1296 */ 1296 _EXPORT 1297 _EXPORT() 1297 1298 const REGFI_NK* regfi_iterator_cur_key(REGFI_ITERATOR* i); 1298 1299 … … 1307 1308 * @ingroup regfiIteratorLayer 1308 1309 */ 1309 _EXPORT 1310 _EXPORT() 1310 1311 bool regfi_iterator_first_subkey(REGFI_ITERATOR* i); 1311 1312 … … 1321 1322 * @ingroup regfiIteratorLayer 1322 1323 */ 1323 _EXPORT 1324 _EXPORT() 1324 1325 const REGFI_NK* regfi_iterator_cur_subkey(REGFI_ITERATOR* i); 1325 1326 … … 1333 1334 * @ingroup regfiIteratorLayer 1334 1335 */ 1335 _EXPORT 1336 _EXPORT() 1336 1337 bool regfi_iterator_next_subkey(REGFI_ITERATOR* i); 1337 1338 … … 1348 1349 * @ingroup regfiIteratorLayer 1349 1350 */ 1350 _EXPORT 1351 _EXPORT() 1351 1352 bool regfi_iterator_find_subkey(REGFI_ITERATOR* i, const char* name); 1352 1353 … … 1361 1362 * @ingroup regfiIteratorLayer 1362 1363 */ 1363 _EXPORT 1364 _EXPORT() 1364 1365 bool regfi_iterator_first_value(REGFI_ITERATOR* i); 1365 1366 … … 1375 1376 * @ingroup regfiIteratorLayer 1376 1377 */ 1377 _EXPORT 1378 _EXPORT() 1378 1379 const REGFI_VK* regfi_iterator_cur_value(REGFI_ITERATOR* i); 1379 1380 … … 1387 1388 * @ingroup regfiIteratorLayer 1388 1389 */ 1389 _EXPORT 1390 _EXPORT() 1390 1391 bool regfi_iterator_next_value(REGFI_ITERATOR* i); 1391 1392 … … 1402 1403 * @ingroup regfiIteratorLayer 1403 1404 */ 1404 _EXPORT 1405 _EXPORT() 1405 1406 bool regfi_iterator_find_value(REGFI_ITERATOR* i, const char* name); 1406 1407 … … 1418 1419 * @ingroup regfiGlueLayer 1419 1420 */ 1420 _EXPORT 1421 _EXPORT() 1421 1422 REGFI_NK* regfi_load_key(REGFI_FILE* file, uint32_t offset, 1422 1423 REGFI_ENCODING output_encoding, … … 1430 1431 * @ingroup regfiGlueLayer 1431 1432 */ 1432 _EXPORT 1433 _EXPORT() 1433 1434 REGFI_VK* regfi_load_value(REGFI_FILE* file, uint32_t offset, 1434 1435 REGFI_ENCODING output_encoding, … … 1442 1443 * @ingroup regfiGlueLayer 1443 1444 */ 1444 _EXPORT 1445 _EXPORT() 1445 1446 REGFI_SUBKEY_LIST* regfi_load_subkeylist(REGFI_FILE* file, uint32_t offset, 1446 1447 uint32_t num_keys, uint32_t max_size, … … 1454 1455 * @ingroup regfiGlueLayer 1455 1456 */ 1456 _EXPORT 1457 _EXPORT() 1457 1458 REGFI_VALUE_LIST* regfi_load_valuelist(REGFI_FILE* file, uint32_t offset, 1458 1459 uint32_t num_values, uint32_t max_size, … … 1467 1468 * @ingroup regfiGlueLayer 1468 1469 */ 1469 _EXPORT 1470 _EXPORT() 1470 1471 REGFI_BUFFER regfi_load_data(REGFI_FILE* file, uint32_t voffset, 1471 1472 uint32_t length, bool data_in_offset, … … 1479 1480 * @ingroup regfiGlueLayer 1480 1481 */ 1481 _EXPORT 1482 _EXPORT() 1482 1483 REGFI_BUFFER regfi_load_big_data(REGFI_FILE* file, uint32_t offset, 1483 1484 uint32_t data_length,uint32_t cell_length, … … 1493 1494 * @ingroup regfiGlueLayer 1494 1495 */ 1495 _EXPORT 1496 _EXPORT() 1496 1497 bool regfi_interpret_data(REGFI_FILE* file, 1497 1498 REGFI_ENCODING string_encoding, … … 1508 1509 * @ingroup regfiGlueLayer 1509 1510 */ 1510 _EXPORT 1511 _EXPORT() 1511 1512 const REGFI_SK* regfi_load_sk(REGFI_FILE* file, uint32_t offset, 1512 1513 bool strict); … … 1521 1522 * @ingroup regfiGlueLayer 1522 1523 */ 1523 _EXPORT 1524 _EXPORT() 1524 1525 const REGFI_HBIN* regfi_lookup_hbin(REGFI_FILE* file, uint32_t offset); 1525 1526 … … 1532 1533 /******************************************************************************/ 1533 1534 1534 _EXPORT 1535 _EXPORT() 1535 1536 REGFI_FILE* regfi_parse_regf(REGFI_RAW_FILE* file_cb, bool strict); 1536 1537 1537 _EXPORT 1538 _EXPORT() 1538 1539 REGFI_HBIN* regfi_parse_hbin(REGFI_FILE* file, uint32_t offset, 1539 1540 bool strict); … … 1552 1553 * @ingroup regfiParseLayer 1553 1554 */ 1554 _EXPORT 1555 _EXPORT() 1555 1556 REGFI_NK* regfi_parse_nk(REGFI_FILE* file, uint32_t offset, 1556 1557 uint32_t max_size, bool strict); … … 1563 1564 * @ingroup regfiParseLayer 1564 1565 */ 1565 _EXPORT 1566 _EXPORT() 1566 1567 REGFI_SUBKEY_LIST* regfi_parse_subkeylist(REGFI_FILE* file, uint32_t offset, 1567 1568 uint32_t max_size, bool strict); … … 1574 1575 * @ingroup regfiParseLayer 1575 1576 */ 1576 _EXPORT 1577 _EXPORT() 1577 1578 REGFI_VK* regfi_parse_vk(REGFI_FILE* file, uint32_t offset, 1578 1579 uint32_t max_size, bool strict); … … 1585 1586 * @ingroup regfiParseLayer 1586 1587 */ 1587 _EXPORT 1588 _EXPORT() 1588 1589 REGFI_SK* regfi_parse_sk(REGFI_FILE* file, uint32_t offset, 1589 1590 uint32_t max_size, bool strict); … … 1599 1600 * @ingroup regfiParseLayer 1600 1601 */ 1601 _EXPORT 1602 _EXPORT() 1602 1603 range_list* regfi_parse_unalloc_cells(REGFI_FILE* file); 1603 1604 … … 1609 1610 * @ingroup regfiParseLayer 1610 1611 */ 1611 _EXPORT 1612 _EXPORT() 1612 1613 bool regfi_parse_cell(REGFI_RAW_FILE* file_cb, uint32_t offset, 1613 1614 uint8_t* hdr, uint32_t hdr_len, … … 1621 1622 * @ingroup regfiParseLayer 1622 1623 */ 1623 _EXPORT 1624 _EXPORT() 1624 1625 uint8_t* regfi_parse_classname(REGFI_FILE* file, uint32_t offset, 1625 1626 uint16_t* name_length, … … 1633 1634 * @ingroup regfiParseLayer 1634 1635 */ 1635 _EXPORT 1636 _EXPORT() 1636 1637 REGFI_BUFFER regfi_parse_data(REGFI_FILE* file, uint32_t offset, 1637 1638 uint32_t length, bool strict); … … 1645 1646 * @ingroup regfiParseLayer 1646 1647 */ 1647 _EXPORT 1648 _EXPORT() 1648 1649 REGFI_BUFFER regfi_parse_little_data(REGFI_FILE* file, uint32_t voffset, 1649 1650 uint32_t length, bool strict); … … 1657 1658 ssize_t regfi_raw_read(REGFI_RAW_FILE* self, 1658 1659 void* buf, size_t count); 1659 _EXPORT 1660 _EXPORT() 1660 1661 uint64_t regfi_seek(REGFI_RAW_FILE* file_cb, 1661 1662 uint64_t offset, int whence); 1662 _EXPORT 1663 _EXPORT() 1663 1664 uint32_t regfi_read(REGFI_RAW_FILE* file_cb, 1664 1665 uint8_t* buf, uint32_t* length); 1665 1666 1666 _EXPORT 1667 _EXPORT() 1667 1668 const char* regfi_type_val2str(unsigned int val); 1668 _EXPORT 1669 _EXPORT() 1669 1670 int regfi_type_str2val(const char* str); 1670 1671 1671 _EXPORT 1672 _EXPORT() 1672 1673 char* regfi_get_sacl(WINSEC_DESC* sec_desc); 1673 _EXPORT 1674 _EXPORT() 1674 1675 char* regfi_get_dacl(WINSEC_DESC* sec_desc); 1675 _EXPORT 1676 _EXPORT() 1676 1677 char* regfi_get_owner(WINSEC_DESC* sec_desc); 1677 _EXPORT 1678 _EXPORT() 1678 1679 char* regfi_get_group(WINSEC_DESC* sec_desc); 1679 1680 … … 1688 1689 REGFI_NK* regfi_copy_nk(const REGFI_NK* nk); 1689 1690 REGFI_VK* regfi_copy_vk(const REGFI_VK* vk); 1690 _EXPORT 1691 _EXPORT() 1691 1692 int32_t regfi_calc_maxsize(REGFI_FILE* file, uint32_t offset); 1692 1693 int32_t regfi_conv_charset(const char* input_charset, … … 1694 1695 uint8_t* input, char* output, 1695 1696 uint32_t input_len, uint32_t output_max); 1696 _EXPORT 1697 _EXPORT() 1697 1698 REGFI_DATA* regfi_buffer_to_data(REGFI_BUFFER raw_data); 1698 1699 1699 1700 /* XXX: move to base API and document */ 1700 _EXPORT 1701 _EXPORT() 1701 1702 void regfi_unix2nt_time(REGFI_NTTIME* nt, time_t t); 1702 _EXPORT 1703 _EXPORT() 1703 1704 double regfi_nt2unix_time(const REGFI_NTTIME* nt); 1704 1705 1705 1706 1706 _EXPORT 1707 _EXPORT() 1707 1708 void regfi_interpret_keyname(REGFI_FILE* file, REGFI_NK* nk, 1708 1709 REGFI_ENCODING output_encoding, bool strict); 1709 _EXPORT 1710 _EXPORT() 1710 1711 void regfi_interpret_valuename(REGFI_FILE* file, REGFI_VK* vk, 1711 1712 REGFI_ENCODING output_encoding, bool strict); 1712 1713 1713 _EXPORT 1714 _EXPORT() 1714 1715 void regfi_init(); 1715 1716
Note: See TracChangeset
for help on using the changeset viewer.