/*
 * select_i.h
 *
 * x-kernel v3.3
 *
 * Copyright (c) 1993,1991,1990,1996  Arizona Board of Regents
 *
 * $Revision: 1.3 $
 * $Date: 1996/01/29 22:25:04 $
 */

#ifndef select_i_h
#define select_i_h


#define SEL_OK 1
#define SEL_FAIL 2

typedef struct  {
    xk_int32	id;
    xk_int32	status;		/* only used in the RPC realm */
} SelHdr;

typedef struct {
    SelHdr	hdr;
} SState;

typedef struct {
    Map passiveMap;
    Map activeMap;
} PState;


typedef struct {
    long id;
    Sessn lls;
} ActiveKey;
    
typedef long PassiveKey;

extern int	traceselectp;

#ifdef __STDC__

void		selectCommonInit( Protl );
Sessn		selectCommonOpen( Protl, Protl, Protl, Part *, long );
XkReturn	selectCommonOpenDisable( Protl, Protl, Protl, Part *, long );
XkReturn 	selectCommonOpenEnable( Protl, Protl, Protl, Part *, long );
int		selectControlProtl( Protl, int, char *, int );
int		selectCommonControlSessn( Sessn, int, char *, int );
XkReturn	selectCallDemux( Protl, Sessn, Msg *, Msg * );
XkReturn	selectDemux( Protl, Sessn, Msg * );

#else

void		selectCommonInit();
Sessn		selectCommonOpen();
XkReturn	selectCommonOpenDisable();
XkReturn 	selectCommonOpenEnable();
int		selectControlProtl();
int		selectCommonControlSessn();
XkReturn	selectDemux();
XkReturn	selectCallDemux();

#endif /* __STDC__ */


#endif /* ! select_i_h */

