Rename ltt_events_exit to lttng_ust_events_exit
[lttng-ust.git] / libust / lttng-ust-abi.c
index 16566c876664df8ae6a9e812ea126d2aa652ed77..be9d1d31d82133e6e2277aeaaa520c359e34753c 100644 (file)
@@ -177,11 +177,8 @@ void objd_table_destroy(void)
 {
        int i;
 
-       for (i = 0; i < objd_table.allocated_len; i++) {
-               struct obj *obj = _objd_get(i);
-
+       for (i = 0; i < objd_table.allocated_len; i++)
                (void) objd_unref(i);
-       }
        free(objd_table.array);
        objd_table.array = NULL;
        objd_table.len = 0;
@@ -211,7 +208,6 @@ int lttng_abi_create_root_handle(void)
        int root_handle;
 
        root_handle = objd_alloc(NULL, &lttng_ops);
-       assert(root_handle == 0);
        return root_handle;
 }
 
@@ -276,8 +272,14 @@ long lttng_abi_add_context(int objd,
                return -EPERM;
 
        switch (context_param->ctx) {
+       case LTTNG_UST_CONTEXT_PTHREAD_ID:
+               return lttng_add_pthread_id_to_ctx(ctx);
        case LTTNG_UST_CONTEXT_VTID:
-               //TODO return lttng_add_vtid_to_ctx(ctx);
+               return lttng_add_vtid_to_ctx(ctx);
+       case LTTNG_UST_CONTEXT_VPID:
+               return lttng_add_vpid_to_ctx(ctx);
+       case LTTNG_UST_CONTEXT_PROCNAME:
+               return lttng_add_procname_to_ctx(ctx);
        default:
                return -EINVAL;
        }
@@ -505,7 +507,7 @@ static const struct objd_ops lttng_session_ops = {
 };
 
 struct stream_priv_data {
-       struct lib_ring_buffer *buf;
+       struct lttng_ust_lib_ring_buffer *buf;
        struct ltt_channel *ltt_chan;
 };
 
@@ -513,7 +515,7 @@ static
 int lttng_abi_open_stream(int channel_objd, struct lttng_ust_stream *info)
 {
        struct ltt_channel *channel = objd_private(channel_objd);
-       struct lib_ring_buffer *buf;
+       struct lttng_ust_lib_ring_buffer *buf;
        struct stream_priv_data *priv;
        int stream_objd, ret;
 
@@ -630,6 +632,8 @@ long lttng_channel_cmd(int objd, unsigned int cmd, unsigned long arg)
                return ltt_channel_enable(channel);
        case LTTNG_UST_DISABLE:
                return ltt_channel_disable(channel);
+       case LTTNG_UST_FLUSH_BUFFER:
+               return channel->ops->flush_buffer(channel->chan, channel->handle);
        default:
                return -EINVAL;
        }
@@ -651,6 +655,8 @@ long lttng_channel_cmd(int objd, unsigned int cmd, unsigned long arg)
 static
 long lttng_metadata_cmd(int objd, unsigned int cmd, unsigned long arg)
 {
+       struct ltt_channel *channel = objd_private(objd);
+
        switch (cmd) {
        case LTTNG_UST_STREAM:
        {
@@ -660,6 +666,8 @@ long lttng_metadata_cmd(int objd, unsigned int cmd, unsigned long arg)
                /* stream used as output */
                return lttng_abi_open_stream(objd, stream);
        }
+       case LTTNG_UST_FLUSH_BUFFER:
+               return channel->ops->flush_buffer(channel->chan, channel->handle);
        default:
                return -EINVAL;
        }
@@ -725,13 +733,10 @@ static const struct objd_ops lttng_metadata_ops = {
  *
  *     This object descriptor implements lttng commands:
  *             (None for now. Access is done directly though shm.)
- *             TODO: Add buffer flush.
  */
 static
 long lttng_rb_cmd(int objd, unsigned int cmd, unsigned long arg)
 {
-       struct stream_priv_data *priv = objd_private(objd);
-
        switch (cmd) {
        default:
                return -EINVAL;
@@ -742,7 +747,7 @@ static
 int lttng_rb_release(int objd)
 {
        struct stream_priv_data *priv = objd_private(objd);
-       struct lib_ring_buffer *buf;
+       struct lttng_ust_lib_ring_buffer *buf;
        struct ltt_channel *channel;
 
        if (priv) {
This page took 0.026183 seconds and 4 git commands to generate.