本文整理汇总了C++中config_create函数的典型用法代码示例。如果您正苦于以下问题:C++ config_create函数的具体用法?C++ config_create怎么用?C++ config_create使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了config_create函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: swapConfigFile
int swapConfigFile()
{
//Crea Logs
t_log *errorLogger, *traceLogger;
traceLogger = log_create("LogTraceUMC.txt","UMCConfigFile",true,LOG_LEVEL_TRACE);
errorLogger = log_create("LogErroresUMC.txt","UMCConfigFile",true,LOG_LEVEL_ERROR);
//Declaracion de Variables
t_config *ptrConfig, *ptrConfigUpdate;
SwapConfigFile *ptrvaloresConfigFile;
ptrvaloresConfigFile = NULL;
ptrvaloresConfigFile = malloc(sizeof(SwapConfigFile));
ptrConfigUpdate = NULL;
//Se asigna a ptrConfig el archivo de configuracion. Si no lo encuentra, finaliza
//y lo advierte en el log
ptrConfig = config_create("/home/utnso/workspace/SwapConfigFile/Debug/config.txt");
if (ptrConfig == NULL){
log_error(errorLogger,"Archivo de configuración no disponible. No puede ejecutar el UMC.\n");
return EXIT_FAILURE;
} else {
log_trace(traceLogger,"Iniciando Proceso UMC.\n");
}
//El procedimiento carga los valores del Config File en las variables creadas
levantaConfigFileEnVariables(ptrvaloresConfigFile,ptrConfig);
log_trace(traceLogger,"Archivo de Configuracion levantado exitosamente.\n");
printf("%d\n\n", ptrvaloresConfigFile->puerto_escucha);
while (1)
{
huboUnCambio=0;
detectaCambiosEnConfigFile();
if (huboUnCambio)
{
ptrConfigUpdate = config_create("/home/utnso/workspace/SwapConfigFile/Debug/config.txt");
if(ptrConfigUpdate->properties->elements_amount==0) {
log_error(errorLogger,"No se puede levantar el Archivo de Configuracion.\n");
} else {
levantaConfigFileEnVariables(ptrvaloresConfigFile, ptrConfigUpdate);
printf("%d\n\n", ptrvaloresConfigFile->puerto_escucha);
log_trace(traceLogger,"Archivo de Configuracion actualizado y levantado.\n");
}
config_destroy(ptrConfigUpdate);
}
}
printf("%s\n\n", ptrvaloresConfigFile->nombre_swap);
liberaVariables(traceLogger, ptrConfig, errorLogger);
free(ptrvaloresConfigFile);
return EXIT_SUCCESS;
}; //Fin de Main
开发者ID:alanhala,项目名称:so-atalo-con-hilos,代码行数:59,代码来源:swapConfigFile.c
示例2: leerArchivoConfiguracion
int leerArchivoConfiguracion(char *ruta_archivo) {
int devolver = 0;
config = config_create(ruta_archivo);
printf("Leyendo archivo de configuraciones: %s\n", ruta_archivo);
PUERTO_ESCUCHA = config_get_int_value(config, "PUERTO_ESCUCHA");
IP_SWAP = config_get_string_value(config, "IP_SWAP");
PUERTO_SWAP = config_get_int_value(config, "PUERTO_SWAP");
MAXIMO_MARCOS_POR_PROCESO=config_get_int_value(config,"MAXIMO_MARCOS_POR_PROCESO");
CANTIDAD_MARCOS=config_get_int_value(config,"CANTIDAD_MARCOS");
TAMANIO_MARCO=config_get_int_value(config,"TAMANIO_MARCOS");
ENTRADAS_TLB=config_get_int_value(config,"ENTRADAS_TLB");
TLB_HABILITADA=config_get_string_value(config,"TLB_HABILITADA");
RETARDO=config_get_int_value(config,"RETARDO");
printf("Puerto de la Memoria que escucha: %d\n", PUERTO_ESCUCHA);
printf("IP del Swap: %s\n", IP_SWAP);
printf("Puerto del Swap: %d\n", PUERTO_SWAP);
printf("Cantidad maxima de marcos por proceso: %d\n", MAXIMO_MARCOS_POR_PROCESO);
printf("Cantidad de Marcos: %d\n", CANTIDAD_MARCOS);
printf("Tamanio de cada marco: %d\n", TAMANIO_MARCO);
printf("Cantidad de entradas TLB: %d\n", ENTRADAS_TLB);
printf("TLB habilitada: %s\n", TLB_HABILITADA);
printf("Tiempo de retardo: %d\n", RETARDO);
puts("Listo.\n");
return devolver;
}
开发者ID:saantifranco,项目名称:OperaGwi2,代码行数:29,代码来源:MemoriaArranque.c
示例3: test_parse_invalid
test_result_t test_parse_invalid(test_data_t data)
{
test_config_data_t *test_data = (test_config_data_t *)data;
test_result_t result = PASS;
unsigned line = 0;
unsigned col = 0;
config_t config = {0};
int ret = 0;
printf("%s\n", test_data->desc);
DEBUG_PRINT("%s\n", test_data->str);
config_create(&config);
ret = config_parse(&config, test_data->str, &line, &col);
if ((ret != test_data->parse_ret) || (line != test_data->parse_line) || (col != test_data->parse_col))
{
result = FAIL;
}
DEBUG_PRINT("config_parse returned: %d, '%s', line: %d, col: %d\n", ret, config_strerr(ret), line, col);
config_destroy(&config);
return result;
}
开发者ID:Rahuldee,项目名称:FreeCoAP,代码行数:26,代码来源:test_config.c
示例4: main
int main(int argc, char *argv[]) {
jobConfig = config_create(FILE_CONFIG);
logger = log_create(FILE_LOG, "JOB", true, LOG_LEVEL_TRACE);
pthread_mutex_init(&mutex_log, NULL);
signal(SIGCHLD, SIG_IGN);
//sem_t sem;
sem_init(&sem, 0, 0);
//test conexion con marta
conectar_con_marta();
log_trace(logger, "FIN TODO");
/* cleanup semaphores */
sem_destroy (&sem);
//desconecto al nodo
/*int socket = client_socket("192.168.1.37", 6001);
t_msg* msg = argv_message(-1, 0);
enviar_mensaje(socket, msg);
destroy_message(msg);
close(socket);*/
//finalizo el programa para que no intente conectar con el nodo
log_destroy(logger);
config_destroy(jobConfig);
return EXIT_SUCCESS;
}
开发者ID:PabloMartinP,项目名称:1c2015reducemapfast,代码行数:34,代码来源:procesoJob.c
示例5: run_daemon
/**
* Run the daemon.
* @param cfgfile: the config file name.
* @param cmdline_verbose: verbosity resulting from commandline -v.
* These increase verbosity as specified in the config file.
* @param debug_mode: if set, do not daemonize.
* @param log_default_identity: Default identity to report in logs
*/
static void
run_daemon(const char* cfgfile, int cmdline_verbose, int debug_mode, const char* log_default_identity)
{
struct config_file* cfg = NULL;
struct daemon* daemon = NULL;
int done_setup = 0;
if(!(daemon = daemon_init()))
fatal_exit("alloc failure");
while(!daemon->need_to_exit) {
if(done_setup)
verbose(VERB_OPS, "Restart of %s.", PACKAGE_STRING);
else verbose(VERB_OPS, "Start of %s.", PACKAGE_STRING);
/* config stuff */
if(!(cfg = config_create()))
fatal_exit("Could not alloc config defaults");
if(!config_read(cfg, cfgfile, daemon->chroot)) {
if(errno != ENOENT)
fatal_exit("Could not read config file: %s",
cfgfile);
log_warn("Continuing with default config settings");
}
apply_settings(daemon, cfg, cmdline_verbose, debug_mode, log_default_identity);
if(!done_setup)
config_lookup_uid(cfg);
/* prepare */
if(!daemon_open_shared_ports(daemon))
fatal_exit("could not open ports");
if(!done_setup) {
perform_setup(daemon, cfg, debug_mode, &cfgfile);
done_setup = 1;
} else {
/* reopen log after HUP to facilitate log rotation */
if(!cfg->use_syslog)
log_init(cfg->logfile, 0, cfg->chrootdir);
}
/* work */
daemon_fork(daemon);
/* clean up for restart */
verbose(VERB_ALGO, "cleanup.");
daemon_cleanup(daemon);
config_delete(cfg);
}
verbose(VERB_ALGO, "Exit cleanup.");
/* this unlink may not work if the pidfile is located outside
* of the chroot/workdir or we no longer have permissions */
if(daemon->pidfile) {
int fd;
/* truncate pidfile */
fd = open(daemon->pidfile, O_WRONLY | O_TRUNC, 0644);
if(fd != -1)
close(fd);
/* delete pidfile */
unlink(daemon->pidfile);
}
daemon_delete(daemon);
}
开发者ID:Bluecoreg,项目名称:monero,代码行数:68,代码来源:unbound.c
示例6: go
/** go ahead and read config, contact server and perform command and display */
static int
go(const char* cfgfile, char* svr, int argc, char* argv[])
{
struct config_file* cfg;
int fd, ret;
SSL_CTX* ctx;
SSL* ssl;
/* read config */
if(!(cfg = config_create()))
fatal_exit("out of memory");
if(!config_read(cfg, cfgfile, NULL))
fatal_exit("could not read config file");
if(!cfg->remote_control_enable)
log_warn("control-enable is 'no' in the config file.");
ctx = setup_ctx(cfg);
/* contact server */
fd = contact_server(svr, cfg, argc>0&&strcmp(argv[0],"status")==0);
ssl = setup_ssl(ctx, fd);
/* send command */
ret = go_cmd(ssl, argc, argv);
SSL_free(ssl);
#ifndef USE_WINSOCK
close(fd);
#else
closesocket(fd);
#endif
SSL_CTX_free(ctx);
config_delete(cfg);
return ret;
}
开发者ID:RS-liuyang,项目名称:rsdns,代码行数:35,代码来源:unbound-control.c
示例7: initFileSystem
void initFileSystem()
{
logFile = log_create("./FileSystem.log","FileSystem", true, LOG_LEVEL_TRACE);
pthread_mutex_init(&mLogFile, NULL);
t_config* archivoConfig = config_create("./FileSystem.config");
PUERTO_LISTEN = config_get_int_value(archivoConfig, "PUERTO_LISTEN");
char* tmp = config_get_string_value(archivoConfig, "IP_LISTEN");
strcpy(IP_LISTEN,tmp);
free(tmp);
LISTA_NODOS = config_get_int_value(archivoConfig, "LISTA_NODOS");
//config_destroy(archivoConfig);
listaArchivos = list_create();
pthread_mutex_init(&mListaArchivos, NULL);
listaDirs = list_create();
pthread_mutex_init(&mListaDirs, NULL);
t_reg_directorio* raiz = malloc(sizeof(t_reg_directorio));
strcpy(raiz->directorio, "\0");
raiz->padre = -1;
list_add(listaDirs, raiz);
initConsola();
initComandos();
initConexiones();
leerPersistencia();
}
开发者ID:fchungaragmail,项目名称:operativos2014,代码行数:31,代码来源:FileSystem.c
示例8: obtenerDatosAlgorimo
void obtenerDatosAlgorimo(informacion_planificacion_t* datosAlgoritmo) {
t_config* conF = config_create(CONFIG_PATH);
if (config_has_property(conF, "Nombre")) {
datosAlgoritmo->nombreNivel = malloc(
strlen(config_get_string_value(conF, "Nombre")) + 1);
strcpy(datosAlgoritmo->nombreNivel,
config_get_string_value(conF, "Nombre"));
}
if (config_has_property(conF, "algoritmo")) {
char* algoritmo = config_get_string_value(conF, "algoritmo");
datosAlgoritmo->algoritmo =
strcmp("RR", algoritmo) == 0 ? ROUND_ROBIN : SRDF;
}
if (config_has_property(conF, "quantum")) {
datosAlgoritmo->quantum = config_get_int_value(conF, "quantum");
}
if (config_has_property(conF, "retardo")) {
datosAlgoritmo->retardo = config_get_int_value(conF, "retardo");
}
config_destroy(conF);
}
开发者ID:julietaf,项目名称:repo20132C,代码行数:26,代码来源:Nivel.c
示例9: debug
char *config_get(const char *section, const char *name, const char *default_value)
{
struct config_value *cv;
debug(D_CONFIG, "request to get config in section '%s', name '%s', default_value '%s'", section, name, default_value);
pthread_rwlock_rdlock(&config_rwlock);
struct config *co = config_find_section(section);
if(!co) co = config_create(section);
cv = config_value_index_find(co, name, 0);
if(!cv) {
cv = config_value_create(co, name, default_value);
if(!cv) return NULL;
}
cv->flags |= CONFIG_VALUE_USED;
if((cv->flags & CONFIG_VALUE_LOADED) || (cv->flags & CONFIG_VALUE_CHANGED)) {
// this is a loaded value from the config file
// if it is different that the default, mark it
if(!(cv->flags & CONFIG_VALUE_CHECKED)) {
if(strcmp(cv->value, default_value) != 0) cv->flags |= CONFIG_VALUE_CHANGED;
cv->flags |= CONFIG_VALUE_CHECKED;
}
}
pthread_rwlock_unlock(&config_rwlock);
return(cv->value);
}
开发者ID:rudijs,项目名称:netdata,代码行数:30,代码来源:config.c
示例10: leerConfiguracion
int leerConfiguracion(char *ruta, datosConfiguracion **datos) {
t_config* archivoConfiguracion = config_create(ruta);//Crea struct de configuracion
if (archivoConfiguracion == NULL) {
return 0;
} else {
int cantidadKeys = config_keys_amount(archivoConfiguracion);
if (cantidadKeys < 7) {
return 0;
} else {
(*datos)->puerto = buscarInt(archivoConfiguracion, "PUERTO");
char* nombreSwap=string_new();
string_append(&nombreSwap,config_get_string_value(archivoConfiguracion, "NOMBRE_SWAP"));
(*datos)->nombre_swap =nombreSwap;
(*datos)->cantidadPaginas = buscarInt(archivoConfiguracion, "CANTIDAD_PAGINAS");
(*datos)->tamPagina = buscarInt(archivoConfiguracion, "TAMANIO_PAGINA");
(*datos)->retardoAcceso = buscarInt(archivoConfiguracion, "RETARDO_ACCESO");
(*datos)->retardoCompactacion = buscarInt(archivoConfiguracion, "RETARDO_COMPACTACION");
char* ip=string_new();
string_append(&ip,config_get_string_value(archivoConfiguracion,"IP"));
(*datos)->ip=ip;
config_destroy(archivoConfiguracion);
return 1;
}
}
}
开发者ID:JARombola,项目名称:TP-Operativos,代码行数:25,代码来源:Comunicacion.c
示例11: leer_archivo_plataforma_config
t_param_plat leer_archivo_plataforma_config() {
t_config* config;
t_param_plat param;
log_in_disk_plat(LOG_LEVEL_TRACE,
"comienzo lectura archivo de configuracion plataforma en el %s ",
PATH_CONFIG_PLATAFORMA);
config = config_create(PATH_CONFIG_PLATAFORMA);
param.PUERTO = config_get_int_value(config, "PUERTO");
param.SEGUNDOS_ESPERA = config_get_double_value(config, "SEGUNDOS_ESPERA");
param.CUANTUM = config_get_int_value(config, "CUANTUM");
log_in_disk_plat(LOG_LEVEL_TRACE,
"Parametros planificador puerto %d segundos de planificacions %.2f cuantum %d ",
param.PUERTO, param.SEGUNDOS_ESPERA, param.CUANTUM);
//param.planificador_nivel = config_get_array_value(config, "planDeNiveles");
//solo entro en el loop si el mivel de log es LOG_LEVEL_TRACE
// if (LOG_LEVEL_TRACE == 0) {
// int i = 0;
// while (param.planificador_nivel[i] != '\0') {
// log_in_disk_plat(LOG_LEVEL_TRACE, "Niveles de planificador %s ",
// param.planificador_nivel[i]);
// i++;
// }
// }
return param;
}
开发者ID:javierlibrandi,项目名称:TP-SO-1C2013,代码行数:35,代码来源:ambiente_config.c
示例12: cargarArchivoDeConfiguracionDeSWAP
tipoConfigSWAP* cargarArchivoDeConfiguracionDeSWAP(char* rutaDelArchivoDeConfiguracion){
t_config* archivoCfg = config_create(rutaDelArchivoDeConfiguracion);
tipoConfigSWAP* cfg = crearConfigSWAP();
validarErrorYAbortar(config_has_property(archivoCfg,PUERTO_ESCUCHA)
&& config_has_property(archivoCfg,NOMBRE_SWAP)
&& config_has_property(archivoCfg,CANTIDAD_PAGINAS)
&& config_has_property(archivoCfg,TAMANIO_PAGINA)
&& config_has_property(archivoCfg,RETARDO_COMPACTACION),
"Las claves del archivo de configuracion no coinciden con las que requiere el SWAP");
cfg->puertoDeEscucha = config_get_int_value(archivoCfg,PUERTO_ESCUCHA);
cfg->nombreDeSWAP = string_duplicate(config_get_string_value(archivoCfg,NOMBRE_SWAP));
cfg->cantidadDePaginas = config_get_int_value(archivoCfg,CANTIDAD_PAGINAS);
cfg->retardoDeCompactacion = config_get_int_value(archivoCfg,RETARDO_COMPACTACION);
cfg->tamanioDePagina = config_get_int_value(archivoCfg,TAMANIO_PAGINA);
config_destroy(archivoCfg);
return cfg;
}
开发者ID:alexiscaspell,项目名称:La-caida-de-Barca,代码行数:25,代码来源:SWAPHard.c
示例13: init
void init(){
LOGGER = log_create(LOG_PATH, "MaRTA", true, LOG_LEVEL_DEBUG);
CONF = config_create(CONF_PATH); //HACK estaba mal el nombre de la funcion o no la encontraba o no se
if(LOGGER == NULL){
perror("ERROR! no pudo levantar ni el log!");
exit(EXIT_FAILURE);
}
if(CONF == NULL){
log_error(LOGGER, "\nERROR AL LEVANTAR ARCHIVO DE CONFIGURACION\n( Don't PANIC! Si estas por consola ejecuta: ln -s ../%s %s )\n\n"
, CONF_PATH
, CONF_PATH);
exit(EXIT_FAILURE);
}
// if(!validarConfig()){ //HACK no lo necesitaba, no entendi el codigo del map y no me servia, anda :P
// log_error(LOGGER, "No pudo obtenerse alguno de los parametros de configuracion");
// exit(EXIT_FAILURE);
// }
mapa_nodos = dictionary_create();
lista_jobs = list_create();
pthread_mutex_init(&mutex_mapa_nodos, NULL);
pthread_mutex_init(&mutex_lista_jobs, NULL);
log_info(LOGGER, "intenta conectarse a la ip %s con puerto %d", config_get_string_value(CONF, "IP_FS"), config_get_int_value(CONF, "PUERTO_FS"));
socketFS = conectarAServidor(config_get_string_value(CONF, "IP_FS"), config_get_int_value(CONF, "PUERTO_FS"));
while (socketFS == -1) {
log_info(LOGGER, "Filesystem no levantado. Se reintenta conexion en unos segundos");
sleep(5);
socketFS = conectarAServidor(config_get_string_value(CONF, "IP_FS"), config_get_int_value(CONF, "PUERTO_FS"));
}
header_t header;
initHeader(&header);
header.tipo = MARTA_TO_FS_HANDSHAKE;
header.largo_mensaje = 0;
header.cantidad_paquetes = 1;
log_info(LOGGER, "Conectado a FS! envio header %s", getDescription(header.tipo));
enviar_header(socketFS, &header);
t_mensaje mensaje;
memset(&mensaje, 0, sizeof(t_mensaje));
recibir_t_mensaje(socketFS, &mensaje);
log_info(LOGGER, "recibo respuesta %s de FS", getDescription(mensaje.tipo));
while(mensaje.tipo != ACK){
log_info(LOGGER, "Todavia el FS no esta disponible. Header recibido: %s. Reintento en 5 segundos", getDescription(header.tipo));
sleep(5);
enviar_header(socketFS, &header);
recibir_t_mensaje(socketFS, &mensaje);
}
recibirNodosFS();
log_info(LOGGER, "%s: FS está operativo. Continúo", getDescription(header.tipo));
}
开发者ID:alejandrozalazar,项目名称:tp-2015-1c-los-salieris,代码行数:60,代码来源:marta.c
示例14: leerConfiguracion
void leerConfiguracion(void){
t_config* config=config_create(PATH_config);
configuracion_programa.ip_kernel = config_get_string_value(config,"Direccion IP para conectarse al Kernel");
configuracion_programa.puerto_kernel = config_get_int_value(config,"Puerto TCP para recibir conexiones del Kernel");
}
开发者ID:JuliColombo,项目名称:tp-2014-1c-commiteando-por-un-suenio,代码行数:7,代码来源:funcionesInterprete.c
示例15: inicializar_CPU
void inicializar_CPU(char *path, uint32_t *retardo) {
t_config* config = config_create(path);
*retardo = config_get_int_value(config,"RETARDO");
uint16_t puertoMSP = config_get_int_value(config,"PUERTO_MSP");
char *direccionIpMSP = config_get_string_value(config,"IP_MSP");
uint16_t puertoKernel = config_get_int_value(config,"PUERTO_KERNEL");
char *direccionIpKernel = config_get_string_value(config,"IP_KERNEL");
if((Kernel = client_socket(direccionIpKernel, puertoKernel)) < 0) {
puts("ERROR: No se pudo conectar al Kernel.");
exit(EXIT_FAILURE);
}
t_msg *handshake = id_message(CPU_CONNECT);
enviar_mensaje(Kernel, handshake);
destroy_message(handshake);
if((MSP = client_socket(direccionIpMSP, puertoMSP)) < 0) {
puts("ERROR: No se pudo conectar a la MSP.");
exit(EXIT_FAILURE);
}
config_destroy(config);
MapRegistros['A'-'A'] = &Registros.registros_programacion[0];
MapRegistros['B'-'A'] = &Registros.registros_programacion[1];
MapRegistros['C'-'A'] = &Registros.registros_programacion[2];
MapRegistros['D'-'A'] = &Registros.registros_programacion[3];
MapRegistros['E'-'A'] = &Registros.registros_programacion[4];
MapRegistros['K'-'A'] = &Registros.K;
MapRegistros['I'-'A'] = &Registros.I;
MapRegistros['M'-'A'] = &Registros.M;
MapRegistros['P'-'A'] = &Registros.P;
MapRegistros['S'-'A'] = &Registros.S;
MapRegistros['X'-'A'] = &Registros.X;
inicializar_tabla_instrucciones();
}
开发者ID:mllanos,项目名称:tp-2014-2c-enjags-not-just-a-group-rafaga,代码行数:32,代码来源:cpu.c
示例16: levantarArchivoConfiguracionPlataforma
void levantarArchivoConfiguracionPlataforma() {
t_config *config;
config = config_create(PATH_CONFIG_PLATAFORMA);
if (config->properties->elements_amount == 0) {
printf("\nERROR AL LEVANTAR ARCHIVO DE CONFIGURACION %s \n", PATH_CONFIG_PLATAFORMA);
perror("\nERROR AL LEVANTAR ARCHIVO DE CONFIGURACION\n( Don't PANIC! Si estas por consola ejecuta: ln -s ../plataforma.conf plataforma.conf )\n\n");
config_destroy(config);
exit(-1);
}
//Levanto los parametros necesarios para el planificador
configPlat.PUERTO = config_get_int_value(config, "PUERTO");
strcpy(configPlat.KOOPA, config_get_string_value(config, "KOOPA"));
strcpy(configPlat.SCRIPT, config_get_string_value(config, "SCRIPT"));
strcpy(configPlat.FILESYSTEM, config_get_string_value(config, "FILESYSTEM"));
configPlat.SLEEP_KOOPA = config_get_int_value(config, "SLEEP_KOOPA");
configPlat.RD = config_get_int_value(config, "RD");
strcpy(configPlat.LOG_PATH, config_get_string_value(config, "LOG_PATH"));
configPlat.LOG_NIVEL = obtenerLogLevel( config_get_string_value(config, "LOG_NIVEL"));
configPlat.LOG_CONSOLA = config_get_int_value(config, "LOG_CONSOLA");
// Una vez que se levantaron los datos del archivo de configuracion
// puedo/debo destruir la estructura config.
config_destroy(config);
}
开发者ID:elyzabeth,项目名称:tp-2013-2c-y-luigi-donde-esta,代码行数:28,代码来源:configPlataforma.c
示例17: cargarArchivoDeConfiguracionDeCPU
tipoConfigCPU* cargarArchivoDeConfiguracionDeCPU(char* rutaDelArchivoDeConfiguracionDelCPU){
t_config* archivoCfg = config_create(rutaDelArchivoDeConfiguracionDelCPU);
tipoConfigCPU* cfg = crearConfigCPU();
validarErrorYAbortar(config_has_property(archivoCfg,IP_PLANIFICADOR)
&& config_has_property(archivoCfg,PUERTO_PLANIFICADOR)
&& config_has_property(archivoCfg,IP_MEMORIA)
&& config_has_property(archivoCfg,PUERTO_MEMORIA)
&& config_has_property(archivoCfg,CANTIDAD_HILOS)
&& config_has_property(archivoCfg,RETARDO),
"Las claves del archivo de configuracion no coinciden con las que requiere el CPU");
cfg->ipPlanificador = string_duplicate(config_get_string_value(archivoCfg,IP_PLANIFICADOR));
cfg->puertoPlanificador = config_get_int_value(archivoCfg,PUERTO_PLANIFICADOR);
cfg->ipMemoria = string_duplicate(config_get_string_value(archivoCfg,IP_MEMORIA));
cfg->puertoMemoria = config_get_int_value(archivoCfg,PUERTO_MEMORIA);
cfg->cantidadDeHilos = config_get_int_value(archivoCfg,CANTIDAD_HILOS);
cfg->retardo = config_get_int_value(archivoCfg,RETARDO);
config_destroy(archivoCfg);
return cfg;
}
开发者ID:alexiscaspell,项目名称:La-caida-de-Barca,代码行数:25,代码来源:CPUHard.c
示例18: config_create_forlib
struct config_file* config_create_forlib(void)
{
struct config_file* cfg = config_create();
if(!cfg) return NULL;
/* modifications for library use, less verbose, less memory */
free(cfg->chrootdir);
cfg->chrootdir = NULL;
cfg->verbosity = 0;
cfg->outgoing_num_ports = 16; /* in library use, this is 'reasonable'
and probably within the ulimit(maxfds) of the user */
cfg->outgoing_num_tcp = 2;
cfg->msg_cache_size = 1024*1024;
cfg->msg_cache_slabs = 1;
cfg->rrset_cache_size = 1024*1024;
cfg->rrset_cache_slabs = 1;
cfg->infra_cache_slabs = 1;
cfg->use_syslog = 0;
cfg->key_cache_size = 1024*1024;
cfg->key_cache_slabs = 1;
cfg->neg_cache_size = 100 * 1024;
cfg->donotquery_localhost = 0; /* allow, so that you can ask a
forward nameserver running on localhost */
cfg->val_log_level = 2; /* to fill why_bogus with */
cfg->val_log_squelch = 1;
return cfg;
}
开发者ID:ceama,项目名称:freebsd,代码行数:26,代码来源:config_file.c
示例19: readConfig
void
readConfig(char *path)
{
t_config *configKernel;
configKernel = config_create(path);
configuration.ipUMV = config_get_string_value(configKernel, "IPUMV");
configuration.ipKernel = config_get_string_value(configKernel, "IPKERNEL");
configuration.puertoUMV = config_get_string_value(configKernel, "PUERTO_UMV");
/*configuration.puertoKERNEL = config_get_string_value(configKernel,
"PUERTO_KERNEL");*/
configuration.puertoProg = config_get_string_value(configKernel,
"PUERTO_PROG");
configuration.puertoCPU = config_get_string_value(configKernel, "PUERTO_CPU");
configuration.quantum = config_get_int_value(configKernel, "QUANTUM");
configuration.grado_multiprog = config_get_int_value(configKernel,
"MULTIPROGRAMACION");
configuration.retardo = config_get_int_value(configKernel, "RETARDO");
configuration.tamanio_pila = config_get_int_value(configKernel,
"TAMANIO_STACK");
configuration.semaforos = config_get_array_value(configKernel, "SEMAFOROS");
configuration.valor_semaforos = config_get_array_value(configKernel,
"VALOR_SEMAFORO");
configuration.valorHIO = config_get_array_value(configKernel, "HIO");
configuration.var_compartidas = config_get_array_value(configKernel,
"VARIABLES_GLOBALES");
configuration.idHIO = config_get_array_value(configKernel, "ID_HIO");
//config_destroy(configKernel); TODO esto tiene un leak mas grande que uan casa
}
开发者ID:Charlyzzz,项目名称:estaCoverflow,代码行数:30,代码来源:kernelPosta.c
示例20: wallet_save_keys
static int
wallet_save_keys(struct wallet *wallet)
{
struct config *cfg;
int res;
int n;
n = hashtable_getnumentries(wallet->hash_keys);
Log(LGPFX" saving %u key%s in %sencrypted wallet %s.\n",
n, n > 1 ? "s" : "",
wallet->pass ? "encrypted" : "NON-",
wallet->filename);
cfg = config_create();
config_setint64(cfg, n, "numKeys");
if (wallet->pass) {
char saltStr[80];
int64 count = 0;
bool s;
res = RAND_bytes(wallet->ckey->salt, sizeof wallet->ckey->salt);
if (res != 1) {
res = ERR_get_error();
Log(LGPFX" RAND_bytes failed: %d\n", res);
goto exit;
}
str_snprintf_bytes(saltStr, sizeof saltStr, NULL,
wallet->ckey->salt, sizeof wallet->ckey->salt);
config_setstring(cfg, saltStr, "encryption.salt");
s = crypt_set_key_from_passphrase(wallet->pass, wallet->ckey, &count);
ASSERT(s);
ASSERT(count >= CRYPT_NUM_ITERATIONS_OLD);
config_setint64(cfg, count, "encryption.numIterations");
}
hashtable_for_each(wallet->hash_keys, wallet_save_key_cb, cfg);
file_rotate(wallet->filename, 1);
res = file_create(wallet->filename);
if (res) {
Log(LGPFX" failed to create file '%s': %s\n",
wallet->filename, strerror(res));
goto exit;
}
res = file_chmod(wallet->filename, 0600);
if (res) {
Log(LGPFX" failed to chmod 0600 wallet.dat: %s\n",
strerror(res));
goto exit;
}
res = config_write(cfg, wallet->filename);
exit:
config_free(cfg);
return res;
}
开发者ID:Methimpact,项目名称:bitc,代码行数:59,代码来源:wallet.c
注:本文中的config_create函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论