X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fdevices%2Fserial.h;h=78ff076daec4939f7bcc2c7df0e78fa7dc846815;hb=541bd219aaa76d3b00de8060affbc62a5692162a;hp=c713fd1555be6ee742ae98f6c387a11d08ea8b57;hpb=033d596d21472e2eb60a039b5726d4e1a2bc35cc;p=palacios.git diff --git a/palacios/include/devices/serial.h b/palacios/include/devices/serial.h index c713fd1..78ff076 100644 --- a/palacios/include/devices/serial.h +++ b/palacios/include/devices/serial.h @@ -1,12 +1,44 @@ -#ifndef __SERIAL_H__ -#define __SERIAL_H__ +/* + * This file is part of the Palacios Virtual Machine Monitor developed + * by the V3VEE Project with funding from the United States National + * Science Foundation and the Department of Energy. + * + * The V3VEE Project is a joint project between Northwestern University + * and the University of New Mexico. You can find out more at + * http://www.v3vee.org + * + * Copyright (c) 2008, Jack Lange + * Copyright (c) 2008, The V3VEE Project + * All rights reserved. + * + * Author: Jack Lange + * + * This is free software. You are permitted to use, + * redistribute, and modify it as specified in the file "V3VEE_LICENSE". + */ +#ifndef __DEVICES_SERIAL_H__ +#define __DEVICES_SERIAL_H__ +#ifdef __V3VEE__ -#include +/* Really need to find clean way to allow a backend stream device to be attachable + to different kinds of frontend devices that can act as a stream */ +struct v3_stream_ops { + /* called by serial device to the backend stream device */ + int (*read)(char *buf, uint_t len, void *private_data); + int (*write)(char *buf, uint_t len, void *private_data); + /* called by backend device to frontend serial device */ + int (*input)(char *buf, uint_t len, void *front_data); + void *front_data; +}; + + +int v3_stream_register_serial(struct vm_device * serial_dev, struct v3_stream_ops * ops, void * private_data); + +#endif // ! __V3VEE__ -struct vm_device * create_serial(); #endif