OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [mw/] [src/] [nanox/] [nxproto.h] - Rev 1765

Compare with Previous | Blame | View Log

/*
 * Copyright (c) 1999 Greg Haerr <greg@censoft.com>
 * Copyright (c) 2000 Alex Holden <alex@linuxhacker.org>
 *
 * Nano-X Core Protocol Header
 * 
 * These structures define the Nano-X client/server protocol.
 * Much of this has been modeled after the X11 implementation.
 * Note that all NX Protocol requests should have all data quantities
 * properly aligned. This is assured by hand-coding each NX request
 * structure.  Unlike Xlib, fixed size request structs don't have to
 * be a multiple of 4 bytes, since the length field is a byte count
 * and GetReq() automatically pads all requests to 4-byte boundaries.
 * Request structs for variable size data, however, must be hand-padded
 * to 4-byte alignment, as variable data starts after sizeof(structure).
 * Also, the hilength/length fields store the unaligned byte count, so
 * that extra code isn't required to de-crypt extra data size or
 * big packets.
 */
 
/*
 * The following is provided to allow limiting the maximum
 * request size that will be sent (not received) using this protocol.
 * The protocol allows for 2^24 byte maximum, but the
 * server currently allocates the MAXREQUESTSZ in a stack buffer.
 * Also, the client realloc's the request queue to 
 * the largest size asked for, and currently never reduces it.
 *
 * Routines like GrArea will split packets to be <= MAXREQUESTSZ
 * automatically.
 *
 * NOTE: MAXREQUESTSZ must be an _aligned_ multiple of 4, meaning
 * that MAXREQUESTSZ = (MAXREQUESTSZ + 3) & ~3.
 */
#define MAXREQUESTSZ	30000		/* max request size (65532)*/
 
typedef unsigned char	BYTE8;		/* 1 byte*/
typedef unsigned short	UINT16;		/* 2 bytes*/
typedef short		INT16;		/* 2 bytes*/
typedef unsigned long	UINT32;		/* 4 bytes*/
 
#if ELKS
typedef UINT16		IDTYPE;
#define ALIGNSZ		2	/* 2 byte packet alignment*/
#else
typedef UINT32		IDTYPE;
#define ALIGNSZ		4	/* 4 byte packet alignment*/
#endif
 
/* all requests share this header*/
typedef struct {
	BYTE8	reqType;	/* request code*/
	BYTE8	hilength;	/* upper 24 bits of unaligned length*/
	UINT16	length;		/* lower 16 bits of unaligned length*/
} nxReq;
 
/* Allocate a fixed size request from request buffer*/
#define AllocReq(name) \
	((nx##name##Req *)nxAllocReq(GrNum##name,sizeof(nx##name##Req), 0))
 
/* Allocate a request, but allocate n extra bytes*/
#define AllocReqExtra(name,n) \
	((nx##name##Req *)nxAllocReq(GrNum##name,sizeof(nx##name##Req), n))
 
/* return pointer to variable length data*/
#define GetReqData(req)		((void *)((char *)req + sizeof(* (req))))
 
/* FIXME fails when sizeof(int) == 2*/
/* get request total valid data length, including header*/
#define GetReqLen(req)		(((req)->hilength << 16) | (req)->length)
 
/* get request variable data length, not including fixed size structure*/
#define GetReqVarLen(req)	(GetReqLen(req) - sizeof(* (req)))
 
/* get request total aligned length*/
#define GetReqAlignedLen(req)	((GetReqLen(req) + (ALIGNSZ-1)) & ~(ALIGNSZ-1))
 
void * 	nxAllocReq(int type, long size, long extra);
void	nxFlushReq(long newsize, int reply_needed);
void 	nxAssignReqbuffer(char *buffer, long size);
void 	nxWriteSocket(char *buf, int todo);
int	nxCalcStringBytes(void *str, int count, int flags);
 
#if notyet
/* all replies share this header*/
typedef struct {
	BYTE8	repType;	/* reply code*/
	BYTE8	hilength;	/* upper 24 bits of unaligned length*/
	UINT16	length;		/* lower 16 bits of unaligned length*/
} nxReply;
 
/* reply types if not equal to request type*/
#define GrNumErrorReply		255
#define GrNumEventReply		254
#endif /* notyet*/
 
#define GrNumOpen               0
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	UINT32	pid;
} nxOpenReq;
 
#define GrNumClose              1
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxCloseReq;
 
#define GrNumGetScreenInfo      2
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxGetScreenInfoReq;
 
#define GrNumNewWindow          3
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	parentid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
	UINT32	backgroundcolor;
	UINT32	bordercolor;
	INT16	bordersize;
} nxNewWindowReq;
 
#define GrNumNewInputWindow     4
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	parentid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
} nxNewInputWindowReq;
 
#define GrNumDestroyWindow      5
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxDestroyWindowReq;
 
#define GrNumNewGC              6
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxNewGCReq;
 
#define GrNumCopyGC		7
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
} nxCopyGCReq;
 
