32 lines
754 B
C
32 lines
754 B
C
/*
|
|
* $FreeBSD$
|
|
*
|
|
*/
|
|
#ifndef _XENCONS_RING_H
|
|
#define _XENCONS_RING_H
|
|
|
|
#define CN_LOCK(l) \
|
|
do { \
|
|
if (panicstr == NULL) \
|
|
mtx_lock_spin(&(l)); \
|
|
} while (0)
|
|
#define CN_UNLOCK(l) \
|
|
do { \
|
|
if (panicstr == NULL) \
|
|
mtx_unlock_spin(&(l)); \
|
|
} while (0)
|
|
|
|
int xencons_ring_init(void);
|
|
int xencons_ring_send(const char *data, unsigned len);
|
|
void xencons_rx(char *buf, unsigned len);
|
|
void xencons_tx(void);
|
|
|
|
|
|
typedef void (xencons_receiver_func)(char *buf, unsigned len);
|
|
void xencons_ring_register_receiver(xencons_receiver_func *f);
|
|
|
|
void xencons_handle_input(void *unused);
|
|
int xencons_has_input(void);
|
|
|
|
#endif /* _XENCONS_RING_H */
|