* python/py-param.c (parm_constants): Avoid ARI warning
[deliverable/binutils-gdb.git] / gdb / serial.h
index 1f0accd4a7ce59fc6244538f80ffc65202eff564..ecb357706e92509735be166e1cfd6eef59bee1ff 100644 (file)
@@ -1,12 +1,12 @@
 /* Remote serial support interface definitions for GDB, the GNU Debugger.
    Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2004,
-   2005, 2006, 2007 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    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 of the License, or
+   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,
    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., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef SERIAL_H
 #define SERIAL_H
 
 #ifdef USE_WIN32API
+#include <winsock2.h>
 #include <windows.h>
 #endif
 
@@ -191,6 +190,11 @@ extern int serial_debug_p (struct serial *scb);
 struct serial
   {
     int fd;                    /* File descriptor */
+    /* File descriptor for a separate error stream that should be
+       immediately forwarded to gdb_stderr.  This may be -1.
+       If != -1, this descriptor should be non-blocking or
+       ops->avail should be non-NULL.  */
+    int error_fd;               
     struct serial_ops *ops;    /* Function vector */
     void *state;                       /* Local context info for open FD */
     serial_ttystate ttystate;  /* Not used (yet) */
@@ -241,11 +245,16 @@ struct serial_ops
        interesting.  */
     void (*async) (struct serial *scb, int async_p);
     /* Perform a low-level read operation, reading (at most) COUNT
-       bytes into SCB->BUF.  */
+       bytes into SCB->BUF.  Return zero at end of file.  */
     int (*read_prim)(struct serial *scb, size_t count);
     /* Perform a low-level write operation, writing (at most) COUNT
        bytes from BUF.  */
     int (*write_prim)(struct serial *scb, const void *buf, size_t count);
+    /* Return that number of bytes that can be read from FD
+       without blocking.  Return value of -1 means that the
+       the read will not block even if less that requested bytes
+       are available.  */
+    int (*avail)(struct serial *scb, int fd);
 
 #ifdef USE_WIN32API
     /* Return a handle to wait on, indicating available data from SCB
This page took 0.028367 seconds and 4 git commands to generate.