+static inline int lttng_msgpack_encode_user_fixstr(
+ struct lttng_msgpack_writer *writer,
+ const char __user *ustr,
+ uint8_t len)
+{
+ int ret;
+
+ lttng_msgpack_assert(len <= MSGPACK_FIXSTR_MAX_LENGTH);
+
+ ret = lttng_msgpack_append_u8(writer, MSGPACK_FIXSTR_ID_MASK | len);
+ if (ret)
+ goto end;
+
+ ret = lttng_msgpack_append_user_buffer(writer, (uint8_t __user *) ustr, len);
+ if (ret)
+ goto end;
+
+end:
+ return ret;
+}
+
+static inline int lttng_msgpack_encode_user_str16(
+ struct lttng_msgpack_writer *writer,
+ const char __user *ustr,
+ uint16_t len)
+{
+ int ret;
+
+ lttng_msgpack_assert(len > MSGPACK_FIXSTR_MAX_LENGTH);
+
+ ret = lttng_msgpack_append_u8(writer, MSGPACK_STR16_ID);
+ if (ret)
+ goto end;
+
+ ret = lttng_msgpack_append_u16(writer, len);
+ if (ret)
+ goto end;
+
+ ret = lttng_msgpack_append_user_buffer(writer, (uint8_t __user *) ustr, len);
+ if (ret)
+ goto end;
+
+end:
+ return ret;
+}
+
+