X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fdevices%2Fserial.h;h=78ff076daec4939f7bcc2c7df0e78fa7dc846815;hb=bdc39b2899a046d5066b449726143c158d50032f;hp=d8e62e9de02befa1b34e41031cab7312d2f95ad1;hpb=101529b6eae500272347287df43ec51aa003d0aa;p=palacios.git diff --git a/palacios/include/devices/serial.h b/palacios/include/devices/serial.h index d8e62e9..78ff076 100644 --- a/palacios/include/devices/serial.h +++ b/palacios/include/devices/serial.h @@ -1,15 +1,44 @@ -/* (c) 2008, Jack Lange */ -/* (c) 2008, The V3VEE Project */ +/* + * 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__ + +/* 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__ -#ifndef __SERIAL_H__ -#define __SERIAL_H__ - - - -#include - - - -struct vm_device * create_serial(); #endif