4 typedef uint64_t vm_address_t
;
5 typedef uint64_t vm_size_t
;
8 #define KMOD_MAX_NAME 64
11 typedef struct kmod_info
{
12 struct kmod_info
* next
;
13 int32_t info_version
; // version of this structure
15 char name
[KMOD_MAX_NAME
];
16 char version
[KMOD_MAX_NAME
];
17 int32_t reference_count
; // # linkage refs to this
18 void * reference_list
; // who this refs (links on)
19 vm_address_t address
; // starting address
20 vm_size_t size
; // total size
21 vm_size_t hdr_size
; // unwired hdr size
27 #define KMOD_INFO_NAME kmod_info
28 #define KMOD_INFO_VERSION 1
29 #define KMOD_DECL(name, version) \
30 static kmod_start_func_t name ## _module_start; \
31 static kmod_stop_func_t name ## _module_stop; \
32 kmod_info_t KMOD_INFO_NAME = { 0, KMOD_INFO_VERSION, -1U, \
33 { #name }, { version }, -1, 0, 0, 0, 0, \
34 name ## _module_start, \
35 name ## _module_stop };
36 #define KMOD_EXPLICIT_DECL(name, version, start, stop) \
37 kmod_info_t KMOD_INFO_NAME = { 0, KMOD_INFO_VERSION, -1U, \
38 { #name }, { version }, -1, 0, 0, 0, 0, \