- fac_load_data = (struct LttFacilityLoad *)pos;
-
- fac = &g_array_index (tf->trace->facilities_by_num, LttFacility,
- ltt_get_uint32(LTT_GET_BO(tf), &fac_load_data->id));
- /* facility may already exist if trace is paused/unpaused */
- if(fac->exists) continue;
- fac->name = g_quark_from_string(fac_name);
- fac->checksum = ltt_get_uint32(LTT_GET_BO(tf),
- &fac_load_data->checksum);
- fac->id = ltt_get_uint32(LTT_GET_BO(tf), &fac_load_data->id);
- fac->pointer_size = ltt_get_uint32(LTT_GET_BO(tf),
- &fac_load_data->pointer_size);
- fac->int_size = ltt_get_uint32(LTT_GET_BO(tf),
- &fac_load_data->int_size);
- fac->long_size = ltt_get_uint32(LTT_GET_BO(tf),
- &fac_load_data->long_size);
- fac->size_t_size = ltt_get_uint32(LTT_GET_BO(tf),
- &fac_load_data->size_t_size);
- fac->alignment = ltt_get_uint32(LTT_GET_BO(tf),
- &fac_load_data->has_alignment);
-
- if(ltt_get_facility_description(fac, tf->trace, tf))
- continue; /* error opening description */
-
- fac->trace = tf->trace;
-
- /* Preset the field offsets */
- for(i=0; i<fac->events->len; i++){
- et = &g_array_index(fac->events, LttEventType, i);
- precompute_offsets(fac, et);
- }
-
- fac->exists = 1;
-
- fac_ids = g_datalist_id_get_data(&tf->trace->facilities_by_name,
- fac->name);
- if(fac_ids == NULL) {
- fac_ids = g_array_sized_new (FALSE, TRUE, sizeof(guint), 1);
- g_datalist_id_set_data_full(&tf->trace->facilities_by_name,
- fac->name,
- fac_ids, ltt_fac_ids_destroy);
- }
- g_array_append_val(fac_ids, fac->id);
-
- break;
- case LTT_EVENT_FACILITY_UNLOAD:
- g_debug("Doing LTT_EVENT_FACILITY_UNLOAD");
- /* We don't care about unload : facilities ID are valid for the whole
- * trace. They simply won't be used after the unload. */
+ pos += ltt_align((size_t)pos, sizeof(uint16_t), tf->has_alignment);
+ id = ltt_get_uint16(LTT_GET_BO(tf), pos);
+ pos += sizeof(guint16);
+ int_size = *(guint8*)pos;
+ pos += sizeof(guint8);
+ long_size = *(guint8*)pos;
+ pos += sizeof(guint8);
+ pointer_size = *(guint8*)pos;
+ pos += sizeof(guint8);
+ size_t_size = *(guint8*)pos;
+ pos += sizeof(guint8);
+ alignment = *(guint8*)pos;
+ pos += sizeof(guint8);
+ marker_id_event(tf->trace, g_quark_from_string(marker_name),
+ id, int_size, long_size,
+ pointer_size, size_t_size, alignment);