#define GrNumGetGCInfo          8
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
} nxGetGCInfoReq;
 
#define GrNumDestroyGC          9
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
} nxDestroyGCReq;
 
#define GrNumMapWindow          10
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxMapWindowReq;
 
#define GrNumUnmapWindow        11
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxUnmapWindowReq;
 
#define GrNumRaiseWindow        12
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxRaiseWindowReq;
 
#define GrNumLowerWindow        13
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxLowerWindowReq;
 
#define GrNumMoveWindow         14
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
	INT16	x;
	INT16	y;
} nxMoveWindowReq;
 
#define GrNumResizeWindow       15
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
	INT16	width;
	INT16	height;
} nxResizeWindowReq;
 
#define GrNumGetWindowInfo      16
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxGetWindowInfoReq;
 
#define GrNumGetFontInfo        17
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	fontid;
} nxGetFontInfoReq;
 
#define GrNumSetFocus           18
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxSetFocusReq;
 
#define GrNumSetWindowCursor    19
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
	IDTYPE	cursorid;
} nxSetWindowCursorReq;
 
#define GrNumClearArea          20
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
	UINT16	x;
	UINT16	y;
	UINT16	width;
	UINT16	height;
	UINT16	exposeflag;
} nxClearAreaReq;
 
#define GrNumSelectEvents       21
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
	UINT32	eventmask;
} nxSelectEventsReq;
 
#define GrNumGetNextEvent       22
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxGetNextEventReq;
 
#define GrNumCheckNextEvent     23
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxCheckNextEventReq;
 
#define GrNumPeekEvent          24
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxPeekEventReq;
 
#define GrNumLine               25
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x1;
	INT16	y1;
	INT16	x2;
	INT16	y2;
} nxLineReq;
 
#define GrNumPoint              26
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
} nxPointReq;
 
#define GrNumRect               27
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
} nxRectReq;
 
#define GrNumFillRect           28
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
} nxFillRectReq;
 
#define GrNumPoly               29
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	/*INT16 pointtable[];*/
} nxPolyReq;
 
#define GrNumFillPoly           30
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	/*INT16 pointtable[];*/
} nxFillPolyReq;
 
#define GrNumEllipse            31
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	rx;
	INT16	ry;
} nxEllipseReq;
 
#define GrNumFillEllipse        32
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	rx;
	INT16	ry;
} nxFillEllipseReq;
 
#define GrNumSetGCForeground    33
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
	UINT32	color;
} nxSetGCForegroundReq;
 
#define GrNumSetGCBackground    34
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
	UINT32	color;
} nxSetGCBackgroundReq;
 
#define GrNumSetGCUseBackground 35
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
	UINT16	flag;
} nxSetGCUseBackgroundReq;
 
#define GrNumSetGCMode          36
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
	UINT16	mode;
} nxSetGCModeReq;
 
#define GrNumSetGCFont          37
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
	IDTYPE	fontid;
} nxSetGCFontReq;
 
#define GrNumGetGCTextSize      38
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
	UINT16	flags;
	UINT16	pad;
	/*BYTE8	text[];*/
} nxGetGCTextSizeReq;
 
#define GrNumReadArea           39
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
} nxReadAreaReq;
 
#define GrNumArea               40
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
	INT16	pixtype;
	INT16	pad;
	/*UINT32 pixels[];*/
} nxAreaReq;
 
#define GrNumBitmap             41
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
	/*UINT16 bitmaptable[];*/
} nxBitmapReq;
 
#define GrNumText               42
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	count;
	INT16	flags;
	/*BYTE8	text[];*/
} nxTextReq;
 
#define GrNumNewCursor          43
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	INT16	width;
	INT16	height;
	INT16	hotx;
	INT16	hoty;
	UINT32	fgcolor;
	UINT32	bgcolor;
	/*UINT16 fgbitmap[];*/
	/*UINT16 bgbitmap[];*/
} nxNewCursorReq;
 
#define GrNumMoveCursor         44
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	INT16	x;
	INT16	y;
} nxMoveCursorReq;
 
#define GrNumGetSystemPalette      45
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxGetSystemPaletteReq;
 
