Provided by: libgensio-dev_2.3.5-1build2_amd64 bug

NAME

       gensio_accepter_event - Event handler for events from a gensio

SYNOPSIS

       #include <gensio/gensio.h>

       typedef int (*gensio_accepter_event)(struct gensio_accepter *acc,
                           void *user_data,
                           int event, void *data);

DESCRIPTION

       When  an  event  happens  on  a  gensio  accepter that is reported to the user, the gensio
       library calls the gensio_accepter_event type handler that was registered with  the  gensio
       accepter.

       The  use  of  the various parameters depends on the particular event.  The parameters that
       don't vary are:

       acc    - The gensio_accepter the event is being reported for.

       user_data
              - The user_data supplied when the event handler was registered.

       event  - The particular event being reported.

       data   - Data specific to the event (may not be used).

       Events follow.

   GENSIO_ACC_EVENT_NEW_CONNECTION
       Got a new connection on the accepter.  data points to the new gensio.

   GENSIO_ACC_EVENT_LOG
              struct gensio_loginfo {
                  enum gensio_log_levels level;
                  char *str;
                  va_list args;
              };

       The gensio accepter had an issue that wouldn't otherwise be reported as an  error  return.
       data points to a struct gensio_loginfo.

   GENSIO_ACC_EVENT_PRECERT_VERIFY
       Called   right  before  certificate  verification  on  a  new  incoming  connection.   See
       GENSIO_EVENT_PRECERT_VERIFY in gensio_event(3) for details.  data points to the new gensio
       object.  Note that this gensio has not yet been reported in a new connection.

   GENSIO_ACC_EVENT_AUTH_BEGIN
       Called   at   the   start   of  an  authorization  process  for  a  new  connection.   See
       GENSIO_EVENT_AUTH_BEGIN in gensio_event(3) for details.  data points  to  the  new  gensio
       object.  Note that this gensio has not yet been reported in a new connection.

   GENSIO_ACC_EVENT_PASSWORD_VERIFY
              struct gensio_acc_password_verify_data {
                  struct gensio *io;
                  char *password;
                  gensiods password_len;
              };

       A  server  gensio has received a password that requires verification.  The gensio handlers
       do not actually verify the passwords, they transfer them and provide them for the user  to
       verify.  data points to a struct gensio_acc_password_verify_data that holds the new gensio
       and the password information.  See  GENSIO_EVENT_PASSWORD_VERIFY  in  gensio_event(3)  for
       details.

   GENSIO_ACC_EVENT_REQUEST_PASSWORD
       A  remote server gensio has requested that a password be sent for verification data points
       to a struct gensio_acc_password_verify_data that holds the new  gensio  and  the  password
       information.  See GENSIO_EVENT_REQUEST_PASSWORD in gensio_event(3) for details.

   GENSIO_ACC_EVENT_POSTCERT_VERIFY
              struct gensio_acc_postcert_verify_data {
                  struct gensio *io;
                  int err;
                  const char *errstr;
              };

       A  server  gensio  has  finished  certificate  verification (and has not done any password
       verification).  data points to a struct gensio_acc_postcert_verify_data that holds the new
       gensio  and  error  information.   See GENSIO_EVENT_POSTCERT_VERIFY in gensio_event(3) for
       details.

OTHER EVENTS

       Other gensio accepters that are not part of the gensio library proper may have  their  own
       events, too.

RETURN VALUES

       See the individual events for the values you should return.  If an event is not handled by
       the  event  handler,  the  handler  must  return  GE_NOTSUP,  except  in   the   case   of
       GENSIO_ACC_EVENT_NEW_CONNECTION which must be handled.

SEE ALSO

       gensio_err(3),        gensio(5),        gensio_event(3),       gensio_acc_set_callback(3),
       str_to_gensio_accepter(3)

                                           27 Feb 2019                   gensio_accepter_event(3)