03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/***********************************************************
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncCopyright 1987, 1998 The Open Group
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncPermission to use, copy, modify, distribute, and sell this software and its
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncdocumentation for any purpose is hereby granted without fee, provided that
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncthe above copyright notice appear in all copies and that both that
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynccopyright notice and this permission notice appear in supporting
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncdocumentation.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncThe above copyright notice and this permission notice shall be included in
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncall copies or substantial portions of the Software.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncExcept as contained in this notice, the name of The Open Group shall not be
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncused in advertising or otherwise to promote the sale, use or other dealings
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncin this Software without prior written authorization from The Open Group.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync All Rights Reserved
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncPermission to use, copy, modify, and distribute this software and its
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncdocumentation for any purpose and without fee is hereby granted,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncprovided that the above copyright notice appear in all copies and that
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncboth that copyright notice and this permission notice appear in
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncsupporting documentation, and that the name of Digital not be
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncused in advertising or publicity pertaining to distribution of the
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncsoftware without specific, written prior permission.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncSOFTWARE.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync******************************************************************/
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifdef HAVE_DIX_CONFIG_H
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include <dix-config.h>
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifndef _OSDEP_H_
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define _OSDEP_H_ 1
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#if defined(XDMCP) || defined(HASXDMAUTH)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include <X11/Xdmcp.h>
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifdef _POSIX_SOURCE
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include <limits.h>
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#else
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define _POSIX_SOURCE
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include <limits.h>
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#undef _POSIX_SOURCE
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifndef OPEN_MAX
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifdef SVR4
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define OPEN_MAX 256
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#else
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include <sys/param.h>
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifndef OPEN_MAX
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#if defined(NOFILE) && !defined(NOFILES_MAX)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define OPEN_MAX NOFILE
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#else
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#if !defined(WIN32)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define OPEN_MAX NOFILES_MAX
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#else
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define OPEN_MAX 256
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include <X11/Xpoll.h>
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/*
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync * MAXSOCKS is used only for initialising MaxClients when no other method
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync * like sysconf(_SC_OPEN_MAX) is not supported.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#if OPEN_MAX <= 256
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define MAXSOCKS (OPEN_MAX - 1)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#else
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define MAXSOCKS 256
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* MAXSELECT is the number of fds that select() can handle */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define MAXSELECT (sizeof(fd_set) * NBBY)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include <stddef.h>
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#if defined(XDMCP) || defined(HASXDMAUTH)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef Bool (*ValidatorFunc) (ARRAY8Ptr Auth, ARRAY8Ptr Data, int packet_type);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef Bool (*GeneratorFunc) (ARRAY8Ptr Auth, ARRAY8Ptr Data, int packet_type);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef Bool (*AddAuthorFunc) (unsigned name_length, const char *name,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned data_length, char *data);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _connectionInput *ConnectionInputPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _connectionOutput *ConnectionOutputPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncstruct _osComm;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define AuthInitArgs void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef void (*AuthInitFunc) (AuthInitArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define AuthAddCArgs unsigned short data_length, const char *data, XID id
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef int (*AuthAddCFunc) (AuthAddCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define AuthCheckArgs unsigned short data_length, const char *data, ClientPtr client, const char **reason
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef XID (*AuthCheckFunc) (AuthCheckArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define AuthFromIDArgs XID id, unsigned short *data_lenp, char **datap
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef int (*AuthFromIDFunc) (AuthFromIDArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define AuthGenCArgs unsigned data_length, const char *data, XID id, unsigned *data_length_return, char **data_return
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef XID (*AuthGenCFunc) (AuthGenCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define AuthRemCArgs unsigned short data_length, const char *data
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef int (*AuthRemCFunc) (AuthRemCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define AuthRstCArgs void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef int (*AuthRstCFunc) (AuthRstCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define AuthToIDArgs unsigned short data_length, char *data
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef XID (*AuthToIDFunc) (AuthToIDArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef void (*OsCloseFunc) (ClientPtr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef int (*OsFlushFunc) (ClientPtr who, struct _osComm * oc, char *extraBuf,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int extraCount);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _osComm {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int fd;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ConnectionInputPtr input;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ConnectionOutputPtr output;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XID auth_id; /* authorization id */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync CARD32 conn_time; /* timestamp if not established, else 0 */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync struct _XtransConnInfo *trans_conn; /* transport connection object */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} OsCommRec, *OsCommPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int FlushClient(ClientPtr /*who */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync OsCommPtr /*oc */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync const void * /*extraBuf */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /*extraCount */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void FreeOsBuffers(OsCommPtr /*oc */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include "dix.h"
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern fd_set AllSockets;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern fd_set AllClients;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern fd_set LastSelectMask;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern fd_set WellKnownConnections;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern fd_set EnabledDevices;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern fd_set ClientsWithInput;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern fd_set ClientsWriteBlocked;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern fd_set OutputPending;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern fd_set IgnoredClientsWithInput;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifndef WIN32
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int *ConnectionTranslation;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#else
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int GetConnectionTranslation(int conn);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void SetConnectionTranslation(int conn, int client);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void ClearConnectionTranslation(void);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Bool NewOutputPending;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Bool AnyClientsWriteBlocked;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern WorkQueuePtr workQueue;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* in WaitFor.c */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifdef WIN32
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef long int fd_mask;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define ffs mffs
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int mffs(fd_mask);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* in access.c */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Bool ComputeLocalClient(ClientPtr client);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* in auth.c */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void GenerateRandomData(int len, char *buf);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* in mitauth.c */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XID MitCheckCookie(AuthCheckArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XID MitGenerateCookie(AuthGenCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XID MitToID(AuthToIDArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int MitAddCookie(AuthAddCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int MitFromID(AuthFromIDArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int MitRemoveCookie(AuthRemCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int MitResetCookie(AuthRstCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* in xdmauth.c */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifdef HASXDMAUTH
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XID XdmCheckCookie(AuthCheckArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XID XdmToID(AuthToIDArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int XdmAddCookie(AuthAddCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int XdmFromID(AuthFromIDArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int XdmRemoveCookie(AuthRemCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int XdmResetCookie(AuthRstCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* in rpcauth.c */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifdef SECURE_RPC
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void SecureRPCInit(AuthInitArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XID SecureRPCCheck(AuthCheckArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XID SecureRPCToID(AuthToIDArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int SecureRPCAdd(AuthAddCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int SecureRPCFromID(AuthFromIDArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int SecureRPCRemove(AuthRemCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int SecureRPCReset(AuthRstCArgs);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifdef XDMCP
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* in xdmcp.c */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpUseMsg(void);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern int XdmcpOptions(int argc, char **argv, int i);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpRegisterConnection(int type, const char *address, int addrlen);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpRegisterAuthorizations(void);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpRegisterAuthorization(const char *name, int namelen);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpInit(void);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpReset(void);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpOpenDisplay(int sock);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpCloseDisplay(int sock);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpRegisterAuthentication(const char *name,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int namelen,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync const char *data,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int datalen,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ValidatorFunc Validator,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync GeneratorFunc Generator,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync AddAuthorFunc AddAuth);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncstruct sockaddr_in;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmcpRegisterBroadcastAddress(const struct sockaddr_in *addr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifdef HASXDMAUTH
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void XdmAuthenticationInit(const char *cookie, int cookie_length);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif /* _OSDEP_H_ */