struct v_objects v_objects;
struct v_objects v_objects={0};
int main(int ac, char **dc){        dictionary *config;	int c, debug_level=MSG_DEFAULT;        char *config_file=NULL;        struct v_objects v_objects;	/* parse command line */	while((c=getopt(ac, dc, "hf:d")) != -1) {		switch(c) {		case 'f':			config_file=optarg;			break;		case 'd':			debug_level++;                        break;		case 'h':			usage();                        return 0;		default:			usage();                        break;		}	}	/* setup verboseness */	msg_setlevel(debug_level);	setup_signal(SIGINT, sig_handler);        /*         read the main configuration file         DO NOT-NOT-NEVER-NOT destroy this subsystem while vermont is running         as all pointers used for configuration are pointing into internal structs         DO NOT-NOT-NEVER-NOT free any pointers retrieved from the config via         iniparser_get*() functions         */        if(vermont_readconf(&config, config_file)) {		exit(-1);	}        /* attach the configuration struct into the main vermont objects */        v_objects.v_config=config;        subsys_on(&(v_objects.v_subsystems), SUBSYS_CONFIG);        /*         main configuration entry: all subsystems are here CONFIGURED         STARTING them is done later         */        if(vermont_configure(&v_objects)) {                exit(-1);        }        subsys_dump(v_objects.v_subsystems);        return 0;}