2187 int setid, caddr_t exec_file, cred_t *cred,
2188 int brand_action);
2189 extern int elf32core(vnode_t *vp, proc_t *p, cred_t *credp,
2190 rlim64_t rlimit, int sig, core_content_t content);
2191
2192 static struct execsw esw32 = {
2193 elf32magicstr,
2194 0,
2195 5,
2196 elf32exec,
2197 elf32core
2198 };
2199
2200 static struct modlexec modlexec32 = {
2201 &mod_execops, "32-bit exec module for elf", &esw32
2202 };
2203 #endif /* _LP64 */
2204
2205 static struct modlinkage modlinkage = {
2206 MODREV_1,
2207 (void *)&modlexec,
2208 #ifdef _LP64
2209 (void *)&modlexec32,
2210 #endif /* _LP64 */
2211 NULL
2212 };
2213
2214 int
2215 _init(void)
2216 {
2217 return (mod_install(&modlinkage));
2218 }
2219
2220 int
2221 _fini(void)
2222 {
2223 return (mod_remove(&modlinkage));
2224 }
2225
2226 int
2227 _info(struct modinfo *modinfop)
2228 {
2229 return (mod_info(&modlinkage, modinfop));
2230 }
2231
|
2187 int setid, caddr_t exec_file, cred_t *cred,
2188 int brand_action);
2189 extern int elf32core(vnode_t *vp, proc_t *p, cred_t *credp,
2190 rlim64_t rlimit, int sig, core_content_t content);
2191
2192 static struct execsw esw32 = {
2193 elf32magicstr,
2194 0,
2195 5,
2196 elf32exec,
2197 elf32core
2198 };
2199
2200 static struct modlexec modlexec32 = {
2201 &mod_execops, "32-bit exec module for elf", &esw32
2202 };
2203 #endif /* _LP64 */
2204
2205 static struct modlinkage modlinkage = {
2206 MODREV_1,
2207 { (void *)&modlexec,
2208 #ifdef _LP64
2209 (void *)&modlexec32,
2210 #endif /* _LP64 */
2211 NULL
2212 }
2213 };
2214
2215 int
2216 _init(void)
2217 {
2218 return (mod_install(&modlinkage));
2219 }
2220
2221 int
2222 _fini(void)
2223 {
2224 return (mod_remove(&modlinkage));
2225 }
2226
2227 int
2228 _info(struct modinfo *modinfop)
2229 {
2230 return (mod_info(&modlinkage, modinfop));
2231 }
2232
|