macro LFDS710_RINGBUFFER_GET_USER_STATE_FROM_STATE

From liblfds.org
Revision as of 21:05, 7 May 2016 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Source File

└───liblfds710
    └───inc
        └───liblfds710
                lfds710_ringbuffer.h

Opaque Structures

struct lfds710_ringbuffer_state;

Macro

#define LFDS710_RINGBUFFER_GET_USER_STATE_FROM_STATE( ringbuffer_state )

Parameters

ringbuffer_state

An initialized struct lfds710_ringbuffer_state. Not a pointer to it - the struct itself.

Return Value

Returns a void *, the user_state argument from lfds710_ringbuffer_init_valid_on_current_logical_core.

Notes

The user state value can only be set the once, when the data structure instance is initialized.

As with all liblfds macros, the macro operates on the structure itself, not a pointer to it.

Example

#include <stdio.h>
#include "liblfds710.h"

int main()
{
  char
    ringbuffer_name[64] = "I Had a Dream, Joe";

  struct lfds710_ringbuffer_element
    re_array[16];

  struct lfds710_ringbuffer_state
    rs;

  void
    *user_state;

  lfds710_misc_library_init_valid_on_current_logical_core();

  lfds710_ringbuffer_init_valid_on_current_logical_core( &rs, re_array, 16, (void *) ringbuffer_name );

  user_state = LFDS710_RINGBUFFER_GET_USER_STATE_FROM_STATE( rs );

  printf( "ringbuffer name is \"%s\"\n", (char *) user_state );

  lfds710_ringbuffer_cleanup( &rs, NULL );

  lfds710_misc_library_cleanup();

  return( EXIT_SUCCESS );
}

See Also