anchor.diff:  'shm_open()' and 'mmap' (for linux).
   Each ODP implementation should provide a description on exactly how
   this mapping should be done on that specific platform.
  +
  +==== ODP_SHM_EXPORT
  +When this flag is given, the allocated shared memory will become visible
  +to other ODP instances running on the same OS.
  +Other ODP instances willing to see this exported memory should use the
  +`odp_shm_import()` ODP function.
   
   ==== ODP_SHM_SW_ONLY
   This flag tells ODP that the shared memory will be used by the ODP application
  
positive.code: }
  ----
  
  === Memory creation flags
  The last argument to odp_shm_reserve() is a set of ORed flags.
  Two flags are supported:
  
  ==== ODP_SHM_PROC
  When this flag is given, the allocated shared memory will become visible
  
negative.code: implementation), except for `odp_shm_lookup()` and `odp_shm_free()`.
  ODP implementations may use this flag as a hint for performance optimization,
  or may as well ignore this flag.
  
  ==== ODP_SHM_SINGLE_VA
  This flag is used to guarantee the uniqueness of the address at which
  the shared memory is mapped: without this flag, a given memory block may be
  mapped at different virtual addresses (assuming the target have virtual
  addresses) by different ODP threads. This means that the value returned by
  `odp_shm_addr()` would be different in different threads, in this case.
  Setting this flag guarantees that all ODP threads sharing this memory
  block will see it at the same address (`odp_shm_addr()` would return the
  same value on all ODP threads, for a given memory block, in this case)
  Note that ODP implementations may have restrictions of the amount of memory
  which can be allocated with this flag.
  
  == Queues
  Queues are the fundamental event sequencing mechanism provided by ODP and all
  