| 47 | } |
| 48 | |
| 49 | void queue_vtable_callback( struct w_iface *w_iface, enum callback_type type, uint64_t arg0, uint64_t arg1 ) |
| 50 | { |
| 51 | struct callback_entry *entry; |
| 52 | uint32_t size = 0; |
| 53 | |
| 54 | size += sizeof(struct callback_entry); |
| 55 | if (!(entry = (struct callback_entry *)calloc( 1, size ))) return; |
| 56 | |
| 57 | entry->callback.type = type; |
| 58 | size -= offsetof( struct callback_entry, callback ); |
| 59 | entry->callback.size = size; |
| 60 | |
| 61 | entry->callback.call_iface_vtable.iface = w_iface; |
| 62 | entry->callback.call_iface_vtable.arg0 = arg0; |
| 63 | entry->callback.call_iface_vtable.arg1 = arg1; |
| 64 | |
| 65 | pthread_mutex_lock( &callbacks_lock ); |
| 66 | list_add_tail( &callbacks, &entry->entry ); |
| 67 | pthread_mutex_unlock( &callbacks_lock ); |
| 68 | } |
| 69 | |
| 70 | void queue_vtable_callback_0_server_responded( struct w_iface *w_iface, gameserveritem_t_105 *server ) |
| 71 | { |
no outgoing calls
no test coverage detected