diff options
author | Stuart Kreitman <stuart.kreitman@sun.com> | 2008-09-11 18:28:24 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@sun.com> | 2008-09-11 18:28:24 -0700 |
commit | dbf94a72289efaa89fdab27b4cf0608994ebd0a1 (patch) | |
tree | 091e85df11a6d0b61f512d2023c9aa0d13641840 /fd.h | |
parent | 306057f2475b216fb73686bcb0003355cf88944a (diff) | |
download | xscope-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.h | 61 |
1 files changed, 51 insertions, 10 deletions
@@ -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 |