summaryrefslogtreecommitdiffstats
path: root/sys/compat/ndis/ntoskrnl_var.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat/ndis/ntoskrnl_var.h')
-rw-r--r--sys/compat/ndis/ntoskrnl_var.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/compat/ndis/ntoskrnl_var.h b/sys/compat/ndis/ntoskrnl_var.h
index 9447d1b..5d87ff3 100644
--- a/sys/compat/ndis/ntoskrnl_var.h
+++ b/sys/compat/ndis/ntoskrnl_var.h
@@ -40,6 +40,20 @@
#define SPAN_PAGES(ptr, len) \
((uint32_t)((((uintptr_t)(ptr) & (PAGE_SIZE -1)) + \
(len) + (PAGE_SIZE - 1)) >> PAGE_SHIFT))
+#define PAGE_ALIGN(ptr) \
+ ((void *)((uintptr_t)(ptr) & ~(PAGE_SIZE - 1)))
+#define BYTE_OFFSET(ptr) \
+ ((uint32_t)((uintptr_t)(ptr) & (PAGE_SIZE - 1)))
+#define MDL_INIT(b, baseva, len) \
+ (b)->nb_next = NULL; \
+ (b)->nb_size = (uint16_t)(sizeof(struct ndis_buffer) + \
+ (sizeof(uint32_t) * SPAN_PAGES((baseva), (len)))); \
+ (b)->nb_flags = 0; \
+ (b)->nb_startva = (void *)PAGE_ALIGN((baseva)); \
+ (b)->nb_byteoffset = BYTE_OFFSET((baseva)); \
+ (b)->nb_bytecount = (uint32_t)(len);
+#define MDL_VA(b) \
+ ((void *)((char *)((b)->nb_startva) + (b)->nb_byteoffset))
typedef uint32_t kspin_lock;
OpenPOWER on IntegriCloud