XimTrans.h revision 61b2299d
11ab64890Smrg/* $Xorg: XimTrans.h,v 1.3 2000/08/17 19:45:05 cpqbld Exp $ */
21ab64890Smrg/******************************************************************
31ab64890Smrg
41ab64890Smrg           Copyright 1992 by Sun Microsystems, Inc.
51ab64890Smrg           Copyright 1992, 1993, 1994 by FUJITSU LIMITED
61ab64890Smrg
71ab64890SmrgPermission to use, copy, modify, distribute, and sell this software
81ab64890Smrgand its documentation for any purpose is hereby granted without fee,
91ab64890Smrgprovided that the above copyright notice appear in all copies and
101ab64890Smrgthat both that copyright notice and this permission notice appear
111ab64890Smrgin supporting documentation, and that the name of Sun Microsystems, Inc.
121ab64890Smrgand FUJITSU LIMITED not be used in advertising or publicity pertaining to
131ab64890Smrgdistribution of the software without specific, written prior permission.
141ab64890SmrgSun Microsystems, Inc. and FUJITSU LIMITED makes no representations about
151ab64890Smrgthe suitability of this software for any purpose.
161ab64890SmrgIt is provided "as is" without express or implied warranty.
171ab64890Smrg
181ab64890SmrgSun Microsystems Inc. AND FUJITSU LIMITED DISCLAIMS ALL WARRANTIES WITH
191ab64890SmrgREGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
201ab64890SmrgAND FITNESS, IN NO EVENT SHALL Sun Microsystems, Inc. AND FUJITSU LIMITED
211ab64890SmrgBE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
221ab64890SmrgWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
231ab64890SmrgACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
241ab64890SmrgIN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
251ab64890Smrg
261ab64890Smrg  Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc.
2761b2299dSmrg          Takashi Fujiwara     FUJITSU LIMITED
281ab64890Smrg                               fujiwara@a80.tech.yk.fujitsu.co.jp
291ab64890Smrg
301ab64890Smrg******************************************************************/
311ab64890Smrg/* $XFree86: xc/lib/X11/XimTrans.h,v 1.3 2003/10/24 15:34:00 tsi Exp $ */
321ab64890Smrg
331ab64890Smrg#ifndef _XIMTRANS_H
341ab64890Smrg#define _XIMTRANS_H
351ab64890Smrg
361ab64890Smrgtypedef struct _TransIntrCallbackRec	*TransIntrCallbackPtr;
371ab64890Smrg
381ab64890Smrgtypedef struct _TransIntrCallbackRec {
391ab64890Smrg    Bool			(*func)(
401ab64890Smrg					Xim, INT16, XPointer, XPointer
411ab64890Smrg					);
421ab64890Smrg    XPointer			 call_data;
431ab64890Smrg    TransIntrCallbackPtr	 next;
441ab64890Smrg} TransIntrCallbackRec ;
451ab64890Smrg
461ab64890Smrgtypedef struct {
471ab64890Smrg    TransIntrCallbackPtr	 intr_cb;
481ab64890Smrg    struct _XtransConnInfo 	*trans_conn; /* transport connection object */
491ab64890Smrg    int				 fd;
501ab64890Smrg    char			*address;
511ab64890Smrg    Window			 window;
521ab64890Smrg    Bool			 is_putback;
531ab64890Smrg} TransSpecRec;
541ab64890Smrg
551ab64890Smrg
561ab64890Smrg/*
571ab64890Smrg * Prototypes
581ab64890Smrg */
591ab64890Smrg
601ab64890Smrgextern Bool _XimTransRegisterDispatcher(
611ab64890Smrg    Xim		 im,
621ab64890Smrg    Bool	 (*callback)(
631ab64890Smrg			     Xim, INT16, XPointer, XPointer
641ab64890Smrg			     ),
651ab64890Smrg    XPointer	 call_data
661ab64890Smrg);
671ab64890Smrg
681ab64890Smrg
691ab64890Smrgextern Bool _XimTransIntrCallback(
701ab64890Smrg    Xim		 im,
711ab64890Smrg    Bool	 (*callback)(
721ab64890Smrg			     Xim, INT16, XPointer, XPointer
731ab64890Smrg			     ),
741ab64890Smrg    XPointer	 call_data
751ab64890Smrg);
761ab64890Smrg
771ab64890Smrgextern Bool _XimTransCallDispatcher(
781ab64890Smrg    Xim		 im,
791ab64890Smrg    INT16	 len,
801ab64890Smrg    XPointer	 data
811ab64890Smrg);
821ab64890Smrg
831ab64890Smrgextern void _XimFreeTransIntrCallback(
841ab64890Smrg    Xim		 im
851ab64890Smrg);
861ab64890Smrg
871ab64890Smrgextern Bool _XimTransFilterWaitEvent(
881ab64890Smrg    Display	*d,
891ab64890Smrg    Window	 w,
901ab64890Smrg    XEvent	*ev,
911ab64890Smrg    XPointer	 arg
921ab64890Smrg);
931ab64890Smrg
941ab64890Smrgextern void _XimTransInternalConnection(
951ab64890Smrg    Display	*d,
961ab64890Smrg    int		 fd,
971ab64890Smrg    XPointer	 arg
981ab64890Smrg);
991ab64890Smrg
1001ab64890Smrgextern Bool _XimTransWrite(
1011ab64890Smrg    Xim		 im,
1021ab64890Smrg    INT16	 len,
1031ab64890Smrg    XPointer	 data
1041ab64890Smrg);
1051ab64890Smrg
1061ab64890Smrgextern Bool _XimTransRead(
1071ab64890Smrg    Xim		 im,
1081ab64890Smrg    XPointer	 recv_buf,
1091ab64890Smrg    int		 buf_len,
1101ab64890Smrg    int		*ret_len
1111ab64890Smrg);
1121ab64890Smrg
1131ab64890Smrgextern void _XimTransFlush(
1141ab64890Smrg    Xim		 im
1151ab64890Smrg);
1161ab64890Smrg
1171ab64890Smrg#endif /* _XIMTRANS__H */
118