interactive.c revision 98
649N/A#pragma ident "@(#)interactive.c 35.16 07/01/24 SMI"
970N/A#ifdef HAVE_DIX_CONFIG_H
970N/A#include <dix-config.h>
649N/A#define NEED_REPLIES
649N/A#define NEED_EVENTS
1422N/A#include "dixstruct.h"
649N/A#include "windowstr.h"
970N/A#include "inputstr.h"
970N/A#include "extnsionst.h"
970N/A#define _XIA_SERVER_
#include "dix.h"
#define UNSET_PRIORITY 0
typedef struct _ClientProcessInfo {
int count;
static int InitializeClass(void );
static void SetIAPrivate(int*);
static int SetPriority(int, int);
static int IAWrapProcVectors(void);
static int IAUnwrapProcVectors(void);
static int specialIAset = 0;
static unsigned long IAExtensionGeneration = 0;
static int IAClientPrivateIndex;
#define GetIAClient(pClient) ((IAClientPrivatePtr) (pClient)->devPrivates[IAClientPrivateIndex].ptr)
/* Set via xorg.conf option in loadable module */
int IADebugLevel = 0;
IAExtensionInit(void)
if (IAClientPrivateIndex < 0)
sizeof (IAClientPrivateRec)))
if (IAWrapProcVectors() != 0)
specialIAset = 0;
static CARD32
case ClientStateGone:
case ClientStateRetained:
case ClientStateInitial:
case X_IAQueryVersion:
case X_IASetProcessInfo:
case X_IAGetProcessInfo:
return BadRequest;
register int length;
if (ServerUid < 0)
register int length=0;
if (!CurrentPids)
case X_IAQueryVersion:
case X_IASetProcessInfo:
case X_IAGetProcessInfo:
return BadRequest;
register int count;
while(count--)
register int count;
while(count--)
while(LastPidcount--)
InitializeClass(void)
return ~Success;
return Success;
long ret;
if ( setegid(0) < 0 )
switch (cmd) {
case UNSET_PRIORITY:
case SET_PRIORITY:
case SET_INTERACTIVE:
return Success;
const char *cmdmsg;
switch (cmd) {
return ret;
return ~Success;
return BadAlloc;
return BadAlloc;
return Success;
int retval;
while(currentcount--) {
retval=0;
while(lastcount--)
if (retval==0)
return retval;
return retval;
int res;
return res;
switch (focusID) {
case None:
case PointerRoot:
return BadWindow;
if (wmClientptr)
return res;
int res;
return res;
return Success;
if (!pWin)
return BadWindow;
if (wmClientptr)
return res;
static Bool
while (tmask) {
pVlist++;
IAWrapProcVectors(void)
IAUnwrapProcVectors(void)