#include <lttng/constant.h>
#include <lttng/domain.h>
#include <lttng/lttng-error.h>
+#include <lttng/lttng-export.h>
#include <lttng/session.h>
#include <sys/types.h>
* The tracker's ownership is transfered to the caller. Use
* lttng_process_attr_tracker_handle_destroy() to dispose of it.
*/
-extern enum lttng_error_code lttng_session_get_tracker_handle(
- const char *session_name,
- enum lttng_domain_type domain,
- enum lttng_process_attr process_attr,
- struct lttng_process_attr_tracker_handle **out_tracker_handle);
+LTTNG_EXPORT extern enum lttng_error_code
+lttng_session_get_tracker_handle(const char *session_name,
+ enum lttng_domain_type domain,
+ enum lttng_process_attr process_attr,
+ struct lttng_process_attr_tracker_handle **out_tracker_handle);
/*
* Destroy a process attribute tracker handle.
*/
-extern void lttng_process_attr_tracker_handle_destroy(
- struct lttng_process_attr_tracker_handle *tracker_handle);
+LTTNG_EXPORT extern void
+lttng_process_attr_tracker_handle_destroy(struct lttng_process_attr_tracker_handle *tracker_handle);
/*
* Get the tracking policy of a process attribute tracker.
* policy of a process attribute tracker on success,
* LTTNG_PROCESS_ATTR_TRACKER_HANDLE_STATUS_INVALID on error.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_tracker_handle_get_tracking_policy(
- const struct lttng_process_attr_tracker_handle *tracker_handle,
- enum lttng_tracking_policy *policy);
+ const struct lttng_process_attr_tracker_handle *tracker_handle,
+ enum lttng_tracking_policy *policy);
/*
* Set the tracking policy of a process attribute tracker.
* Returns the LTTNG_PROCESS_ATTR_TRACKER_HANDLE_STATUS_OK on success,
* LTTNG_PROCESS_ATTR_TRACKER_HANDLE_STATUS_INVALID on error.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_tracker_handle_set_tracking_policy(
- const struct lttng_process_attr_tracker_handle *tracker_handle,
- enum lttng_tracking_policy policy);
+ const struct lttng_process_attr_tracker_handle *tracker_handle,
+ enum lttng_tracking_policy policy);
/*
* Add a numerical PID to the process ID process attribute tracker inclusion
* LTTNG_PROCESS_ATTR_TRACKER_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_process_id_tracker_handle_add_pid(
- const struct lttng_process_attr_tracker_handle
- *process_id_tracker,
- pid_t pid);
+ const struct lttng_process_attr_tracker_handle *process_id_tracker, pid_t pid);
/*
* Remove a numerical PID from the process ID process attribute tracker include
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_process_id_tracker_handle_remove_pid(
- const struct lttng_process_attr_tracker_handle
- *process_id_tracker,
- pid_t pid);
+ const struct lttng_process_attr_tracker_handle *process_id_tracker, pid_t pid);
/*
* Add a numerical PID to the virtual process ID process attribute tracker
* LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_process_id_tracker_handle_add_pid(
- const struct lttng_process_attr_tracker_handle
- *process_id_tracker,
- pid_t vpid);
+ const struct lttng_process_attr_tracker_handle *process_id_tracker, pid_t vpid);
/*
* Remove a numerical PID from the virtual process ID process attribute tracker
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_process_id_tracker_handle_remove_pid(
- const struct lttng_process_attr_tracker_handle
- *process_id_tracker,
- pid_t vpid);
+ const struct lttng_process_attr_tracker_handle *process_id_tracker, pid_t vpid);
/*
* Add a numerical UID to the user ID process attribute tracker inclusion set.
* LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_user_id_tracker_handle_add_uid(
- const struct lttng_process_attr_tracker_handle *user_id_tracker,
- uid_t uid);
+ const struct lttng_process_attr_tracker_handle *user_id_tracker, uid_t uid);
/*
* Remove a numerical UID from the user ID process attribute tracker include
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_user_id_tracker_handle_remove_uid(
- const struct lttng_process_attr_tracker_handle *user_id_tracker,
- uid_t uid);
+ const struct lttng_process_attr_tracker_handle *user_id_tracker, uid_t uid);
/*
* Add a user name to the user ID process attribute tracker inclusion set.
* LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_user_id_tracker_handle_add_user_name(
- const struct lttng_process_attr_tracker_handle *user_id_tracker,
- const char *user_name);
+ const struct lttng_process_attr_tracker_handle *user_id_tracker, const char *user_name);
/*
* Remove a user name from the user ID process attribute tracker include
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_user_id_tracker_handle_remove_user_name(
- const struct lttng_process_attr_tracker_handle *user_id_tracker,
- const char *user_name);
+ const struct lttng_process_attr_tracker_handle *user_id_tracker, const char *user_name);
/*
* Add a numerical UID to the virtual user ID process attribute tracker
* LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_user_id_tracker_handle_add_uid(
- const struct lttng_process_attr_tracker_handle *user_id_tracker,
- uid_t vuid);
+ const struct lttng_process_attr_tracker_handle *user_id_tracker, uid_t vuid);
/*
* Remove a numerical UID from the virtual user ID process attribute tracker
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_user_id_tracker_handle_remove_uid(
- const struct lttng_process_attr_tracker_handle *user_id_tracker,
- uid_t vuid);
+ const struct lttng_process_attr_tracker_handle *user_id_tracker, uid_t vuid);
/*
* Add a user name to the virtual user ID process attribute tracker include
* LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_user_id_tracker_handle_add_user_name(
- const struct lttng_process_attr_tracker_handle *user_id_tracker,
- const char *virtual_user_name);
+ const struct lttng_process_attr_tracker_handle *user_id_tracker,
+ const char *virtual_user_name);
/*
* Remove a user name from the virtual user ID process attribute tracker
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_user_id_tracker_handle_remove_user_name(
- const struct lttng_process_attr_tracker_handle *user_id_tracker,
- const char *virtual_user_name);
+ const struct lttng_process_attr_tracker_handle *user_id_tracker,
+ const char *virtual_user_name);
/*
* Add a numerical GID to the group ID process attribute tracker inclusion set.
* LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_group_id_tracker_handle_add_gid(
- const struct lttng_process_attr_tracker_handle *group_id_tracker,
- gid_t gid);
+ const struct lttng_process_attr_tracker_handle *group_id_tracker, gid_t gid);
/*
* Remove a numerical GID from the group ID process attribute tracker include
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_group_id_tracker_handle_remove_gid(
- const struct lttng_process_attr_tracker_handle *group_id_tracker,
- gid_t gid);
+ const struct lttng_process_attr_tracker_handle *group_id_tracker, gid_t gid);
/*
* Add a group name to the group ID process attribute tracker inclusion set.
* LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_group_id_tracker_handle_add_group_name(
- const struct lttng_process_attr_tracker_handle *group_id_tracker,
- const char *group_name);
+ const struct lttng_process_attr_tracker_handle *group_id_tracker, const char *group_name);
/*
* Remove a group name from the group ID process attribute tracker include
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_group_id_tracker_handle_remove_group_name(
- const struct lttng_process_attr_tracker_handle *group_id_tracker,
- const char *group_name);
+ const struct lttng_process_attr_tracker_handle *group_id_tracker, const char *group_name);
/*
* Add a numerical GID to the virtual group ID process attribute tracker
* LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_group_id_tracker_handle_add_gid(
- const struct lttng_process_attr_tracker_handle *group_id_tracker,
- gid_t vgid);
+ const struct lttng_process_attr_tracker_handle *group_id_tracker, gid_t vgid);
/*
* Remove a numerical GID from the virtual group ID process attribute tracker
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_group_id_tracker_handle_remove_gid(
- const struct lttng_process_attr_tracker_handle *group_id_tracker,
- gid_t vgid);
+ const struct lttng_process_attr_tracker_handle *group_id_tracker, gid_t vgid);
/*
* Add a group name to the virtual group ID process attribute tracker include
* LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if an invalid tracker
* argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_group_id_tracker_handle_add_group_name(
- const struct lttng_process_attr_tracker_handle *group_id_tracker,
- const char *virtual_group_name);
+ const struct lttng_process_attr_tracker_handle *group_id_tracker,
+ const char *virtual_group_name);
/*
* Remove a group name from the virtual group ID process attribute tracker
* in the inclusion set, and LTTNG_PROCESS_ATTR_TRACKED_HANDLE_STATUS_INVALID if
* an invalid tracker argument was provided.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_virtual_group_id_tracker_handle_remove_group_name(
- const struct lttng_process_attr_tracker_handle *group_id_tracker,
- const char *virtual_group_name);
+ const struct lttng_process_attr_tracker_handle *group_id_tracker,
+ const char *virtual_group_name);
/*
* Get the process attribute values that are part of a tracker's inclusion set.
* LTTNG_PROCESS_ATTR_TRACKER_HANDLE_STATUS_INVALID if the tracker's policy is
* not LTTNG_POLICY_INCLUDE_SET.
*/
-extern enum lttng_process_attr_tracker_handle_status
+LTTNG_EXPORT extern enum lttng_process_attr_tracker_handle_status
lttng_process_attr_tracker_handle_get_inclusion_set(
- struct lttng_process_attr_tracker_handle *tracker_handle,
- const struct lttng_process_attr_values **values);
+ struct lttng_process_attr_tracker_handle *tracker_handle,
+ const struct lttng_process_attr_values **values);
/*
* Get the count of values within a set of process attribute values.
* Returns LTTNG_PROCESS_ATTR_VALUES_STATUS_OK on success,
* LTTNG_PROCESS_ATTR_VALUES_STATUS_INVALID if an invalid argument is provided.
*/
-extern enum lttng_process_attr_values_status
-lttng_process_attr_values_get_count(
- const struct lttng_process_attr_values *values,
- unsigned int *count);
+LTTNG_EXPORT extern enum lttng_process_attr_values_status
+lttng_process_attr_values_get_count(const struct lttng_process_attr_values *values,
+ unsigned int *count);
/*
* Get the type of a process attribute value at a given index.
* Returns a process attribute value type on success,
* LTTNG_PROCESS_ATTR_VALUE_TYPE_INVALID if an invalid argument is provided.
*/
-extern enum lttng_process_attr_value_type
-lttng_process_attr_values_get_type_at_index(
- const struct lttng_process_attr_values *values,
- unsigned int index);
+LTTNG_EXPORT extern enum lttng_process_attr_value_type
+lttng_process_attr_values_get_type_at_index(const struct lttng_process_attr_values *values,
+ unsigned int index);
/*
* Get a process ID process attribute value.
* LTTNG_PROCESS_ATTR_VALUES_STATUS_INVALID_TYPE if the process attribute value
* is not a process ID.
*/
-extern enum lttng_process_attr_values_status
-lttng_process_attr_values_get_pid_at_index(
- const struct lttng_process_attr_values *values,
- unsigned int index,
- pid_t *pid);
+LTTNG_EXPORT extern enum lttng_process_attr_values_status
+lttng_process_attr_values_get_pid_at_index(const struct lttng_process_attr_values *values,
+ unsigned int index,
+ pid_t *pid);
/*
* Get a user ID process attribute value.
* LTTNG_PROCESS_ATTR_VALUES_STATUS_INVALID_TYPE if the process attribute value
* is not a user ID.
*/
-extern enum lttng_process_attr_values_status
-lttng_process_attr_values_get_uid_at_index(
- const struct lttng_process_attr_values *values,
- unsigned int index,
- uid_t *uid);
+LTTNG_EXPORT extern enum lttng_process_attr_values_status
+lttng_process_attr_values_get_uid_at_index(const struct lttng_process_attr_values *values,
+ unsigned int index,
+ uid_t *uid);
/*
* Get a user name process attribute value.
* LTTNG_PROCESS_ATTR_VALUES_STATUS_INVALID_TYPE if the process attribute value
* is not a user name.
*/
-extern enum lttng_process_attr_values_status
-lttng_process_attr_values_get_user_name_at_index(
- const struct lttng_process_attr_values *values,
- unsigned int index,
- const char **user_name);
+LTTNG_EXPORT extern enum lttng_process_attr_values_status
+lttng_process_attr_values_get_user_name_at_index(const struct lttng_process_attr_values *values,
+ unsigned int index,
+ const char **user_name);
/*
* Get a group ID process attribute value.
* LTTNG_PROCESS_ATTR_VALUES_STATUS_INVALID_TYPE if the process attribute value
* is not a group ID.
*/
-extern enum lttng_process_attr_values_status
-lttng_process_attr_values_get_gid_at_index(
- const struct lttng_process_attr_values *values,
- unsigned int index,
- gid_t *gid);
+LTTNG_EXPORT extern enum lttng_process_attr_values_status
+lttng_process_attr_values_get_gid_at_index(const struct lttng_process_attr_values *values,
+ unsigned int index,
+ gid_t *gid);
/*
* Get a group name process attribute value.
* LTTNG_PROCESS_ATTR_VALUES_STATUS_INVALID_TYPE if the process attribute value
* is not a group name.
*/
-extern enum lttng_process_attr_values_status
-lttng_process_attr_values_get_group_name_at_index(
- const struct lttng_process_attr_values *values,
- unsigned int index,
- const char **group_name);
+LTTNG_EXPORT extern enum lttng_process_attr_values_status
+lttng_process_attr_values_get_group_name_at_index(const struct lttng_process_attr_values *values,
+ unsigned int index,
+ const char **group_name);
/* The following entry points are deprecated. */
*
* Returns 0 on success, else a negative LTTng error code.
*/
-extern int lttng_list_tracker_pids(struct lttng_handle *handle,
- int *enabled,
- int32_t **pids,
- size_t *nr_pids);
+LTTNG_EXPORT extern int
+lttng_list_tracker_pids(struct lttng_handle *handle, int *enabled, int32_t **pids, size_t *nr_pids);
/*
* Deprecated: see `lttng_process_attr_process_id_tracker_handle_add_pid`.
*
* Returns 0 on success, else a negative LTTng error code.
*/
-extern int lttng_track_pid(struct lttng_handle *handle, int pid);
+LTTNG_EXPORT extern int lttng_track_pid(struct lttng_handle *handle, int pid);
/*
* Deprecated: see `lttng_process_attr_process_id_tracker_handle_remove_pid`.
*
* Returns 0 on success, else a negative LTTng error code.
*/
-extern int lttng_untrack_pid(struct lttng_handle *handle, int pid);
+LTTNG_EXPORT extern int lttng_untrack_pid(struct lttng_handle *handle, int pid);
#ifdef __cplusplus
}