Skip to content
  • Philippe Gerum's avatar
    lib: introduce element visibility attribute · 9b42b85e
    Philippe Gerum authored
    Since core ABI 21, users can decide whether a new element should be
    made public or private depending on the value of clone flags added to
    the new long form of all element creation calls, i.e. evl_create_*().
    All evl_new_*() calls become a shorthand for their respective long
    form with reasonable default arguments, including private visibility.
    
    As a shorthand, libevl also interprets a slash character leading the
    name argument passed to these services as an implicit request for
    creating a public element. In other words, this is the same as passing
    EVL_CLONE_PUBLIC in the clone flags.
    
    A public element appears as a cdev in the /dev/evl hierarchy, which
    means that it is visible to other processes, which may share it. On
    the contrary, a private element is only known from the process
    creating it, although it does appear in the /sysfs hierarchy
    regardless.
    
    e.g.:
    
    efd = evl_attach_self("/visible-thread");
    
    total 0
    crw-rw----    1 root     root      248,   1 Apr 17 11:5...
    9b42b85e