#ifndef RV32_ESP_H
#define RV32_ESP_H

#include "compiler.h"
#include "esplink.h"

extern void esp_init(void);
extern void esp_ota(const void *, size_t);
extern size_t esp_rb_read(enum esplink_ringbuf_user ring,
			  void *data, size_t len);
extern size_t esp_rb_write(enum esplink_ringbuf_user ring,
			   const void *data, size_t len);
extern int esp_rb_getc(enum esplink_ringbuf_user ring);
extern int esp_rb_putc(enum esplink_ringbuf_user ring, uint8_t data);
enum ringbuf_status {
    RB_RXDATA    = 1,
    RB_TXFREE    = 2,
    RB_SUSPEND   = 4,
    RB_CONNECTED = 8
};
extern enum ringbuf_status esp_rb_status(enum esplink_ringbuf_user ring);

#endif /* RV32_ESP_H */
