aboutsummaryrefslogtreecommitdiff
path: root/src/snoop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/snoop.c')
-rw-r--r--src/snoop.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/snoop.c b/src/snoop.c
new file mode 100644
index 0000000..0caae8e
--- /dev/null
+++ b/src/snoop.c
@@ -0,0 +1,39 @@
+#include <stdlib.h>
+
+#include <gran/snoop.h>
+
+struct snoop {
+ enum snoop_state state;
+ uintptr_t addr;
+ size_t size;
+};
+
+struct snoop *create_snoop(uintptr_t addr, size_t size)
+{
+ struct snoop *snoop = calloc(1, sizeof(struct snoop));
+
+ snoop->state = SNOOP_UNANSWERED;
+ snoop->addr = addr;
+ snoop->size = size;
+ return snoop;
+}
+
+enum snoop_state snoop_state(struct snoop *snoop)
+{
+ return snoop->state;
+}
+
+uintptr_t snoop_addr(struct snoop *snoop)
+{
+ return snoop->addr;
+}
+
+size_t snoop_size(struct snoop *snoop)
+{
+ return snoop->size;
+}
+
+destroy_snoop(struct snoop *snoop)
+{
+ free(snoop);
+}