static
int lttng_userspace_probe_location_lookup_method_serialize(
struct lttng_userspace_probe_location_lookup_method *method,
static
int lttng_userspace_probe_location_lookup_method_serialize(
struct lttng_userspace_probe_location_lookup_method *method,
lookup_method_comm.type = (int8_t) (method ? method->type :
LTTNG_USERSPACE_PROBE_LOCATION_LOOKUP_METHOD_TYPE_FUNCTION_DEFAULT);
lookup_method_comm.type = (int8_t) (method ? method->type :
LTTNG_USERSPACE_PROBE_LOCATION_LOOKUP_METHOD_TYPE_FUNCTION_DEFAULT);
static
int lttng_userspace_probe_location_function_serialize(
const struct lttng_userspace_probe_location *location,
static
int lttng_userspace_probe_location_function_serialize(
const struct lttng_userspace_probe_location *location,
function_name_len = strlen(location_function->function_name);
if (function_name_len == 0) {
ret = -LTTNG_ERR_INVALID;
function_name_len = strlen(location_function->function_name);
if (function_name_len == 0) {
ret = -LTTNG_ERR_INVALID;
location_function_comm.function_name_len = function_name_len + 1;
location_function_comm.binary_path_len = binary_path_len + 1;
location_function_comm.function_name_len = function_name_len + 1;
location_function_comm.binary_path_len = binary_path_len + 1;
location_function->function_name,
location_function_comm.function_name_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
location_function->function_name,
location_function_comm.function_name_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
location_function->binary_path,
location_function_comm.binary_path_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
location_function->binary_path,
location_function_comm.binary_path_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
static
int lttng_userspace_probe_location_tracepoint_serialize(
const struct lttng_userspace_probe_location *location,
static
int lttng_userspace_probe_location_tracepoint_serialize(
const struct lttng_userspace_probe_location *location,
probe_name_len = strlen(location_tracepoint->probe_name);
if (probe_name_len == 0) {
ret = -LTTNG_ERR_INVALID;
probe_name_len = strlen(location_tracepoint->probe_name);
if (probe_name_len == 0) {
ret = -LTTNG_ERR_INVALID;
location_tracepoint_comm.provider_name_len = provider_name_len + 1;
location_tracepoint_comm.binary_path_len = binary_path_len + 1;
location_tracepoint_comm.provider_name_len = provider_name_len + 1;
location_tracepoint_comm.binary_path_len = binary_path_len + 1;
&location_tracepoint_comm,
sizeof(location_tracepoint_comm));
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
&location_tracepoint_comm,
sizeof(location_tracepoint_comm));
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
location_tracepoint->probe_name,
location_tracepoint_comm.probe_name_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
location_tracepoint->probe_name,
location_tracepoint_comm.probe_name_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
location_tracepoint->provider_name,
location_tracepoint_comm.provider_name_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
location_tracepoint->provider_name,
location_tracepoint_comm.provider_name_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
location_tracepoint->binary_path,
location_tracepoint_comm.binary_path_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
location_tracepoint->binary_path,
location_tracepoint_comm.binary_path_len);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
ret = sizeof(location_tracepoint_comm) +
location_tracepoint_comm.probe_name_len +
location_tracepoint_comm.provider_name_len +
ret = sizeof(location_tracepoint_comm) +
location_tracepoint_comm.probe_name_len +
location_tracepoint_comm.provider_name_len +
LTTNG_HIDDEN
int lttng_userspace_probe_location_serialize(
const struct lttng_userspace_probe_location *location,
LTTNG_HIDDEN
int lttng_userspace_probe_location_serialize(
const struct lttng_userspace_probe_location *location,
memset(&location_generic_comm, 0, sizeof(location_generic_comm));
location_generic_comm.type = (int8_t) location->type;
memset(&location_generic_comm, 0, sizeof(location_generic_comm));
location_generic_comm.type = (int8_t) location->type;
- if (buffer) {
- ret = lttng_dynamic_buffer_append(buffer, &location_generic_comm,
+ if (payload) {
+ ret = lttng_dynamic_buffer_append(&payload->buffer,
+ &location_generic_comm,
switch (lttng_userspace_probe_location_get_type(location)) {
case LTTNG_USERSPACE_PROBE_LOCATION_TYPE_FUNCTION:
ret = lttng_userspace_probe_location_function_serialize(
switch (lttng_userspace_probe_location_get_type(location)) {
case LTTNG_USERSPACE_PROBE_LOCATION_TYPE_FUNCTION:
ret = lttng_userspace_probe_location_function_serialize(
break;
case LTTNG_USERSPACE_PROBE_LOCATION_TYPE_TRACEPOINT:
ret = lttng_userspace_probe_location_tracepoint_serialize(
break;
case LTTNG_USERSPACE_PROBE_LOCATION_TYPE_TRACEPOINT:
ret = lttng_userspace_probe_location_tracepoint_serialize(
-int lttng_userspace_probe_location_function_create_from_buffer(
- const struct lttng_buffer_view *buffer,
+int lttng_userspace_probe_location_function_create_from_payload(
+ struct lttng_payload_view *view,
struct lttng_userspace_probe_location **location)
{
struct lttng_userspace_probe_location_function_comm *location_function_comm;
const char *function_name_src, *binary_path_src;
char *function_name = NULL, *binary_path = NULL;
int ret = 0;
struct lttng_userspace_probe_location **location)
{
struct lttng_userspace_probe_location_function_comm *location_function_comm;
const char *function_name_src, *binary_path_src;
char *function_name = NULL, *binary_path = NULL;
int ret = 0;
-int lttng_userspace_probe_location_tracepoint_create_from_buffer(
- const struct lttng_buffer_view *buffer,
+int lttng_userspace_probe_location_tracepoint_create_from_payload(
+ struct lttng_payload_view *view,
struct lttng_userspace_probe_location **location)
{
struct lttng_userspace_probe_location_tracepoint_comm *location_tracepoint_comm;
const char *probe_name_src, *provider_name_src, *binary_path_src;
char *probe_name = NULL, *provider_name = NULL, *binary_path = NULL;
int ret = 0;
struct lttng_userspace_probe_location **location)
{
struct lttng_userspace_probe_location_tracepoint_comm *location_tracepoint_comm;
const char *probe_name_src, *provider_name_src, *binary_path_src;
char *probe_name = NULL, *provider_name = NULL, *binary_path = NULL;
int ret = 0;
location_tracepoint_comm->probe_name_len +
location_tracepoint_comm->provider_name_len +
location_tracepoint_comm->binary_path_len;
location_tracepoint_comm->probe_name_len +
location_tracepoint_comm->provider_name_len +
location_tracepoint_comm->binary_path_len;
provider_name_src = probe_name_src +
location_tracepoint_comm->probe_name_len;
binary_path_src = provider_name_src +
provider_name_src = probe_name_src +
location_tracepoint_comm->probe_name_len;
binary_path_src = provider_name_src +
-int lttng_userspace_probe_location_lookup_method_create_from_buffer(
- struct lttng_buffer_view *buffer,
+int lttng_userspace_probe_location_lookup_method_create_from_payload(
+ struct lttng_payload_view *view,
struct lttng_userspace_probe_location_lookup_method **lookup_method)
{
int ret;
struct lttng_userspace_probe_location_lookup_method_comm *lookup_comm;
enum lttng_userspace_probe_location_lookup_method_type type;
struct lttng_userspace_probe_location_lookup_method **lookup_method)
{
int ret;
struct lttng_userspace_probe_location_lookup_method_comm *lookup_comm;
enum lttng_userspace_probe_location_lookup_method_type type;
-int lttng_userspace_probe_location_create_from_buffer(
- const struct lttng_buffer_view *buffer,
+int lttng_userspace_probe_location_create_from_payload(
+ struct lttng_payload_view *view,
struct lttng_userspace_probe_location **location)
{
struct lttng_userspace_probe_location_lookup_method *lookup_method;
struct lttng_userspace_probe_location_comm *probe_location_comm;
enum lttng_userspace_probe_location_type type;
struct lttng_userspace_probe_location **location)
{
struct lttng_userspace_probe_location_lookup_method *lookup_method;
struct lttng_userspace_probe_location_comm *probe_location_comm;
enum lttng_userspace_probe_location_type type;
type = (enum lttng_userspace_probe_location_type) probe_location_comm->type;
consumed += sizeof(*probe_location_comm);
switch (type) {
case LTTNG_USERSPACE_PROBE_LOCATION_TYPE_FUNCTION:
{
type = (enum lttng_userspace_probe_location_type) probe_location_comm->type;
consumed += sizeof(*probe_location_comm);
switch (type) {
case LTTNG_USERSPACE_PROBE_LOCATION_TYPE_FUNCTION:
{
- struct lttng_buffer_view view = lttng_buffer_view_from_view(
- buffer, consumed, buffer->size - consumed);
+ struct lttng_payload_view location_view =
+ lttng_payload_view_from_view(
+ view, consumed, -1);
- struct lttng_buffer_view view = lttng_buffer_view_from_view(
- buffer, consumed, buffer->size - consumed);
+ struct lttng_payload_view location_view =
+ lttng_payload_view_from_view(view, consumed, -1);
- lookup_method_view = lttng_buffer_view_from_view(buffer, consumed,
- buffer->size - consumed);
- ret = lttng_userspace_probe_location_lookup_method_create_from_buffer(
- &lookup_method_view, &lookup_method);
+ {
+ struct lttng_payload_view lookup_method_view =
+ lttng_payload_view_from_view(
+ view, consumed, -1);
+
+ ret = lttng_userspace_probe_location_lookup_method_create_from_payload(
+ &lookup_method_view, &lookup_method);
+ }