author | David Powell <david.e.powell@oracle.com> |
Tue, 23 Nov 2010 15:54:20 -0800 | |
changeset 604 | 20d9acfeb7fb |
parent 575 | e5ca78dfe938 |
child 714 | 5f40c4b913c9 |
permissions | -rw-r--r-- |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
1 |
/* |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
2 |
* CDDL HEADER START |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
3 |
* |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
4 |
* The contents of this file are subject to the terms of the |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
5 |
* Common Development and Distribution License (the "License"). |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
6 |
* You may not use this file except in compliance with the License. |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
7 |
* |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
8 |
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
9 |
* or http://www.opensolaris.org/os/licensing. |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
10 |
* See the License for the specific language governing permissions |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
11 |
* and limitations under the License. |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
12 |
* |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
13 |
* When distributing Covered Code, include this CDDL HEADER in each |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
14 |
* file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
15 |
* If applicable, add the following below this CDDL HEADER, with the |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
16 |
* fields enclosed by brackets "[]" replaced with your own identifying |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
17 |
* information: Portions Copyright [yyyy] [name of copyright owner] |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
18 |
* |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
19 |
* CDDL HEADER END |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
20 |
*/ |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
21 |
/* |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
22 |
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
23 |
*/ |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
24 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
25 |
#include <sys/mdb_modapi.h> |
604
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
26 |
#include <sys/list_impl.h> |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
27 |
#include <stddef.h> |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
28 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
29 |
#include "../rad_object.h" |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
30 |
#include "../rad_container.h" |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
31 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
32 |
static int |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
33 |
cmd_container(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv) |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
34 |
{ |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
35 |
if (!(flags & DCMD_ADDRSPEC)) { |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
36 |
GElf_Sym sym; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
37 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
38 |
mdb_printf("Defaulting to rad_container_auth:\n"); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
39 |
if (mdb_lookup_by_name("rad_container_auth", &sym) == -1) { |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
40 |
mdb_warn("unable to find rad_container_auth\n"); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
41 |
return (DCMD_ERR); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
42 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
43 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
44 |
addr = sym.st_value; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
45 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
46 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
47 |
if (mdb_pwalk_dcmd("instances", "instance", argc, argv, addr) == -1) { |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
48 |
mdb_warn("couldn't walk 'instances'"); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
49 |
return (DCMD_ERR); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
50 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
51 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
52 |
return (DCMD_OK); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
53 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
54 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
55 |
static int |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
56 |
cmd_instance(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv) |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
57 |
{ |
575
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
58 |
rad_instance_t inst; |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
59 |
char str[200]; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
60 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
61 |
if (DCMD_HDRSPEC(flags)) |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
62 |
mdb_printf("%<u>%?s %16s %s%</u>\n", "ADDR", "ID", "NAME"); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
63 |
|
575
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
64 |
if (mdb_vread(&inst, sizeof (rad_instance_t), addr) == -1) { |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
65 |
mdb_warn("failed to read rad_instance_t at %p", addr); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
66 |
return (DCMD_ERR); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
67 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
68 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
69 |
if (mdb_readstr(str, sizeof (str), (uintptr_t)inst.i_namestr) == -1) { |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
70 |
str[0] = '\0'; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
71 |
(void) strlcat(str, "*READ ERROR*", sizeof (str)); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
72 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
73 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
74 |
mdb_printf("%0?p %16llx %s\n", addr, inst.i_id, str); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
75 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
76 |
return (DCMD_OK); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
77 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
78 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
79 |
typedef struct iwalk_data { |
604
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
80 |
size_t iwd_offset; |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
81 |
uintptr_t iwd_next; |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
82 |
uintptr_t iwd_start; |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
83 |
} iwalk_data_t; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
84 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
85 |
static int |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
86 |
walk_instances_init(mdb_walk_state_t *wsp) |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
87 |
{ |
575
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
88 |
rad_container_t cont; |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
89 |
|
575
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
90 |
if (mdb_vread(&cont, sizeof (rad_container_t), wsp->walk_addr) == -1) { |
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
91 |
mdb_warn("failed to read rad_container_t at %p", |
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
92 |
wsp->walk_addr); |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
93 |
return (WALK_ERR); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
94 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
95 |
|
604
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
96 |
if (cont.c_instances.list_offset != offsetof(rad_instance_t, i_cnode) || |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
97 |
cont.c_instances.list_size != sizeof (rad_instance_t)) { |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
98 |
mdb_warn("invalid/corrupt rad_container_t or " |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
99 |
"mismatched mdb module\n"); |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
100 |
return (WALK_ERR); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
101 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
102 |
|
604
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
103 |
/* Unfortunately, the list_t walker is buried in the genunix module */ |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
104 |
iwalk_data_t *data = mdb_alloc(sizeof (iwalk_data_t), UM_SLEEP | UM_GC); |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
105 |
data->iwd_offset = cont.c_instances.list_offset; |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
106 |
data->iwd_next = (uintptr_t)cont.c_instances.list_head.list_next; |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
107 |
data->iwd_start = |
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
108 |
wsp->walk_addr + offsetof(rad_container_t, c_instances.list_head); |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
109 |
wsp->walk_data = data; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
110 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
111 |
return (WALK_NEXT); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
112 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
113 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
114 |
static int |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
115 |
walk_instances_step(mdb_walk_state_t *wsp) |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
116 |
{ |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
117 |
iwalk_data_t *data = wsp->walk_data; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
118 |
uintptr_t addr; |
575
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
119 |
rad_instance_t inst; |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
120 |
|
604
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
121 |
if (data->iwd_next == data->iwd_start) |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
122 |
return (WALK_DONE); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
123 |
|
604
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
124 |
addr = data->iwd_next - data->iwd_offset; |
575
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
125 |
if (mdb_vread(&inst, sizeof (rad_instance_t), addr) == -1) { |
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
126 |
mdb_warn("error reading rad_instance_t at %p, skipping\n", |
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
127 |
addr); |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
128 |
return (WALK_NEXT); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
129 |
} |
604
20d9acfeb7fb
17421 name key order preservation
David Powell <david.e.powell@oracle.com>
parents:
575
diff
changeset
|
130 |
data->iwd_next = (uintptr_t)inst.i_cnode.list_next; |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
131 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
132 |
return (wsp->walk_callback(addr, &inst, wsp->walk_cbdata)); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
133 |
} |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
134 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
135 |
static const mdb_dcmd_t dcmds[] = { |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
136 |
{ "container", NULL, "display contents of a rad_container_t", |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
137 |
cmd_container }, |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
138 |
{ "instance", NULL, "display a rad_instance_t", cmd_instance }, |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
139 |
{ NULL } |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
140 |
}; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
141 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
142 |
static const mdb_walker_t walkers[] = { |
575
e5ca78dfe938
17085 add component prefixes to adr's method/attribute
David Powell <david.e.powell@oracle.com>
parents:
573
diff
changeset
|
143 |
{ "instances", "walks the instances in a rad_container_t", |
573
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
144 |
walk_instances_init, walk_instances_step }, |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
145 |
{ NULL } |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
146 |
}; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
147 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
148 |
static const mdb_modinfo_t modinfo = { |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
149 |
MDB_API_VERSION, dcmds, walkers |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
150 |
}; |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
151 |
|
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
152 |
const mdb_modinfo_t * |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
153 |
_mdb_init(void) |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
154 |
{ |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
155 |
return (&modinfo); |
f0add9469f92
17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents:
diff
changeset
|
156 |
} |