static void vty_receive(void *opaque, const uint8_t *buf, int size)

{

    VIOsPAPRVTYDevice *dev = (VIOsPAPRVTYDevice *)opaque;

    int i;



    if ((dev->in == dev->out) && size) {

        /* toggle line to simulate edge interrupt */

        qemu_irq_pulse(dev->sdev.qirq);

    }

    for (i = 0; i < size; i++) {

        assert((dev->in - dev->out) < VTERM_BUFSIZE);

        dev->buf[dev->in++ % VTERM_BUFSIZE] = buf[i];

    }

}

static void vty_receive(void *opaque, const uint8_t *buf, int size)

{

    VIOsPAPRVTYDevice *dev = (VIOsPAPRVTYDevice *)opaque;

    int i;



    if ((dev->in == dev->out) && size) {

        

        qemu_irq_pulse(dev->sdev.qirq);

    }

    for (i = 0; i < size; i++) {

        assert((dev->in - dev->out) < VTERM_BUFSIZE);

        dev->buf[dev->in++ % VTERM_BUFSIZE] = buf[i];

    }

}

static void FUNC_0(void *VAR_0, const uint8_t *VAR_1, int VAR_2)

{

    VIOsPAPRVTYDevice *dev = (VIOsPAPRVTYDevice *)VAR_0;

    int VAR_3;



    if ((dev->in == dev->out) && VAR_2) {

        

        qemu_irq_pulse(dev->sdev.qirq);

    }

    for (VAR_3 = 0; VAR_3 < VAR_2; VAR_3++) {

        assert((dev->in - dev->out) < VTERM_BUFSIZE);

        dev->VAR_1[dev->in++ % VTERM_BUFSIZE] = VAR_1[VAR_3];

    }

}

static void FUNC_0(void *VAR_0, const uint8_t *VAR_1, int VAR_2)
{ VIOsPAPRVTYDevice *dev = (VIOsPAPRVTYDevice *)VAR_0; int VAR_3; if ((dev->in == dev->out) && VAR_2) { qemu_irq_pulse(dev->sdev.qirq); } for (VAR_3 = 0; VAR_3 < VAR_2; VAR_3++) { assert((dev->in - dev->out) < VTERM_BUFSIZE); dev->VAR_1[dev->in++ % VTERM_BUFSIZE] = VAR_1[VAR_3]; } }