Lines Matching defs:world

9 /* Our local types that specify our "world" */
41 * when moving the real-world to somewhere else, this might be replaced by
105 static int tunala_world_new_item(tunala_world_t * world, int fd,
108 static void tunala_world_del_item(tunala_world_t * world, unsigned int idx);
322 tunala_world_t world;
539 if ((world.ssl_ctx = initialise_ssl_ctx(server_mode, engine_id,
550 if ((world.listen_fd = ip_create_listener(listenhost)) == -1)
562 world.tunnels_used = world.tunnels_size = 0;
563 world.tunnels = NULL;
564 world.server_mode = server_mode;
565 selector_init(&world.selector);
570 if (world.tunnels_used < max_tunnels)
571 selector_add_listener(&world.selector, world.listen_fd);
573 for (loop = 0; loop < world.tunnels_used; loop++)
574 selector_add_tunala(&world.selector, world.tunnels + loop);
576 switch (selector_select(&world.selector)) {
591 if ((world.tunnels_used < max_tunnels)
592 && (selector_get_listener(&world.selector, world.listen_fd, &newfd) ==
595 if (!tunala_world_new_item(&world, newfd, proxy_ip,
600 "%d\n", world.tunnels_used);
608 t_item = world.tunnels;
609 while (loop < world.tunnels_used) {
610 if (!tunala_item_io(&world.selector, t_item)) {
636 tunala_world_del_item(&world, loop);
639 world.tunnels_used);
980 /* "Tunala" world stuff */
983 static int tunala_world_make_room(tunala_world_t * world)
988 if (world->tunnels_used < world->tunnels_size)
990 newsize = (world->tunnels_size == 0 ? 16 :
991 ((world->tunnels_size * 3) / 2));
995 if (world->tunnels_used > 0)
996 memcpy(newarray, world->tunnels,
997 world->tunnels_used * sizeof(tunala_item_t));
998 if (world->tunnels_size > 0)
999 free(world->tunnels);
1001 world->tunnels = newarray;
1002 world->tunnels_size = newsize;
1006 static int tunala_world_new_item(tunala_world_t * world, int fd,
1014 if (!tunala_world_make_room(world))
1016 if ((new_ssl = SSL_new(world->ssl_ctx)) == NULL) {
1021 item = world->tunnels + (world->tunnels_used++);
1033 if ((world->server_mode && !flipped) || (!world->server_mode && flipped)) {
1044 if (!state_machine_set_SSL(&item->sm, new_ssl, world->server_mode))
1048 tunala_world_del_item(world, world->tunnels_used - 1);
1053 static void tunala_world_del_item(tunala_world_t * world, unsigned int idx)
1055 tunala_item_t *item = world->tunnels + idx;
1068 if (idx + 1 < world->tunnels_used)
1070 memmove(world->tunnels + idx,
1071 world->tunnels + (idx + 1),
1072 (world->tunnels_used - (idx + 1)) * sizeof(tunala_item_t));
1073 world->tunnels_used--;