Lines Matching refs:stub
36 #include "stub.h"
74 const struct mapi_stub *stub = (const struct mapi_stub *) elem;
77 stub_name = &public_string_pool[(unsigned long) stub->name];
83 * Return the public stub with the given name.
93 * Add a dynamic stub.
98 struct mapi_stub *stub;
106 stub = &dynamic_stubs[idx];
109 stub->addr = entry_generate(
111 if (!stub->addr)
114 stub->name = (const void *) name;
116 stub->slot = -1;
120 return stub;
124 * Return the dynamic stub with the given name. If no such stub exists and
125 * generate is true, a new stub is generated.
131 struct mapi_stub *stub = NULL;
142 stub = &dynamic_stubs[i];
147 /* generate a dynamic stub */
148 if (generate && !stub)
149 stub = stub_add_dynamic(name);
153 return stub;
157 stub_fix_dynamic(struct mapi_stub *stub, const struct mapi_stub *alias)
161 if (stub->slot >= 0)
169 entry_patch(stub->addr, slot);
170 stub->slot = slot;
174 * Return the name of a stub.
177 stub_get_name(const struct mapi_stub *stub)
181 if (stub >= public_stubs &&
182 stub < public_stubs + ARRAY_SIZE(public_stubs))
183 name = &public_string_pool[(unsigned long) stub->name];
185 name = (const char *) stub->name;
191 * Return the slot of a stub.
194 stub_get_slot(const struct mapi_stub *stub)
196 return stub->slot;
200 * Return the address of a stub.
203 stub_get_addr(const struct mapi_stub *stub)
205 assert(stub->addr || (unsigned int) stub->slot < MAPI_TABLE_NUM_STATIC);
206 return (stub->addr) ? stub->addr : entry_get_public(stub->slot);