Share this page

# Example: lrs_get_buffer_by_name

In the following example, lrs_get_buffer_by_name gets the buffer and its size for the buffer descriptor "buff2".

    char *ActualBuffer;

    int NumberOfBytes;

    lrs_get_buffer_by_name("buff2", &ActualBuffer, &NumberOfBytes);

    lr_output_message("The buffer's size is: %d/n", NumberOfBytes);

    The contents of the buffer, as shown in the data file data.ws are:

    recv buff2 3
        "\xff\xfe\x01"

The output generated by the above code, as seen in the VuGen Execution log is:
Message from run.c(52): The buffer size is: 3 bytes
The ActualBuffer variable is a pointer to binary data; therefore you should not use string functions to manipulate it. To save the content of the buffer to a parameter for later use:
/* Save the contents of ActualBuffer into a parameter called "new_parameter" */
lrs_save_param_ex("socket2", "user", ActualBuffer, 0, NumberOfBytes, "ascii", "new_parameter");
lrs_free_buffer(ActualBuffer);
lr_output_message("The buffer contains \"%s\"\n", lr_eval_string("< new_parameter >"));
The output generated by the above code, as seen in the VuGen Execution log is:
Message from run.c(52): The buffer contains: "\xff\xfe\n"

Tips to improve your search results... VuGen Function Reference Version 25.1-25.3 Function Reference 25.1-25.3 All View Local Help Center View Online Help Center Version: