1/* 2 * Copyright 2004-2008, Fran��ois Revol, <revol@free.fr>. 3 * Distributed under the terms of the MIT License. 4 */ 5 6#include <stdlib.h> 7#include <driver_settings.h> 8#include "settings.h" 9 10#define DEFAULT_GOOGLE_SERVER "66.102.11.99" 11#define DEFAULT_MAX_VNODES 5000 12char google_server[20] = DEFAULT_GOOGLE_SERVER; 13int google_server_port = 80; 14uint32 max_vnodes = DEFAULT_MAX_VNODES; 15uint32 max_results = 50; 16bool sync_unlink_queries = false; 17 18status_t load_settings(void) 19{ 20 void *handle; 21 char *val; 22 handle = load_driver_settings("googlefs"); 23 if (!handle) 24 return ENOENT; 25 26 dprintf("googlefs: loaded settings\n"); 27 28 val = get_driver_parameter(handle, "server", \ 29 DEFAULT_GOOGLE_SERVER, DEFAULT_GOOGLE_SERVER); 30 strncpy(google_server, val, 20); 31 google_server[20-1] = '\0'; 32 33 val = get_driver_parameter(handle, "port", "80", "80"); 34 google_server_port = strtoul(val, NULL, 10); 35 36 val = get_driver_parameter(handle, "max_nodes", "5000", "5000"); 37 max_vnodes = strtoul(val, NULL, 10); 38 max_vnodes = MIN(max_vnodes, 1000000); 39 max_vnodes = MAX(max_vnodes, 10); 40 41 val = get_driver_parameter(handle, "max_results", "50", "50"); 42 max_results = strtoul(val, NULL, 10); 43 max_results = MIN(max_results, 1000); 44 max_results = MAX(max_results, 5); 45 46 sync_unlink_queries = get_driver_boolean_parameter(handle, "sync_unlink", false, true); 47 48 dprintf("googlefs: settings: server = %s\n", google_server); 49 dprintf("googlefs: settings: max_nodes = %lu\n", max_vnodes); 50 dprintf("googlefs: settings: max_results = %lu\n", max_results); 51 dprintf("googlefs: settings: sync_unlink = %c\n", sync_unlink_queries?'t':'f'); 52 unload_driver_settings(handle); 53 return B_OK; 54} 55 56