Implement listing of pid tracker content
[lttng-modules.git] / lttng-abi.c
index 381a73904dfe60e6e6d0a8bc66a0cecf5fd65bf8..81d813c512892bdb3d0ddef33ae45abad8a452ef 100644 (file)
@@ -49,6 +49,7 @@
 #include "wrapper/ringbuffer/backend.h"
 #include "wrapper/ringbuffer/frontend.h"
 #include "wrapper/poll.h"
+#include "wrapper/file.h"
 #include "lttng-abi.h"
 #include "lttng-abi-old.h"
 #include "lttng-events.h"
@@ -83,7 +84,7 @@ int lttng_abi_create_session(void)
        session = lttng_session_create();
        if (!session)
                return -ENOMEM;
-       session_fd = get_unused_fd();
+       session_fd = lttng_get_unused_fd();
        if (session_fd < 0) {
                ret = session_fd;
                goto fd_error;
@@ -112,7 +113,7 @@ int lttng_abi_tracepoint_list(void)
        struct file *tracepoint_list_file;
        int file_fd, ret;
 
-       file_fd = get_unused_fd();
+       file_fd = lttng_get_unused_fd();
        if (file_fd < 0) {
                ret = file_fd;
                goto fd_error;
@@ -332,7 +333,7 @@ int lttng_abi_create_channel(struct file *session_file,
        int chan_fd;
        int ret = 0;
 
-       chan_fd = get_unused_fd();
+       chan_fd = lttng_get_unused_fd();
        if (chan_fd < 0) {
                ret = chan_fd;
                goto fd_error;
@@ -422,6 +423,10 @@ fd_error:
  *             Disables tracing for a session (strong disable)
  *     LTTNG_KERNEL_METADATA
  *             Returns a LTTng metadata file descriptor
+ *     LTTNG_KERNEL_SESSION_TRACK_PID
+ *             Add PID to session tracker
+ *     LTTNG_KERNEL_SESSION_UNTRACK_PID
+ *             Remove PID from session tracker
  *
  * The returned channel will be deleted when its file descriptor is closed.
  */
@@ -501,6 +506,12 @@ long lttng_session_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                return lttng_abi_create_channel(file, &chan_param,
                                METADATA_CHANNEL);
        }
+       case LTTNG_KERNEL_SESSION_TRACK_PID:
+               return lttng_session_track_pid(session, (int) arg);
+       case LTTNG_KERNEL_SESSION_UNTRACK_PID:
+               return lttng_session_untrack_pid(session, (int) arg);
+       case LTTNG_KERNEL_SESSION_LIST_TRACKER_PIDS:
+               return lttng_session_list_tracker_pids(session);
        default:
                return -ENOIOCTLCMD;
        }
@@ -783,7 +794,7 @@ int lttng_abi_create_stream_fd(struct file *channel_file, void *stream_priv,
        int stream_fd, ret;
        struct file *stream_file;
 
-       stream_fd = get_unused_fd();
+       stream_fd = lttng_get_unused_fd();
        if (stream_fd < 0) {
                ret = stream_fd;
                goto fd_error;
@@ -920,7 +931,7 @@ int lttng_abi_create_event(struct file *channel_file,
        }
        switch (event_param->instrumentation) {
        default:
-               event_fd = get_unused_fd();
+               event_fd = lttng_get_unused_fd();
                if (event_fd < 0) {
                        ret = event_fd;
                        goto fd_error;
This page took 0.038375 seconds and 4 git commands to generate.