optlist
kludge_oldps_options(const char *optlist, char *origval, const char *nextarg)
if (optlist != NULL) {
optp = strchr(optlist, *cp);
void optlist(void);
char *optlist, *optptr;
optlist = strdup(val);
if (optlist == NULL)
optptr = optlist;
free(optlist);
%type <num> opt compare range opttype flagset optlist ipv6hdrlist ipv6hdr
ipopts: optlist { DOALL(fr->fr_mip.fi_optmsk |= $1;
optlist:
| optlist ',' opt { $$ |= $1 | $3; }
jail_export, &optlist);
jail_export, &optlist);
if (optlist != NULL)
vfs_freeopts(optlist);
struct vfsoptlist **optlist /* Options local to the filesystem. */
mp->mnt_optnew = *optlist;
*optlist = NULL;
struct vfsoptlist **optlist /* Options local to the filesystem. */
if (vfs_copyopt(*optlist, "export", &export, sizeof(export))
if (vfs_getopt(*optlist, "fsid", (void **)&fsid_up,
vfs_deleteopt(*optlist, "fsid");
mp->mnt_optnew = *optlist;
*optlist = NULL;
struct vfsoptlist **optlist /* Options local to the filesystem. */
fsflags, optlist);
jail_export, optlist);
struct vfsoptlist **optlist);
struct vfsoptlist *optlist;
error = vfs_buildopts(fsoptions, &optlist);
if (vfs_getopt(optlist, "errmsg", (void **)&errmsg, &errmsg_len) == 0)
errmsg_pos = vfs_getopt_pos(optlist, "errmsg");
error = vfs_getopt(optlist, "fstype", (void **)&fstype, &fstypelen);
error = vfs_getopt(optlist, "fspath", (void **)&fspath, &fspathlen);
TAILQ_FOREACH_SAFE(opt, optlist, link, tmp_opt) {
vfs_freeopt(optlist, opt);
const struct optlist *op;
const struct optlist *sp;
static const struct optlist ipopts[] = {
static const struct optlist ip6exthdr[] = {
static const struct optlist secopt[] = {
argmatch(const char *arg, const char **optlist)
for (i = 0; optlist[i]; i++) {
if (!strncmp(optlist[i], arg, arglen)) {
if (strlen(optlist[i]) == arglen)
register u_char *optlist;
optlist = outp;
optlist[0] = IPOPT_NOP;
optlist[1] = IPOPT_LSRR;
optlist[2] = i + 3;
optlist[3] = IPOPT_MINOFF;
memcpy(optlist + 4, gwlist + 1, i);