Lines Matching refs:xbe

159 imgact_binmisc_new_entry(ximgact_binmisc_entry_t *xbe, ssize_t interp_offset,
163 size_t namesz = min(strlen(xbe->xbe_name) + 1, IBE_NAME_MAX);
168 strlcpy(ibe->ibe_name, xbe->xbe_name, namesz);
170 imgact_binmisc_populate_interp(xbe->xbe_interpreter, ibe);
172 ibe->ibe_magic = malloc(xbe->xbe_msize, M_BINMISC, M_WAITOK|M_ZERO);
173 memcpy(ibe->ibe_magic, xbe->xbe_magic, xbe->xbe_msize);
175 ibe->ibe_mask = malloc(xbe->xbe_msize, M_BINMISC, M_WAITOK|M_ZERO);
176 memcpy(ibe->ibe_mask, xbe->xbe_mask, xbe->xbe_msize);
178 ibe->ibe_moffset = xbe->xbe_moffset;
179 ibe->ibe_msize = xbe->xbe_msize;
180 ibe->ibe_flags = xbe->xbe_flags;
230 imgact_binmisc_add_entry(ximgact_binmisc_entry_t *xbe)
237 if (xbe->xbe_msize > IBE_MAGIC_MAX)
239 if (xbe->xbe_moffset + xbe->xbe_msize > IBE_MATCH_MAX)
242 for(cnt = 0, p = xbe->xbe_name; *p != 0; cnt++, p++)
246 for(cnt = 0, p = xbe->xbe_interpreter; *p != 0; cnt++, p++)
251 p = xbe->xbe_interpreter;
275 if (imgact_binmisc_find_entry(xbe->xbe_name) != NULL) {
281 ibe = imgact_binmisc_new_entry(xbe, interp_offset, argv0_cnt);
356 imgact_binmisc_populate_xbe(ximgact_binmisc_entry_t *xbe,
362 memset(xbe, 0, sizeof(*xbe));
363 strlcpy(xbe->xbe_name, ibe->ibe_name, IBE_NAME_MAX);
366 memcpy(xbe->xbe_interpreter, ibe->ibe_interpreter,
369 if (xbe->xbe_interpreter[i] == '\0')
370 xbe->xbe_interpreter[i] = ' ';
372 memcpy(xbe->xbe_magic, ibe->ibe_magic, ibe->ibe_msize);
373 memcpy(xbe->xbe_mask, ibe->ibe_mask, ibe->ibe_msize);
374 xbe->xbe_version = IBE_VERSION;
375 xbe->xbe_flags = ibe->ibe_flags;
376 xbe->xbe_moffset = ibe->ibe_moffset;
377 xbe->xbe_msize = ibe->ibe_msize;
387 imgact_binmisc_lookup_entry(char *name, ximgact_binmisc_entry_t *xbe)
398 error = imgact_binmisc_populate_xbe(xbe, ibe);
410 ximgact_binmisc_entry_t *xbe, *xbep;
416 xbe = malloc(sizeof(*xbe) * count, M_BINMISC, M_WAITOK|M_ZERO);
418 xbep = xbe;
427 error = SYSCTL_OUT(req, xbe, sizeof(*xbe) * count);
429 free(xbe, M_BINMISC);
440 ximgact_binmisc_entry_t xbe;
446 error = SYSCTL_IN(req, &xbe, sizeof(xbe));
449 if (IBE_VERSION != xbe.xbe_version)
451 if ((xbe.xbe_flags & ~IBF_VALID_UFLAGS) != 0)
455 error = imgact_binmisc_add_entry(&xbe);
460 error = SYSCTL_IN(req, &xbe, sizeof(xbe));
463 if (IBE_VERSION != xbe.xbe_version)
465 error = imgact_binmisc_remove_entry(xbe.xbe_name);
470 error = SYSCTL_IN(req, &xbe, sizeof(xbe));
473 if (IBE_VERSION != xbe.xbe_version)
475 error = imgact_binmisc_disable_entry(xbe.xbe_name);
480 error = SYSCTL_IN(req, &xbe, sizeof(xbe));
483 if (IBE_VERSION != xbe.xbe_version)
485 error = imgact_binmisc_enable_entry(xbe.xbe_name);
490 error = SYSCTL_IN(req, &xbe, sizeof(xbe));
493 if (IBE_VERSION != xbe.xbe_version)
495 error = imgact_binmisc_lookup_entry(xbe.xbe_name, &xbe);
497 error = SYSCTL_OUT(req, &xbe, sizeof(xbe));