+/* Create a new address location.
+ ADDR is the address corresponding to this event_location.
+ ADDR_STRING, a string of ADDR_STRING_LEN characters, is
+ the expression that was parsed to determine the address ADDR. */
+
+extern event_location_up new_address_location (CORE_ADDR addr,
+ const char *addr_string,
+ int addr_string_len);
+
+/* Return the address location (a CORE_ADDR) of the given event_location
+ (which must be of type ADDRESS_LOCATION). */
+
+extern CORE_ADDR
+ get_address_location (const struct event_location *location);
+
+/* Return the expression (a string) that was used to compute the address
+ of the given event_location (which must be of type ADDRESS_LOCATION). */
+
+extern const char *
+ get_address_string_location (const struct event_location *location);
+
+/* Create a new probe location. */
+
+extern event_location_up new_probe_location (const char *probe);
+
+/* Return the probe location (a string) of the given event_location
+ (which must be of type PROBE_LOCATION). */
+
+extern const char *
+ get_probe_location (const struct event_location *location);
+
+/* Initialize the given explicit location. */
+
+extern void
+ initialize_explicit_location (struct explicit_location *explicit_loc);
+
+/* Create a new explicit location. If not NULL, EXPLICIT is checked for
+ validity. If invalid, an exception is thrown. */
+
+extern event_location_up
+ new_explicit_location (const struct explicit_location *explicit_loc);
+
+/* Return the explicit location of the given event_location
+ (which must be of type EXPLICIT_LOCATION). */