#define GrNumFindColor             46
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	UINT32	color;
} nxFindColorReq;
 
#define GrNumReparentWindow        47
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
	IDTYPE	parentid;
	INT16	x;
	INT16	y;
} nxReparentWindowReq;
 
#define GrNumDrawImageFromFile     48
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
	IDTYPE	flags;
	/*char path[];*/
} nxDrawImageFromFileReq;
 
#define GrNumLoadImageFromFile     49
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	INT16	flags;
	INT16	pad;
} nxLoadImageFromFileReq;
 
#define GrNumNewPixmap          50
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	INT16	width;
	INT16	height;
/* FIXME: Add support for passing shared memory info */
} nxNewPixmapReq;
 
#define GrNumCopyArea          51
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
	IDTYPE	srcid;
	INT16	srcx;
	INT16	srcy;
	UINT32	op;
} nxCopyAreaReq;
 
#define GrNumSetFontSize        52
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	fontid;
	INT16	fontsize;
} nxSetFontSizeReq;
 
#define GrNumCreateFont		53
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	INT16	height;
	INT16	lf_used;
	MWLOGFONT lf;
} nxCreateFontReq;
 
#define GrNumDestroyFont	54
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	fontid;
} nxDestroyFontReq;
 
#define GrNumReqShmCmds         55
typedef struct {
	BYTE8   reqType;
	BYTE8   hilength;
	UINT16  length;
	UINT32  size;
} nxReqShmCmdsReq;
 
#define GrNumShmCmdsFlush       56
typedef struct {
	BYTE8   reqType;
	BYTE8   hilength;
	UINT16  length;
	UINT32  size;
	UINT32  reply;
} nxShmCmdsFlushReq;
 
#define GrNumSetFontRotation    57
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	fontid;
	INT16	tenthdegrees;
} nxSetFontRotationReq;
 
#define GrNumSetFontAttr        58
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	fontid;
	INT16	setflags;
	INT16	clrflags;
} nxSetFontAttrReq;
 
#define GrNumSetSystemPalette   59
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	INT16	first;
	INT16	count;
	MWPALENTRY palette[256];
} nxSetSystemPaletteReq;
 
#define GrNumInjectEvent	60
#define GR_INJECT_EVENT_POINTER		0
#define GR_INJECT_EVENT_KEYBOARD	1
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	union {
		struct {
			INT16	x;
			INT16	y;
			UINT16	button;
			BYTE8	visible;
		} pointer;
		struct {
			IDTYPE	wid;
			UINT16	keyvalue;
			UINT16	modifier;
			BYTE8	scancode;
			BYTE8	pressed;
		} keyboard;
	} event;
	UINT16	event_type;
} nxInjectEventReq;
 
#define GrNumNewRegion		61
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxNewRegionReq;
 
#define GrNumDestroyRegion	62
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
} nxDestroyRegionReq;
 
#define GrNumUnionRectWithRegion	63
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
	GR_RECT	rect;
} nxUnionRectWithRegionReq;
 
#define GrNumUnionRegion	64
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
	IDTYPE	srcregionid1;
	IDTYPE	srcregionid2;
} nxUnionRegionReq;
 
#define GrNumIntersectRegion	65
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
	IDTYPE	srcregionid1;
	IDTYPE	srcregionid2;
} nxIntersectRegionReq;
 
#define GrNumSetGCRegion	66
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	gcid;
	IDTYPE	regionid;
} nxSetGCRegionReq;
 
#define GrNumSubtractRegion	67
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
	IDTYPE	srcregionid1;
	IDTYPE	srcregionid2;
} nxSubtractRegionReq;
 
#define GrNumXorRegion		68
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
	IDTYPE	srcregionid1;
	IDTYPE	srcregionid2;
} nxXorRegionReq;
 
#define GrNumPointInRegion	69
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
	INT16	x;
	INT16	y;
} nxPointInRegionReq;
 
#define GrNumRectInRegion	70
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
	INT16	x;
	INT16	y;
	INT16	w;
	INT16	h;
} nxRectInRegionReq;
 
#define GrNumEmptyRegion	71
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
} nxEmptyRegionReq;
 
#define GrNumEqualRegion	72
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	region1;
	IDTYPE	region2;
} nxEqualRegionReq;
 
#define GrNumOffsetRegion	73
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	region;
	INT16	dx;
	INT16	dy;
} nxOffsetRegionReq;
 
#define GrNumGetRegionBox	74
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	regionid;
} nxGetRegionBoxReq;
 
