summaryrefslogtreecommitdiff
path: root/fd.h
diff options
context:
space:
mode:
authorStuart Kreitman <stuart.kreitman@sun.com>2008-09-11 18:28:24 -0700
committerAlan Coopersmith <alan.coopersmith@sun.com>2008-09-11 18:28:24 -0700
commitdbf94a72289efaa89fdab27b4cf0608994ebd0a1 (patch)
tree091e85df11a6d0b61f512d2023c9aa0d13641840 /fd.h
parent306057f2475b216fb73686bcb0003355cf88944a (diff)
downloadxscope-dbf94a72289efaa89fdab27b4cf0608994ebd0a1.tar.gz
Merge Sun's version of xscope in
Conversion to ANSI C SysVR4 support Conversion of networking code to use xtrans
Diffstat (limited to 'fd.h')
-rw-r--r--fd.h61
1 files changed, 51 insertions, 10 deletions
diff --git a/fd.h b/fd.h
index 8836638..aa7bf06 100644
--- a/fd.h
+++ b/fd.h
@@ -23,15 +23,47 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
* *
+ * *
+ * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, and/or sell copies of the Software, and to permit persons
+ * to whom the Software is furnished to do so, provided that the above
+ * copyright notice(s) and this permission notice appear in all copies of
+ * the Software and that both the above copyright notice(s) and this
+ * permission notice appear in supporting documentation.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+ * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+ * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Except as contained in this notice, the name of a copyright holder
+ * shall not be used in advertising or otherwise to promote the sale, use
+ * or other dealings in this Software without prior written authorization
+ * of the copyright holder.
+ *
********************************************** */
-/*
+/*
the following structure remembers for each file descriptor its
state. In particular, we need to know if it is busy or free
and if it is in use, by whom.
*/
-
+#ifdef USE_XTRANS
+#include <X11/Xtrans/Xtrans.h>
+#else
+typedef void *XtransConnInfo;
+#endif
#include <sys/select.h>
typedef int FD;
@@ -39,16 +71,25 @@ typedef int FD;
struct FDDescriptor
{
Boolean Busy;
- int (*InputHandler)();
+ void (*InputHandler)(int);
+#ifdef USE_XTRANS
+ XtransConnInfo trans_conn;
+#endif
};
struct FDDescriptor *FDD /* array of FD descriptors */ ;
-short MaxFD /* maximum number of FD's possible */ ;
-
-short nFDsInUse /* number of FD's actually in use */ ;
-
+int MaxFD /* maximum number of FD's possible */ ;
+int nFDsInUse /* number of FD's actually in use */ ;
fd_set ReadDescriptors /* bit map of FD's in use -- for select */ ;
-short HighestFD /* highest FD in use -- for select */ ;
+int HighestFD /* highest FD in use -- for select */ ;
+
+/* need to change the MaxFD to allow larger number of fd's */
+#define StaticMaxFD FD_SETSIZE
-Boolean ValidFD();
-Boolean InputAvailable();
+extern void InitializeFD(void);
+extern void UsingFD(FD fd, void (*Handler)(int), XtransConnInfo trans_conn);
+extern void NotUsingFD(FD fd);
+extern int MainLoop(void);
+#ifdef USE_XTRANS
+extern XtransConnInfo GetXTransConnInfo(FD fd);
+#endif