+ case LTTNG_SESSION_GET_CURRENT_OUTPUT:
+ {
+ struct lttng_session_get_current_output_return output_return;
+
+ memset(&output_return, 0, sizeof(output_return));
+ ret = cmd_session_get_current_output(cmd_ctx->session,
+ &output_return);
+ if (ret < 0) {
+ ret = -ret;
+ goto error;
+ }
+
+ ret = setup_lttng_msg_no_cmd_header(cmd_ctx, &output_return,
+ sizeof(output_return));
+ if (ret < 0) {
+ ret = -ret;
+ goto error;
+ }
+
+ ret = LTTNG_OK;
+ break;
+ }
+ case LTTNG_ROTATION_SET_SCHEDULE:
+ {
+ if (cmd_ctx->session->kernel_session && !check_rotate_compatible()) {
+ DBG("Kernel tracer version does not support session rotations");
+ ret = LTTNG_ERR_ROTATION_WRONG_VERSION;
+ goto error;
+ }
+
+ ret = cmd_rotation_set_schedule(cmd_ctx->session,
+ cmd_ctx->lsm->u.rotate_setup.timer_us,
+ cmd_ctx->lsm->u.rotate_setup.size,
+ notification_thread_handle);
+ if (ret != LTTNG_OK) {
+ goto error;
+ }
+
+ break;
+ }
+ case LTTNG_ROTATION_SCHEDULE_GET_TIMER_PERIOD: