X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=sim%2Fcommon%2Fdv-sockser.h;h=11852a0d3c538a8267dab81bc40a5a999b557ed3;hb=05e682e3be7e3d9d63ec358dcf8943fd200545cb;hp=ef0a7a9973a24816f1554bbfffda1ebe2314be12;hpb=2ee563b53258d390d7446e90a67f465d504ae44c;p=deliverable%2Fbinutils-gdb.git diff --git a/sim/common/dv-sockser.h b/sim/common/dv-sockser.h index ef0a7a9973..11852a0d3c 100644 --- a/sim/common/dv-sockser.h +++ b/sim/common/dv-sockser.h @@ -1,32 +1,72 @@ /* Serial port emulation via sockets. - Copyright (C) 1998, Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. This file is part of the GNU simulators. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +You should have received a copy of the GNU General Public License +along with this program. If not, see . */ #ifndef DV_SOCKSER_H #define DV_SOCKSER_H +#include "sim-inline.h" + /* bits in result of dev_sockser_status */ -#define DV_SOCKSER_INPUT_EMPTY 1 -#define DV_SOCKSER_OUTPUT_EMPTY 2 +#define DV_SOCKSER_INPUT_EMPTY 0x1 +#define DV_SOCKSER_OUTPUT_EMPTY 0x2 +#define DV_SOCKSER_DISCONNECTED 0x4 + +#ifdef HAVE_DV_SOCKSER /* FIXME: later add a device ptr arg */ extern int dv_sockser_status (SIM_DESC); int dv_sockser_write (SIM_DESC, unsigned char); +int dv_sockser_write_buffer (SIM_DESC, const unsigned char *, unsigned); int dv_sockser_read (SIM_DESC); +SIM_RC dv_sockser_install (SIM_DESC); + +#else + +/* If dv-sockser isn't available, provide stub functions. */ + +STATIC_INLINE int +dv_sockser_status (SIM_DESC sd) +{ + return (DV_SOCKSER_INPUT_EMPTY | + DV_SOCKSER_OUTPUT_EMPTY | + DV_SOCKSER_DISCONNECTED); +} + +STATIC_INLINE int +dv_sockser_write (SIM_DESC sd, unsigned char c) +{ + return -1; +} + +STATIC_INLINE int +dv_sockser_write_buffer (SIM_DESC sd, const unsigned char *buffer, + unsigned nr_bytes) +{ + return -1; +} + +STATIC_INLINE int +dv_sockser_read (SIM_DESC sd) +{ + return -1; +} + +#endif /* HAVE_DV_SOCKSER */ + #endif /* DV_SOCKSER_H */