1*479ab7f0SSascha Wildner /* 2*479ab7f0SSascha Wildner * Copyright (c) 2010 The DragonFly Project. All rights reserved. 3*479ab7f0SSascha Wildner * 4*479ab7f0SSascha Wildner * This code is derived from software contributed to The DragonFly Project 5*479ab7f0SSascha Wildner * by Matthew Dillon <dillon@backplane.com> 6*479ab7f0SSascha Wildner * 7*479ab7f0SSascha Wildner * Redistribution and use in source and binary forms, with or without 8*479ab7f0SSascha Wildner * modification, are permitted provided that the following conditions 9*479ab7f0SSascha Wildner * are met: 10*479ab7f0SSascha Wildner * 11*479ab7f0SSascha Wildner * 1. Redistributions of source code must retain the above copyright 12*479ab7f0SSascha Wildner * notice, this list of conditions and the following disclaimer. 13*479ab7f0SSascha Wildner * 2. Redistributions in binary form must reproduce the above copyright 14*479ab7f0SSascha Wildner * notice, this list of conditions and the following disclaimer in 15*479ab7f0SSascha Wildner * the documentation and/or other materials provided with the 16*479ab7f0SSascha Wildner * distribution. 17*479ab7f0SSascha Wildner * 3. Neither the name of The DragonFly Project nor the names of its 18*479ab7f0SSascha Wildner * contributors may be used to endorse or promote products derived 19*479ab7f0SSascha Wildner * from this software without specific, prior written permission. 20*479ab7f0SSascha Wildner * 21*479ab7f0SSascha Wildner * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22*479ab7f0SSascha Wildner * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23*479ab7f0SSascha Wildner * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 24*479ab7f0SSascha Wildner * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 25*479ab7f0SSascha Wildner * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26*479ab7f0SSascha Wildner * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 27*479ab7f0SSascha Wildner * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28*479ab7f0SSascha Wildner * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29*479ab7f0SSascha Wildner * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30*479ab7f0SSascha Wildner * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 31*479ab7f0SSascha Wildner * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*479ab7f0SSascha Wildner * SUCH DAMAGE. 33*479ab7f0SSascha Wildner */ 34*479ab7f0SSascha Wildner 35*479ab7f0SSascha Wildner void dloader_init_cmds(void); 36*479ab7f0SSascha Wildner int dloader_run(int ac, char **av); 37*479ab7f0SSascha Wildner 38*479ab7f0SSascha Wildner extern char *DirBase; 39*479ab7f0SSascha Wildner 40*479ab7f0SSascha Wildner typedef struct dvar { 41*479ab7f0SSascha Wildner struct dvar *next; 42*479ab7f0SSascha Wildner char *name; 43*479ab7f0SSascha Wildner char **data; 44*479ab7f0SSascha Wildner int count; 45*479ab7f0SSascha Wildner } *dvar_t; 46*479ab7f0SSascha Wildner 47*479ab7f0SSascha Wildner dvar_t dvar_get(const char *name); 48*479ab7f0SSascha Wildner void dvar_set(const char *name, char **data, int count); 49*479ab7f0SSascha Wildner void dvar_unset(const char *name); 50*479ab7f0SSascha Wildner int dvar_istrue(dvar_t var); 51*479ab7f0SSascha Wildner dvar_t dvar_first(void); 52*479ab7f0SSascha Wildner dvar_t dvar_next(dvar_t var); 53*479ab7f0SSascha Wildner dvar_t dvar_copy(dvar_t var); 54*479ab7f0SSascha Wildner void dvar_free(dvar_t *lastp); 55*479ab7f0SSascha Wildner 56*479ab7f0SSascha Wildner int perform(int ac, char **av); 57