summaryrefslogtreecommitdiff
path: root/src/analysis/scan/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/scan/core.c')
-rw-r--r--src/analysis/scan/core.c96
1 files changed, 83 insertions, 13 deletions
diff --git a/src/analysis/scan/core.c b/src/analysis/scan/core.c
index aef9abd..d940ab5 100644
--- a/src/analysis/scan/core.c
+++ b/src/analysis/scan/core.c
@@ -24,8 +24,20 @@
#include "core.h"
+#include <config.h>
+
+
+#include "items/count.h"
#include "items/datasize.h"
#include "items/uint.h"
+#include "items/console/log.h"
+#ifdef HAVE_MAGIC_SUPPORT
+# include "items/magic/type.h"
+# include "items/magic/mime-encoding.h"
+# include "items/magic/mime-type.h"
+#endif
+#include "items/time/make.h"
+#include "items/time/now.h"
@@ -43,25 +55,83 @@
bool populate_main_scan_namespace(GScanNamespace *space)
{
- bool result;
+ bool result; /* Bilan à retourner */
+ GScanNamespace *ns; /* Nouvel espace de noms */
result = true;
-#define REGISTER_FUNC(s, f) \
- ({ \
- bool __result; \
- __result = g_scan_namespace_register_item(s, G_REGISTERED_ITEM(f)); \
- g_object_unref(G_OBJECT(f)); \
- __result; \
+#define REGISTER_FUNC(s, f) \
+ ({ \
+ bool __result; \
+ __result = g_scan_namespace_register_item(s, f); \
+ g_object_unref(G_OBJECT(f)); \
+ __result; \
})
- if (result) result = REGISTER_FUNC(space, g_datasize_function_new());
- //if (result) result = REGISTER_FUNC(space, g_datasize_function_new(), "filesize"); /* Alias */
+ if (result) result = REGISTER_FUNC(space, g_scan_count_function_new());
+ if (result) result = REGISTER_FUNC(space, g_scan_datasize_function_new());
+
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_8_BITS_SIGNED, SRE_LITTLE));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_8_BITS_UNSIGNED, SRE_LITTLE));
+
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_16_BITS_SIGNED, SRE_LITTLE));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_16_BITS_SIGNED, SRE_BIG));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_16_BITS_UNSIGNED, SRE_LITTLE));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_16_BITS_UNSIGNED, SRE_BIG));
+
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_32_BITS_SIGNED, SRE_LITTLE));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_32_BITS_SIGNED, SRE_BIG));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_32_BITS_UNSIGNED, SRE_LITTLE));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_32_BITS_UNSIGNED, SRE_BIG));
+
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_64_BITS_SIGNED, SRE_LITTLE));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_64_BITS_SIGNED, SRE_BIG));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_64_BITS_UNSIGNED, SRE_LITTLE));
+ if (result) result = REGISTER_FUNC(space, g_scan_uint_function_new(MDS_64_BITS_UNSIGNED, SRE_BIG));
+
+ /* Console */
+
+ if (result)
+ {
+ ns = g_scan_namespace_new("console");
+ result = g_scan_namespace_register_item(space, G_REGISTERED_ITEM(ns));
+
+ if (result) result = REGISTER_FUNC(ns, g_scan_console_log_function_new());
+
+ g_object_unref(G_OBJECT(ns));
+
+ }
+
+ /* Magic */
+
+#ifdef HAVE_MAGIC_SUPPORT
+ if (result)
+ {
+ ns = g_scan_namespace_new("magic");
+ result = g_scan_namespace_register_item(space, G_REGISTERED_ITEM(ns));
+
+ if (result) result = REGISTER_FUNC(ns, g_scan_magic_type_function_new());
+ if (result) result = REGISTER_FUNC(ns, g_scan_mime_encoding_function_new());
+ if (result) result = REGISTER_FUNC(ns, g_scan_mime_type_function_new());
+
+ g_object_unref(G_OBJECT(ns));
+
+ }
+#endif
+
+ /* Time */
+
+ if (result)
+ {
+ ns = g_scan_namespace_new("time");
+ result = g_scan_namespace_register_item(space, G_REGISTERED_ITEM(ns));
+
+ if (result) result = REGISTER_FUNC(ns, g_scan_time_make_function_new());
+ if (result) result = REGISTER_FUNC(ns, g_scan_time_now_function_new());
+
+ g_object_unref(G_OBJECT(ns));
- if (result) result = REGISTER_FUNC(space, g_uint_function_new(MDS_8_BITS_UNSIGNED));
- if (result) result = REGISTER_FUNC(space, g_uint_function_new(MDS_16_BITS_UNSIGNED));
- if (result) result = REGISTER_FUNC(space, g_uint_function_new(MDS_32_BITS_UNSIGNED));
- if (result) result = REGISTER_FUNC(space, g_uint_function_new(MDS_64_BITS_UNSIGNED));
+ }
return result;