ossp-pkg/sio/sio_module.h
struct sio_module_st {
const char *name;
sio_rc_t (*init) (sio_t *, void **);
sio_rc_t (*configure) (sio_t *, void *, void *, void *);
sio_rc_t (*cleanup) (sio_t *, void *);
sio_rc_t (*openr) (sio_t *, al_t *, void *);
sio_rc_t (*closer) (sio_t *, al_t *, void *);
sio_rc_t (*openw) (sio_t *, al_t *, void *);
sio_rc_t (*closew) (sio_t *, al_t *, void *);
sio_rc_t (*input) (sio_t *, al_t *, void *);
sio_rc_t (*output) (sio_t *, al_t *, void *);
};
typedef enum {
SIO_LN_DATA,
SIO_LN_ERROR,
SIO_LN_EOF
} sio_labelnum_t;
sio_rc_t sio_label(sio_t *, sio_labelnum_t, al_label_t *);