Lines Matching refs:handle

103 	settings_handle *handle = (settings_handle *)_handle;
104 if (handle == NULL
105 || handle->magic != SETTINGS_MAGIC)
113 get_parameter(settings_handle *handle, const char *name)
116 for (i = handle->settings.parameter_count; i-- > 0;) {
117 if (!fssh_strcmp(handle->settings.parameters[i].name, name))
118 return &handle->settings.parameters[i];
338 parse_settings(settings_handle *handle)
340 char *text = handle->text;
342 fssh_memset(&handle->settings, 0, sizeof(struct fssh_driver_settings));
348 return parse_parameters(&handle->settings.parameters,
349 &handle->settings.parameter_count, &text, 0);
366 free_settings(settings_handle *handle)
369 for (i = handle->settings.parameter_count; i-- > 0;)
370 free_parameter(&handle->settings.parameters[i]);
372 free(handle->settings.parameters);
373 free(handle->text);
374 free(handle);
381 settings_handle *handle = (settings_handle*)malloc(sizeof(settings_handle));
382 if (handle == NULL)
385 handle->magic = SETTINGS_MAGIC;
386 handle->text = buffer;
388 fssh_strlcpy(handle->name, driverName, sizeof(handle->name));
390 if (parse_settings(handle) == FSSH_B_OK)
391 return handle;
393 free(handle);
415 settings_handle *handle;
421 handle = new_settings(text, driverName);
422 if (handle != NULL) {
424 return handle;
581 settings_handle *handle = NULL;
585 while ((handle = (settings_handle*)list_get_next_item(&sHandles, handle)) != NULL) {
586 if (!fssh_strcmp(handle->name, name))
587 return handle;
610 fssh_unload_driver_settings(void *handle)
612 if (!check_handle(handle))
618 if (--handle->ref_count == 0) {
619 list_remove_link(&handle->link);
621 handle = NULL;
625 if (handle != NULL)
626 free_settings((settings_handle*)handle);
635 settings_handle *handle;
643 handle = find_driver_settings(driverName);
644 if (handle != NULL) {
645 handle->ref_count++;
648 if (handle->magic != SETTINGS_MAGIC) {
649 handle->magic = SETTINGS_MAGIC;
651 if (parse_settings(handle) != FSSH_B_OK) {
653 free(handle->text);
654 handle->text = NULL;
655 handle = NULL;
659 return handle;
684 handle = load_driver_settings_from_file(file, driverName);
686 if (handle != NULL)
687 list_add_item(&sHandles, handle);
691 return (void *)handle;
709 settings_handle *handle;
719 handle = load_driver_settings_from_file(file);
722 return (void *)handle;
728 Returns a new driver_settings handle that has the parsed contents
739 settings_handle *handle = (settings_handle*)malloc(sizeof(settings_handle));
740 if (handle != NULL) {
741 handle->magic = SETTINGS_MAGIC;
742 handle->text = text;
744 if (parse_settings(handle) == FSSH_B_OK)
745 return handle;
747 free(handle);
764 If the "handle" parameter is not a valid driver settings handle, or
771 settings_handle *handle = (settings_handle *)_handle;
775 if (!check_handle(handle) || !buffer || *_bufferSize == 0)
778 for (i = 0; i < handle->settings.parameter_count; i++) {
779 put_parameter(&buffer, &bufferSize, &handle->settings.parameters[i],
794 Also returns "unknownValue" if the handle passed in was not valid.
797 fssh_get_driver_boolean_parameter(void *handle, const char *keyName,
803 if (!check_handle(handle))
807 if ((parameter = get_parameter((settings_handle*)handle, keyName)) == NULL)
837 fssh_get_driver_parameter(void *handle, const char *keyName,
842 if (!check_handle(handle))
846 if ((parameter = get_parameter((settings_handle*)handle, keyName)) == NULL)
858 fssh_get_driver_settings(void *handle)
860 if (!check_handle(handle))
863 return &((settings_handle *)handle)->settings;