Beispiel #1
0
void CDiscoveryApp::SetDefaulRoute(in_addr_t gw)
{
	in_addr_t def_dest=inet_addr("0.0.0.0");
	in_addr_t def_mask=inet_addr("0.0.0.0");
	in_addr addr={0};
	char szDevice [64];
	
	
	switch( get_default_gateway( &addr.s_addr, szDevice, sizeof(szDevice) ) )
	{
		case DEFAULT_ETH_INTERF:
			LOG("REPLACING DefaultGW [%s] on %s", inet_ntoa(addr), m_szEthInterf);
			del_route(addr.s_addr);
			set_route(def_dest, gw, def_mask);
		break;

		case DEFAULT_NOT_ETH_INTERF:
			LOG("NOT REPLACING DefaultGW GW [%s] on %s", inet_ntoa(addr), szDevice );
		break;
			
		case DEFAULT_NOT_SET:
			LOG("SETTING DefaultGW [%s] on %s", inet_ntoa(addr), m_szEthInterf);
			set_route(def_dest, gw, def_mask);
		break;
	}
}
Beispiel #2
0
static int set_routes(struct connman_provider *provider,
				enum connman_provider_route_type type)
{
	struct connection_data *data;
	GHashTableIter iter;
	gpointer value, key;

	DBG("provider %p", provider);

	data = connman_provider_get_data(provider);
	if (data == NULL)
		return -EINVAL;

	if (type == CONNMAN_PROVIDER_ROUTE_ALL ||
					type == CONNMAN_PROVIDER_ROUTE_USER) {
		g_hash_table_iter_init(&iter, data->user_routes);

		while (g_hash_table_iter_next(&iter, &key, &value) == TRUE)
			set_route(data, value);
	}

	if (type == CONNMAN_PROVIDER_ROUTE_ALL ||
				type == CONNMAN_PROVIDER_ROUTE_SERVER) {
		g_hash_table_iter_init(&iter, data->server_routes);

		while (g_hash_table_iter_next(&iter, &key, &value) == TRUE)
			set_route(data, value);
	}

	return 0;
}
Beispiel #3
0
int unmount_djmount(void)
{
	int rc = -1;
	printf("Unmounting %s\n",cwd);
	if (web_config->fs_rtwin !=-1) {
		set_route(web_config->fs_rtwin);
	} else if (web_config->rtwin !=-1) {
		set_route(web_config->rtwin);
	} else {
		set_route(0);
	}
	if (fork()==0) {
		rc = execlp("/bin/fusermount","fusermount","-u","/uPnP",(char *)0);
	}
	return rc;
}
Beispiel #4
0
void my_routing::set_route(ndn::nfd::RouteFlags route_flags, const std::string& name, const std::string& face_str, bool block)
{
    int faceid = my_faceid::get_face_id(face_str, true);
    if (faceid != 0) {
        set_route(route_flags, name, faceid, block);
    } else {
        std::cout << "Failed to register name "  << name << " face " << face_str << " not found." << std::endl;
    }
}
Beispiel #5
0
void hw_http_add_route(char *route, http_request_callback callback)
{
    if (routes == NULL)
    {
        /* routes = rxt_init(); */
        routes = kh_init(string_hashmap);
    }
    /* rxt_put(route, callback, routes); */
    set_route(routes, route, callback);
    printf("Added route %s\n", route); // TODO: Replace with logging instead.
}
Beispiel #6
0
void hw_http_add_route(char *route, http_request_callback callback, void* user_data)
{
    hw_route_entry* route_entry = malloc(sizeof(hw_route_entry));
    route_entry->callback = callback;
    route_entry->user_data = user_data;
    
    if (routes == NULL)
    {
        routes = kh_init(string_hashmap);
    }
    set_route(routes, route, route_entry);
    printf("Added route %s\n", route); // TODO: Replace with logging instead.
}
Beispiel #7
0
int mount_djmount(char *mycwd)
{
	int rc=-1;
	if (strstr(mycwd,"/uPnP")!=NULL ) {
		set_route(1448*4);
		printf("Mounting %s\n",mycwd);
		av_set_audio_output(AV_AUDIO_CLOSE);
		if (fork()==0) {
			if (display_attr.utf8 == 1 ) {
				rc = execlp("/bin/djmount","djmount","-o", "iocharset=utf8","/uPnP",(char*)0);
			} else {
				rc = execlp("/bin/djmount","djmount","/uPnP",(char *)0);
			}
		}
		busy_start();
		usleep(2500000);
		busy_end();
		mvpw_expose(file_browser);
		av_set_audio_output(AV_AUDIO_MPEG);
	}
	return rc;
}