+#ifndef FACILITY_H
+#define FACILITY_H
#include <ltt/ltt.h>
-/* A facility is obtained from a .event file containing event type
- declarations. The facility content must have the specified checksum.
- The structures associated with a facility may be released with
- a call to ltt_close_facility if its usage count is 0. */
+/* Facilities are obtained from an opened trace. The structures associated
+ with a facility are released when the trace is closed. Each facility
+ is characterized by its name and checksum. */
-ltt_facility *ltt_facility_open(char *pathname, ltt_checksum c);
+char *ltt_facility_name(LttFacility *f);
-int ltt_facility_close(ltt_facility *f);
-
-
-/* Obtain the name and checksum of the facility */
-
-char *ltt_facility_name(ltt_facility *f);
-
-ltt_checksum ltt_facility_checksum(ltt_facility *f);
+LttChecksum ltt_facility_checksum(LttFacility *f);
/* Discover the event types within the facility. The event type integer id
- used here is specific to the trace (from 0 to nb_event_types - 1). */
+ relative to the trace is from 0 to nb_event_types - 1. The event
+ type id within the trace is the relative id + the facility base event
+ id. */
+
+unsigned ltt_facility_base_id(LttFacility *f);
-unsigned ltt_facility_eventtype_number(ltt_facility *f);
+unsigned ltt_facility_eventtype_number(LttFacility *f);
-ltt_eventtype *ltt_facility_eventtype_get(ltt_facility *f, unsigned i);
+LttEventType *ltt_facility_eventtype_get(LttFacility *f, unsigned i);
-ltt_eventtype *ltt_facility_eventtype_get_by_name(ltt_facility *f, char *name);
+LttEventType *ltt_facility_eventtype_get_by_name(LttFacility *f, char *name);
+#endif // FACILITY_H