Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching refs:table

45 	struct eloop_sock *table;
80 static int eloop_sock_table_add_sock(struct eloop_sock_table *table,
86 if (table == NULL)
90 os_realloc(table->table,
91 (table->count + 1) * sizeof(struct eloop_sock));
95 tmp[table->count].sock = sock;
96 tmp[table->count].eloop_data = eloop_data;
97 tmp[table->count].user_data = user_data;
98 tmp[table->count].handler = handler;
99 table->count++;
100 table->table = tmp;
103 table->changed = 1;
109 static void eloop_sock_table_remove_sock(struct eloop_sock_table *table,
114 if (table == NULL || table->table == NULL || table->count == 0)
117 for (i = 0; i < table->count; i++) {
118 if (table->table[i].sock == sock)
121 if (i == table->count)
123 if (i != table->count - 1) {
124 os_memmove(&table->table[i], &table->table[i + 1],
125 (table->count - i - 1) *
128 table->count--;
129 table->changed = 1;
133 static void eloop_sock_table_set_fds(struct eloop_sock_table *table,
140 if (table->table == NULL)
143 for (i = 0; i < table->count; i++)
144 FD_SET(table->table[i].sock, fds);
148 static void eloop_sock_table_dispatch(struct eloop_sock_table *table,
153 if (table == NULL || table->table == NULL)
156 table->changed = 0;
157 for (i = 0; i < table->count; i++) {
158 if (FD_ISSET(table->table[i].sock, fds)) {
159 table->table[i].handler(table->table[i].sock,
160 table->table[i].eloop_data,
161 table->table[i].user_data);
162 if (table->changed)
169 static void eloop_sock_table_destroy(struct eloop_sock_table *table)
171 if (table)
172 os_free(table->table);
209 struct eloop_sock_table *table;
211 table = eloop_get_sock_table(type);
212 return eloop_sock_table_add_sock(table, sock, handler,
219 struct eloop_sock_table *table;
221 table = eloop_get_sock_table(type);
222 eloop_sock_table_remove_sock(table, sock);