1 /* Serial port emulation via sockets. 2 Copyright (C) 1998-2024 Free Software Foundation, Inc. 3 4 This file is part of the GNU simulators. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18 19 #ifndef DV_SOCKSER_H 20 #define DV_SOCKSER_H 21 22 #include "sim-inline.h" 23 24 /* bits in result of dev_sockser_status */ 25 #define DV_SOCKSER_INPUT_EMPTY 0x1 26 #define DV_SOCKSER_OUTPUT_EMPTY 0x2 27 #define DV_SOCKSER_DISCONNECTED 0x4 28 29 #ifdef HAVE_DV_SOCKSER 30 31 /* FIXME: later add a device ptr arg */ 32 extern int dv_sockser_status (SIM_DESC); 33 int dv_sockser_write (SIM_DESC, unsigned char); 34 int dv_sockser_write_buffer (SIM_DESC, const unsigned char *, unsigned); 35 int dv_sockser_read (SIM_DESC); 36 37 #else 38 39 /* If dv-sockser isn't available, provide stub functions. */ 40 41 STATIC_INLINE int 42 dv_sockser_status (SIM_DESC sd) 43 { 44 return (DV_SOCKSER_INPUT_EMPTY | 45 DV_SOCKSER_OUTPUT_EMPTY | 46 DV_SOCKSER_DISCONNECTED); 47 } 48 49 STATIC_INLINE int 50 dv_sockser_write (SIM_DESC sd, unsigned char c) 51 { 52 return -1; 53 } 54 55 STATIC_INLINE int 56 dv_sockser_write_buffer (SIM_DESC sd, const unsigned char *buffer, 57 unsigned nr_bytes) 58 { 59 return -1; 60 } 61 62 STATIC_INLINE int 63 dv_sockser_read (SIM_DESC sd) 64 { 65 return -1; 66 } 67 68 #endif /* HAVE_DV_SOCKSER */ 69 70 #endif /* DV_SOCKSER_H */ 71