#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(
+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,
/*
* Destroy a process attribute tracker handle.
*/
-extern void lttng_process_attr_tracker_handle_destroy(
+LTTNG_EXPORT extern void lttng_process_attr_tracker_handle_destroy(
struct lttng_process_attr_tracker_handle *tracker_handle);
/*
* 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);
* 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);
* 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,
* 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,
* 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,
* 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,
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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);
* 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_EXPORT extern enum lttng_process_attr_values_status
lttng_process_attr_values_get_count(
const struct lttng_process_attr_values *values,
unsigned int *count);
* 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_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);
* 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_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,
* 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_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,
* 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_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,
* 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_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,
* 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_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,
*
* Returns 0 on success, else a negative LTTng error code.
*/
-extern int lttng_list_tracker_pids(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_list_tracker_pids(struct lttng_handle *handle,
int *enabled,
int32_t **pids,
size_t *nr_pids);
*
* 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
}