⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serv.h

📁 一个linux下的根文件系统的源码
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef	_SERV_H#define	_SERV_H/* * Copyright (c) 2000, 2003 Greg Haerr <greg@censoft.com> * Portions Copyright (c) 2002 by Koninklijke Philips Electronics N.V. * Copyright (c) 2000 Alex Holden <alex@linuxhacker.org> * Copyright (c) 1991 David I. Bell * Permission is granted to use, distribute, or modify this source, * provided that this copyright notice remains intact. * * Private definitions for the graphics server. * These definitions are not to be used by clients. */#include "mwsystem.h"#if defined(__ECOS) && !defined(_NO_SVR_MAPPING)/* * Since eCos is a single task, multi-threaded environment, the * server and the client code share the same namespace.  This means * that server functions which are represented by dispatchers in * the client code need to have unique names, thus this remapping. */#define nxErrorStrings		SVR_nxErrorStrings#define GrArcAngle              SVR_GrArcAngle#define GrArc                   SVR_GrArc#define GrArea                  SVR_GrArea#define GrBell                  SVR_GrBell#define GrBitmap                SVR_GrBitmap#define GrCheckNextEvent        SVR_GrCheckNextEvent#define GrClearArea             SVR_GrClearArea#define GrClose                 SVR_GrClose#define GrCloseWindow           SVR_GrCloseWindow#define GrCopyArea              SVR_GrCopyArea#define GrCopyGC                SVR_GrCopyGC#define GrCreateFont            SVR_GrCreateFont#define GrCreateTimer		SVR_GrCreateTimer        #define GrDelay			SVR_GrDelay#define GrDestroyCursor		SVR_GrDestroyCursor      #define GrDestroyFont           SVR_GrDestroyFont#define GrDestroyGC             SVR_GrDestroyGC#define GrDestroyRegion         SVR_GrDestroyRegion#define GrDestroyTimer		SVR_GrDestroyTimer       #define GrDestroyWindow         SVR_GrDestroyWindow#define GrDrawImageBits         SVR_GrDrawImageBits#define GrDrawImageFromBuffer	SVR_GrDrawImageFromBuffer#define GrDrawImageFromFile     SVR_GrDrawImageFromFile#define GrDrawImageToFit        SVR_GrDrawImageToFit#define GrEllipse               SVR_GrEllipse#define GrEmptyRegion           SVR_GrEmptyRegion#define GrEqualRegion           SVR_GrEqualRegion#define GrFillEllipse           SVR_GrFillEllipse#define GrFillPoly              SVR_GrFillPoly#define GrFillRect              SVR_GrFillRect#define GrFindColor             SVR_GrFindColor#define GrFreeFontList		SVR_GrFreeFontList       #define GrFreeImage             SVR_GrFreeImage#define GrGetFocus              SVR_GrGetFocus#define GrGetFontInfo           SVR_GrGetFontInfo#define GrGetFontList		SVR_GrGetFontList        #define GrGetGCInfo             SVR_GrGetGCInfo#define GrGetGCTextSize         SVR_GrGetGCTextSize#define GrGetImageInfo          SVR_GrGetImageInfo#define GrGetRegionBox          SVR_GrGetRegionBox#define GrGetScreenInfo         SVR_GrGetScreenInfo#define GrGetSelectionOwner     SVR_GrGetSelectionOwner#define GrGetSysColor           SVR_GrGetSysColor#define GrGetSystemPalette      SVR_GrGetSystemPalette#define GrGetWindowInfo         SVR_GrGetWindowInfo#define GrGetWMProperties       SVR_GrGetWMProperties#define GrInjectKeyboardEvent   SVR_GrInjectKeyboardEvent#define GrInjectPointerEvent    SVR_GrInjectPointerEvent#define GrIntersectRegion       SVR_GrIntersectRegion#define GrKillWindow            SVR_GrKillWindow#define GrLine                  SVR_GrLine#define GrLoadImageFromFile     SVR_GrLoadImageFromFile#define GrLowerWindow           SVR_GrLowerWindow#define GrMapWindow             SVR_GrMapWindow#define GrMoveCursor            SVR_GrMoveCursor#define GrMoveWindow            SVR_GrMoveWindow#define GrNewCursor		SVR_GrNewCursor          #define GrNewGC                 SVR_GrNewGC#define GrNewInputWindow        SVR_GrNewInputWindow#define GrNewPixmap             SVR_GrNewPixmap#define GrNewPolygonRegion      SVR_GrNewPolygonRegion#define GrNewRegion             SVR_GrNewRegion#define GrNewWindow             SVR_GrNewWindow#define GrOffsetRegion          SVR_GrOffsetRegion#define GrOpen                  SVR_GrOpen#define GrPeekEvent             SVR_GrPeekEvent#define GrPointInRegion         SVR_GrPointInRegion#define GrPoints                SVR_GrPoints#define GrPoint                 SVR_GrPoint#define GrPoly                  SVR_GrPoly#define GrQueryTree		SVR_GrQueryTree          #define GrRaiseWindow           SVR_GrRaiseWindow#define GrReadArea              SVR_GrReadArea#define GrRectInRegion          SVR_GrRectInRegion#define GrRect                  SVR_GrRect#define GrReparentWindow        SVR_GrReparentWindow#define GrRequestClientData     SVR_GrRequestClientData#define GrResizeWindow          SVR_GrResizeWindow#define GrSelectEvents          SVR_GrSelectEvents#define GrSendClientData        SVR_GrSendClientData#define GrSetBackgroundPixmap   SVR_GrSetBackgroundPixmap#define GrSetCursor             SVR_GrSetCursor#define GrSetFocus              SVR_GrSetFocus#define GrSetFontAttr           SVR_GrSetFontAttr#define GrSetFontRotation       SVR_GrSetFontRotation#define GrSetFontSize           SVR_GrSetFontSize#define GrSetGCBackground       SVR_GrSetGCBackground#define GrSetGCClipOrigin	SVR_GrSetGCClipOrigin#define GrSetGCFont             SVR_GrSetGCFont#define GrSetGCForeground       SVR_GrSetGCForeground#define GrSetGCGraphicsExposure	SVR_GrSetGCGraphicsExposure#define GrSetGCMode             SVR_GrSetGCMode#define GrSetGCRegion           SVR_GrSetGCRegion#define GrSetGCUseBackground    SVR_GrSetGCUseBackground#define GrSetPortraitMode	SVR_GrSetPortraitMode#define GrSetScreenSaverTimeout SVR_GrSetScreenSaverTimeout#define GrSetSelectionOwner     SVR_GrSetSelectionOwner#define GrSetSystemPalette      SVR_GrSetSystemPalette#define GrSetWindowCursor	SVR_GrSetWindowCursor    #define GrSetWMProperties       SVR_GrSetWMProperties#define GrSubtractRegion        SVR_GrSubtractRegion#define GrText                  SVR_GrText#define GrUnionRectWithRegion   SVR_GrUnionRectWithRegion#define GrUnionRegion           SVR_GrUnionRegion#define GrUnmapWindow           SVR_GrUnmapWindow#define GrXorRegion             SVR_GrXorRegion#endif#include "nano-X.h"#include "device.h"/* * Define the server-side mutex code.  This is a regular mutex (as defined * in lock.h) for linked-in mode, or a no-op for client/server mode. */#if NONETWORK/* Use a server-side mutex. */#include "lock.h"LOCK_EXTERN(gr_server_mutex);#define SERVER_LOCK_DECLARE   LOCK_DECLARE(gr_server_mutex);#define SERVER_LOCK_INIT()    LOCK_INIT(&gr_server_mutex)#define SERVER_LOCK()         LOCK(&gr_server_mutex)#define SERVER_UNLOCK()       UNLOCK(&gr_server_mutex)#else /* !NONETWORK *//* The Nano-X server is single threaded, so disable the server-side mutex (for speed). */#define SERVER_LOCK_DECLARE /* no-op */#define SERVER_LOCK_INIT()  do {} while(0) /* no-op, but require a ";" */#define SERVER_LOCK()       do {} while(0) /* no-op, but require a ";" */#define SERVER_UNLOCK()     do {} while(0) /* no-op, but require a ";" */#endif /* !NONETWORK*//* * Drawing types. */typedef	int	GR_DRAW_TYPE;#define	GR_DRAW_TYPE_NONE	0	/* none or error */#define	GR_DRAW_TYPE_WINDOW	1	/* windows */#define	GR_DRAW_TYPE_PIXMAP	2	/* pixmaps */#define	GR_MAX_MODE		MWMODE_MAX/* * List of elements for events. */typedef	struct gr_event_list GR_EVENT_LIST;struct gr_event_list {	GR_EVENT_LIST	*next;		/* next element in list */	GR_EVENT	event;		/* event */};/* * Data structure to keep track of state of clients. */typedef struct gr_client GR_CLIENT;struct gr_client {	int		id;		/* client id and socket descriptor */	GR_EVENT_LIST	*eventhead;	/* head of event chain (or NULL) */	GR_EVENT_LIST	*eventtail;	/* tail of event chain (or NULL) */	GR_CLIENT	*next;		/* the next client in the list */	GR_CLIENT	*prev;		/* the previous client in the list */	int		waiting_for_event; /* used to implement GrGetNextEvent*/	char		*shm_cmds;	int		shm_cmds_size;	int		shm_cmds_shmid;	unsigned long	processid;	/* client process id*/};/* * Structure to remember clients associated with events. */typedef	struct gr_event_client	GR_EVENT_CLIENT;struct gr_event_client	{	GR_EVENT_CLIENT	*next;		/* next interested client or NULL */	GR_EVENT_MASK	eventmask;	/* events client wants to see */	GR_CLIENT	*client;	/* client who is interested */};/* * Structure to remember graphics contexts. */typedef	struct gr_gc	GR_GC;struct gr_gc {	GR_GC_ID	id;		/* graphics context id */	int		mode;		/* drawing mode */	GR_REGION_ID	regionid;	/* current clipping region */ 	GR_COORD	xoff;           /* X offset for the clip region */	GR_COORD	yoff;           /* Y offset for the clip region */	GR_FONT_ID	fontid;		/* current font id*/	GR_COLOR	foreground;	/* foreground RGB color or pixel value*/	GR_COLOR	background;	/* background RGB color or pixel value*/	GR_BOOL		fgispixelval;	/* TRUE if 'foreground' is actually a GR_PIXELVAL */	GR_BOOL		bgispixelval;	/* TRUE if 'background' is actually a GR_PIXELVAL */	GR_BOOL		usebackground;	/* actually display the background */        GR_BOOL		exposure;     	/* send expose events on GrCopyArea */        int             linestyle;	/* GR_LINE_SOLID, GR_LINE_ONOFF_DASH */        unsigned long   dashmask;        char            dashcount;           int             fillmode;	/* GR_FILL_SOLID, STIPPLE, OPAQUE_STIPPLE, TILE */        GR_STIPPLE      stipple;	/* width,height,bitmap*/        struct {		PSD psd;		GR_SIZE width;		GR_SIZE height;	} tile;        GR_POINT        ts_offset;	GR_BOOL		changed;	/* graphics context has been changed */	GR_CLIENT 	*owner;		/* client that created it */	GR_GC		*next;		/* next graphics context */};/* * Structure to remember regions. */typedef struct gr_region	GR_REGION;struct gr_region {	MWCLIPREGION *	rgn;	GR_REGION_ID	id;	GR_CLIENT *	owner;		/* client that created it */	GR_REGION *	next;}; /* * Structure to remember fonts. */typedef struct gr_font	GR_FONT;struct gr_font {	PMWFONT		pfont;		/* font*/	int		fontsize;	/* font size*/	GR_FONT_ID	id;		/* font id*/	GR_CLIENT *	owner;		/* client that created it */	GR_FONT *	next;		/* next font*/};/* * Cursor structure. */typedef struct gr_cursor GR_CURSOR;struct gr_cursor {	GR_CURSOR_ID	id;		/* cursor id*/	GR_CLIENT	*owner;		/* client that created it*/	GR_CURSOR	*next;	MWCURSOR	cursor;		/* mwin engine cursor structure*/};/* * Structure to remember selection owner and mime types it can produce. */typedef struct {	GR_WINDOW_ID wid;	GR_CHAR *typelist;} GR_SELECTIONOWNER;#if MW_FEATURE_IMAGES/* * Structure to remember images.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -