Provided by: libgensio-dev_2.8.2-6.1build1_amd64 bug

NAME

       str_to_gensio, str_to_gensio_child, gensio_acc_str_to_gensio - Create a gensio from a string

SYNOPSIS

       #include <gensio/gensio.h>

       int str_to_gensio(const char *str,
                           struct gensio_os_funcs *o,
                           gensio_event cb, void *user_data,
                           struct gensio **io);

       int str_to_gensio_child(struct gensio *child, const char *str,
                           struct gensio_os_funcs *o,
                           gensio_event cb, void *user_data,
                           struct gensio **io);

       int gensio_acc_str_to_gensio(struct gensio_accepter *accepter,
                           const char *str, struct gensio_os_funcs *o,
                           gensio_event cb, void *user_data,
                           struct gensio **io);

       int gensio_terminal_alloc(const char *gensiotype,
                           const void *gdata,
                           const char * const args[],
                           struct gensio_os_funcs *o,
                           gensio_event cb, void *user_data,
                           struct gensio **new_gensio);

       int gensio_filter_alloc(const char *gensiotype,
                           struct gensio *child,
                           const char * const args[],
                           struct gensio_os_funcs *o,
                           gensio_event cb, void *user_data,
                           struct gensio **new_gensio);

DESCRIPTION

       str_to_gensio allocates a new gensio stack based upon the given string str.

       str_to_gensio_child  allocates a partial gensio stack and stacks it on top of the given child.  Note that
       if the child is already open, you should use gesnio_open_nochild() to open just this  gensio.   This  can
       only be used to allocate filter gensios.

       gensio_acc_str_to_gensio  allocates  a gensio based upon the given accepter.  The availability and use of
       this varies from gensio to gensio, but it can be used on UDP to create a gensio that uses the  UDP  ports
       that  the  accepter owns.  This will come from the first address/port that the accepter is on for TCP and
       UDP.  It will bind to all the address/ports for SCTP.  To use  this,  you  must  specify  a  string  that
       exactly   matches   the   layers   of   the   accepter.    So,   for   instance,   if   the  accepter  is
       "telnet,ssl(CA=x1,key=x2,cert=x3),sctp,3095",    then    the    string    must    be    in    the    form
       "telnet,ssl(CA=x2),sctp,otherserver,3820"  The  layers are exactly the same, but you can vary the options
       to the layers.

       To directly allocation gensios, you can use gensio_terminal_alloc and  gensio_filter_alloc.   A  terminal
       gensio  is  one  at  the bottom of the stack.  The gdata parameter depends on the particular gensio.  For
       instance, for serialdev it is a string specifying the device and serial parameters.  For stdio it  is  an
       argv array.  See gensio.5 under "Direct Allocation" for the particular gensio for what gdata is.

       A  filter  gensio  is  one  that has a child.  You can use these two functions to allocate a gensio stack
       directly, not using a string format.

       The cb and user_data parameters set a function that will be called when events come  in  on  the  gensio.
       user_data  is  unused  by  the gensio stack itself, it is there for the user and may be anything the user
       wishes.  cb may be NULL before the gensio is opened, but must be set before it is opened.  In particular,
       the  cb  does  not  need  to  be  set if other gensios will be stacked on top of it in the future, as the
       gensios stacked on top will set the cb and user_data values.

       The new gensio is returned in io.  It will be in the closed state.

RETURN VALUES

       Zero is returned on success, or a gensio error on failure.

SEE ALSO

       gensio_set_callback(3), gensio_err(3), gensio(5)

                                                   22 Feb 2019                                  str_to_gensio(3)