browser

devices.h

devices.h
calendarsave
typedef xyw_byte (*xyw_input)(xyw_byte *data, xyw_byte addr, xyw_byte *error);
typedef void (*xyw_output)(xyw_byte *data, xyw_byte addr, xyw_byte *error);
typedef void (*xyw_setup)(xyw_byte *data, xyw_byte *error);
typedef void (*xyw_teardown)(xyw_byte *data);
typedef int (*xyw_poll)(xyw_byte *data); 
typedef void (*xyw_save)(xyw_byte *data, xyw_byte *state);
typedef void (*xyw_restore)(xyw_byte *data, const xyw_byte *state);
typedef void (*xyw_tick)(xyw_byte *data);

#define XYW_DEVICE_STATE_SIZE 64

typedef struct xyw_device
{
    xyw_byte *data;
    xyw_setup setup;
    xyw_input input;
    xyw_output output;
    xyw_teardown teardown;
    xyw_poll poll;
    xyw_save save;
    xyw_restore restore;
    xyw_tick tick;
} xyw_device;