#define GrNumNewPolygonRegion	75
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	UINT16	mode;
	UINT16	pad;
	/*INT16 points[];*/
} nxNewPolygonRegionReq;
 
#define GrNumArc		76
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	rx;
	INT16	ry;
	INT16	ax;
	INT16	ay;
	INT16	bx;
	INT16	by;
	INT16	type;
} nxArcReq;
 
#define GrNumArcAngle		77
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	rx;
	INT16	ry;
	INT16	angle1;
	INT16	angle2;
	INT16	type;
} nxArcAngleReq;
 
#define GrNumSetWMProperties	78
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
	/* GR_WM_PROPERTIES props */
	/* GR_CHAR *title */
} nxSetWMPropertiesReq;
 
#define GrNumGetWMProperties	79
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxGetWMPropertiesReq;
 
#define GrNumCloseWindow	80
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxCloseWindowReq;
 
#define GrNumKillWindow		81
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxKillWindowReq;
 
#define GrNumDrawImageToFit     82
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
	IDTYPE	imageid;
} nxDrawImageToFitReq;
 
#define GrNumFreeImage          83
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	id;
} nxFreeImageReq;
 
#define GrNumGetImageInfo       84
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	id;
} nxGetImageInfoReq;
 
#define GrNumDrawImageBits      85
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	width;		/* MWIMAGEHDR start*/
	INT16	height;
	INT16	planes;
	INT16	bpp;
	INT16	pitch;
	INT16	bytesperpixel;
	INT16	compression;
	INT16	palsize;
	UINT32	transcolor;
	/*MWIMAGEBITS imagebits[];*/
	/*MWPALENTRY palette[palsize];*/
} nxDrawImageBitsReq;
 
#define GrNumPoints             86
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	/*INT16 pointtable[];*/
} nxPointsReq;
 
#define GrNumGetFocus           87
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxGetFocusReq;
 
#define GrNumGetSysColor        88
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	UINT16	index;
} nxGetSysColorReq;
 
#define GrNumSetScreenSaverTimeout	89
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	UINT32	timeout;
} nxSetScreenSaverTimeoutReq;
 
#define GrNumSetSelectionOwner	90
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	wid;
	/* GR_CHAR *typelist */
} nxSetSelectionOwnerReq;
 
#define GrNumGetSelectionOwner	91
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxGetSelectionOwnerReq;
 
#define GrNumRequestClientData	92
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	wid;
	IDTYPE	rid;
	UINT32	serial;
	UINT16	mimetype;
} nxRequestClientDataReq;
 
#define GrNumSendClientData	93
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	wid;
	IDTYPE	did;
	UINT32	serial;
	UINT32	len;
	/* void *data */
} nxSendClientDataReq;
 
#define GrNumBell		94
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxBellReq;
 
#define GrNumSetBackgroundPixmap 95
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	wid;
	IDTYPE	pixmap;
	UINT32	flags;
} nxSetBackgroundPixmapReq;
 
#define GrNumDestroyCursor	96
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	cursorid;
} nxDestroyCursorReq;
 
#define GrNumQueryTree   	97
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	windowid;
} nxQueryTreeReq;
 
#define GrNumCreateTimer	98
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	wid;
	UINT32	period;
} nxCreateTimerReq;
 
#define GrNumDestroyTimer	99
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	timerid;
} nxDestroyTimerReq;
 
#define GrNumSetPortraitMode	100
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	UINT32	portraitmode;
} nxSetPortraitModeReq;
 
#define GrNumImageBufferAlloc   101
 
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	UINT32	size;
} nxImageBufferAllocReq;
 
#define GrNumImageBufferSend    102
 
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	UINT32	buffer_id;
	UINT32	size;
} nxImageBufferSendReq;
 
#define GrNumLoadImageFromBuffer 103
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	UINT32	buffer;
	INT16	flags;
	INT16	pad;
} nxLoadImageFromBufferReq;
 
#define GrNumDrawImageFromBuffer 104
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE	drawid;
	IDTYPE	gcid;
	INT16	x;
	INT16	y;
	INT16	width;
	INT16	height;
	UINT32	buffer;
	IDTYPE	flags;
} nxDrawImageFromBufferReq;
 
#define GrNumGetFontList        105
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
} nxGetFontListReq;
 
#define GrNumSetGCClipOrigin    106
 
typedef struct {
	BYTE8	reqType;
	BYTE8	hilength;
	UINT16	length;
	IDTYPE  gcid;
	UINT32  xoff;
	UINT32  yoff;
} nxSetGCClipOriginReq;
 
#define GrTotalNumCalls         107
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.