int get_currents_index(int *srv, int *chn) { t_server *server; int size; int size2; t_channel *chan; size = (int)list_get_size(server_list); while (--size >= 0) if ((server = GET_AT(server_list, size)) != NULL) if (server->current == 1) { *srv = size; size2 = (int)list_get_size(server->channel_list); while (--size2 >= 0) if ((chan = (t_channel*)GET_AT(server->channel_list, size2)) != NULL) if (chan->current == 1) { *chn = size2; return (0); } } return (-1); }
t_server *get_current_server() { t_server *server; int size; size = (int)list_get_size(server_list) - 1; while (size >= 0) { if ((server = GET_AT(server_list, size)) != NULL) if (server->current == 1) return (server); --size; } return (NULL); }
void process_fd(fd_set *fds) { int size; t_server *server; if (FD_ISSET(0, fds)) handle_write(); size = (int)list_get_size(server_list) - 1; while (size >= 0) { if ((server = (t_server*)GET_AT(server_list, size)) != NULL) if (FD_ISSET(server->sockfd, fds)) handle_input(server); --size; } }
void remove_server(t_list *list, t_server *server) { int size; t_server *srv; size = (int)list_get_size(*list) - 1; while (size >= 0) { if ((srv = (t_server*)GET_AT(*list, size)) != NULL) if (server == srv) { list_del_elem_at_position(list, (unsigned int)size); remove_all_channel(srv); free(srv); return ; } --size; } }
int register_servers_fd(t_list list, fd_set *fds) { int size; t_server *server; int max; size = (int)list_get_size(list) - 1; max = -1; while (size >= 0) { if ((server = (t_server*)GET_AT(list, size)) != NULL) { FD_SET(server->sockfd, fds); if (server->sockfd > max) max = server->sockfd; } --size; } return (max); }
/** * getAtVblePlugIn */ void* getAtVblePlugIn(Parameters argv, int Position) { void *Temp; GET_AT(argv.VblesMAPiCO, Position, Temp); return Temp; }//getAtVblePlugIn