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

📄 srvnet.c

📁 一个linux下的根文件系统的源码
💻 C
📖 第 1 页 / 共 4 页
字号:
		if(cde->data) {			GsWrite(current_fd, cde->data, cde->datalen);			free(cde->data);		} cde->datalen = 0;	}	GsWrite(current_fd, &ret, sizeof(GR_CHAR));	/* EXPERIMENTAL CODE for GTK+ select wait*/	if (ret == 0) {		/* tell main loop to call Finish routine on event*/		curclient->waiting_for_event = TRUE;	}}static voidGrLineWrapper(void *r){	nxLineReq *req = r;	GrLine(req->drawid, req->gcid, req->x1, req->y1, req->x2, req->y2);}static voidGrPointWrapper(void *r){	nxPointReq *req = r;	GrPoint(req->drawid, req->gcid, req->x, req->y);}static voidGrPointsWrapper(void *r){	nxPointsReq *req = r;	int        count;	count = GetReqVarLen(req) / sizeof(GR_POINT);	GrPoints(req->drawid, req->gcid, count, (GR_POINT *)GetReqData(req));}static voidGrRectWrapper(void *r){	nxRectReq *req = r;	GrRect(req->drawid, req->gcid, req->x, req->y, req->width, req->height);}static voidGrFillRectWrapper(void *r){	nxFillRectReq *req = r;	GrFillRect(req->drawid, req->gcid, req->x, req->y, req->width,		req->height);}static voidGrPolyWrapper(void *r){	nxPolyReq *req = r;	int        count;	count = GetReqVarLen(req) / sizeof(GR_POINT);	GrPoly(req->drawid, req->gcid, count, (GR_POINT *)GetReqData(req));}/* FIXME: fails with pointtable size > 64k if sizeof(int) == 2*/static voidGrFillPolyWrapper(void *r){	nxPolyReq *req = r;	int        count;	count = GetReqVarLen(req) / sizeof(GR_POINT);	GrFillPoly(req->drawid, req->gcid, count, (GR_POINT *)GetReqData(req));}static voidGrEllipseWrapper(void *r){	nxEllipseReq *req = r;	GrEllipse(req->drawid, req->gcid, req->x, req->y, req->rx, req->ry);}static voidGrFillEllipseWrapper(void *r){	nxFillEllipseReq *req = r;	GrFillEllipse(req->drawid, req->gcid, req->x, req->y, req->rx, req->ry);}static voidGrArcWrapper(void *r){	nxArcReq *req = r;	GrArc(req->drawid, req->gcid, req->x, req->y, req->rx, req->ry,		req->ax, req->ay, req->bx, req->by, req->type);}static voidGrArcAngleWrapper(void *r){	nxArcAngleReq *req = r;	GrArcAngle(req->drawid, req->gcid, req->x, req->y, req->rx, req->ry,		req->angle1, req->angle2, req->type);}static voidGrSetGCForegroundWrapper(void *r){	nxSetGCForegroundReq *req = r;	GrSetGCForeground(req->gcid, req->color);}static voidGrSetGCBackgroundWrapper(void *r){	nxSetGCBackgroundReq *req = r;	GrSetGCBackground(req->gcid, req->color);}static voidGrSetGCForegroundPixelValWrapper(void *r){	nxSetGCForegroundPixelValReq *req = r;	GrSetGCForegroundPixelVal(req->gcid, req->pixelval);}static voidGrSetGCBackgroundPixelValWrapper(void *r){	nxSetGCBackgroundPixelValReq *req = r;	GrSetGCBackgroundPixelVal(req->gcid, req->pixelval);}static voidGrSetGCUseBackgroundWrapper(void *r){	nxSetGCUseBackgroundReq *req = r;	GrSetGCUseBackground(req->gcid, req->flag);}static voidGrSetGCModeWrapper(void *r){	nxSetGCModeReq *req = r;	GrSetGCMode(req->gcid, req->mode);}static voidGrSetGCLineAttributesWrapper(void *r){	nxSetGCLineAttributesReq *req = r;	GrSetGCLineAttributes(req->gcid, req->linestyle);}static voidGrSetGCDashWrapper(void *r){	nxSetGCDashReq *req = r;	char *buffer = ALLOCA(req->count);	memcpy((void *) buffer, GetReqData(req), req->count);	GrSetGCDash(req->gcid, buffer, req->count);	FREEA(buffer);}static voidGrSetGCFillModeWrapper(void *r){	nxSetGCFillModeReq *req = r;	GrSetGCFillMode(req->gcid, req->fillmode);}static voidGrSetGCStippleWrapper(void *r){	nxSetGCStippleReq *req = r;	GR_BITMAP *buffer;		buffer = ALLOCA(GR_BITMAP_SIZE(req->width, req->height) *		sizeof(GR_BITMAP));	memcpy((void *) buffer, GetReqData(req),	       GR_BITMAP_SIZE(req->width, req->height) * sizeof(GR_BITMAP));	GrSetGCStipple(req->gcid, (GR_BITMAP *)buffer, req->width, req->height);	FREEA(buffer);}static voidGrSetGCTileWrapper(void *r){	nxSetGCTileReq *req = r;	GrSetGCTile(req->gcid, req->pixmap, req->width, req->height);}static voidGrSetGCTSOffsetWrapper(void *r){	nxSetGCTSOffsetReq *req = r;	GrSetGCTSOffset(req->gcid, req->xoffset, req->yoffset);}static voidGrCreateFontWrapper(void *r){	nxCreateFontReq *req = r;	GR_FONT_ID 	fontid;	fontid = GrCreateFont(GetReqData(req), req->height, NULL);	GsWriteType(current_fd,GrNumCreateFont);	GsWrite(current_fd, &fontid, sizeof(fontid));}static voidGrCreateLogFontWrapper(void *r){	nxCreateLogFontReq *req = r;	GR_FONT_ID fontid;	fontid = GrCreateFont(NULL, 0, &req->lf);	GsWriteType(current_fd, GrNumCreateLogFont);	GsWrite(current_fd, &fontid, sizeof(fontid));}static voidGrSetFontSizeWrapper(void *r){	nxSetFontSizeReq *req = r; 	GrSetFontSize(req->fontid, req->fontsize);}static voidGrSetFontRotationWrapper(void *r){	nxSetFontRotationReq *req = r; 	GrSetFontRotation(req->fontid, req->tenthdegrees);}static voidGrSetFontAttrWrapper(void *r){	nxSetFontAttrReq *req = r; 	GrSetFontAttr(req->fontid, req->setflags, req->clrflags);}static voidGrDestroyFontWrapper(void *r){	nxDestroyFontReq *req = r;	GrDestroyFont(req->fontid);}static voidGrSetGCFontWrapper(void *r){	nxSetGCFontReq *req = r;	GrSetGCFont(req->gcid, req->fontid);}static voidGrGetGCTextSizeWrapper(void *r){	nxGetGCTextSizeReq *req = r;	GR_SIZE             retwidth, retheight, retbase;	GrGetGCTextSize(req->gcid, GetReqData(req), req->charcount,		req->flags, &retwidth, &retheight, &retbase); 	GsWriteType(current_fd,GrNumGetGCTextSize);	GsWrite(current_fd, &retwidth, sizeof(retwidth));	GsWrite(current_fd, &retheight, sizeof(retheight));	GsWrite(current_fd, &retbase, sizeof(retbase));}/* FIXME: fails with size > 64k if sizeof(int) == 2*/static voidGrReadAreaWrapper(void *r){	nxReadAreaReq *req = r;	int            size;	GR_PIXELVAL *   area;	/* FIXME: optimize for smaller pixelvals*/	size = req->width * req->height * sizeof(GR_PIXELVAL);	if(!(area = malloc(size))) {		/*GsPutCh(current_fd, GrRetENoMem);*/ /* FIXME*/		/*return;*/	}	GrReadArea(req->drawid, req->x, req->y, req->width, req->height, area);	GsWriteType(current_fd,GrNumReadArea);	GsWrite(current_fd, area, size);	free(area);}/* FIXME: fails with size > 64k if sizeof(int) == 2*/static voidGrAreaWrapper(void *r){	nxAreaReq *req = r;	GrArea(req->drawid, req->gcid, req->x, req->y, req->width, req->height,		GetReqData(req), req->pixtype);}/* FIXME: fails with bitmapsize > 64k if sizeof(int) == 2*/static voidGrBitmapWrapper(void *r){	nxBitmapReq *req = r;	GrBitmap(req->drawid, req->gcid, req->x, req->y, req->width,		req->height, GetReqData(req));}static voidGrDrawImageBitsWrapper(void *r){	nxDrawImageBitsReq *req = r;	char *		    addr;	int		    imagesize;	GR_IMAGE_HDR	    hdr;	hdr.width = req->width;	hdr.height = req->height;	hdr.planes = req->planes;	hdr.bpp = req->bpp;	hdr.pitch = req->pitch;	hdr.bytesperpixel = req->bytesperpixel;	hdr.compression = req->compression;	hdr.palsize = req->palsize;	hdr.transcolor = req->transcolor;	addr = GetReqData(req);	hdr.imagebits = (MWUCHAR *)addr;	imagesize = hdr.pitch * hdr.height;	hdr.palette = (MWPALENTRY *)(addr + imagesize);	GrDrawImageBits(req->drawid, req->gcid, req->x, req->y, &hdr);}static voidGrCopyAreaWrapper(void *r){	nxCopyAreaReq *req = r;	GrCopyArea(req->drawid, req->gcid, req->x, req->y, req->width, req->height,		req->srcid, req->srcx, req->srcy, req->op);}static voidGrTextWrapper(void *r){	nxTextReq *req = r;	GrText(req->drawid, req->gcid, req->x, req->y, GetReqData(req),		req->count, req->flags);}static voidGrNewCursorWrapper(void *r){	nxNewCursorReq *req = r;	int		varlen;	char *          bitmap;	GR_CURSOR_ID	cursorid;	varlen = GetReqVarLen(req);	bitmap = GetReqData(req);	cursorid = GrNewCursor(req->width, req->height,		req->hotx, req->hoty, req->fgcolor, req->bgcolor,		(GR_BITMAP *)bitmap, (GR_BITMAP *)(bitmap+varlen/2));	GsWriteType(current_fd, GrNumNewCursor);	GsWrite(current_fd, &cursorid, sizeof(cursorid));}static voidGrMoveCursorWrapper(void *r){	nxMoveCursorReq *req = r;	GrMoveCursor(req->x, req->y);}static voidGrGetSystemPaletteWrapper(void *r){	GR_PALETTE             pal;	GrGetSystemPalette(&pal);	GsWriteType(current_fd,GrNumGetSystemPalette);	GsWrite(current_fd, &pal, sizeof(pal));}static voidGrSetSystemPaletteWrapper(void *r){	nxSetSystemPaletteReq *req = r;	GR_PALETTE	       pal;	pal.count = req->count;	memcpy(pal.palette, req->palette, sizeof(pal.palette));	GrSetSystemPalette(req->first, &pal);}static voidGrFindColorWrapper(void *r){	nxFindColorReq *req = r;	GR_PIXELVAL	pixel;	GrFindColor(req->color, &pixel);	GsWriteType(current_fd,GrNumFindColor);	GsWrite(current_fd, &pixel, sizeof(pixel));}static voidGrInjectEventWrapper(void *r){	nxInjectEventReq *req = r;	switch(req->event_type) {	case GR_INJECT_EVENT_POINTER:		GrInjectPointerEvent(req->event.pointer.x,				     req->event.pointer.y,				     req->event.pointer.button,				     req->event.pointer.visible);		break;	case GR_INJECT_EVENT_KEYBOARD:		GrInjectKeyboardEvent(req->event.keyboard.wid,				      req->event.keyboard.keyvalue,				      req->event.keyboard.modifier,				      req->event.keyboard.scancode,				      req->event.keyboard.pressed);		break;	}}static voidGrSetWMPropertiesWrapper(void *r){	nxSetWMPropertiesReq *req = r;	GR_WM_PROPERTIES *props = GetReqData(req);	if(GetReqVarLen(req) - sizeof(GR_WM_PROPERTIES)) 		props->title = (GR_CHAR *)props + sizeof(GR_WM_PROPERTIES);	else		props->title = NULL;	GrSetWMProperties(req->windowid, props);}static voidGrGetWMPropertiesWrapper(void *r){	nxGetWMPropertiesReq *req = r;	UINT16 textlen;	GR_WM_PROPERTIES props;		GrGetWMProperties(req->windowid, &props);	if(props.title)		textlen = strlen((const char *)props.title) + 1;	else textlen = 0;	GsWriteType(current_fd,GrNumGetWMProperties);	GsWrite(current_fd, &props, sizeof(props));	GsWrite(current_fd, &textlen, sizeof(textlen));	if(textlen)		GsWrite(current_fd, props.title, textlen);}static voidGrCloseWindowWrapper(void *r){	nxCloseWindowReq *req = r;	GrCloseWindow(req->windowid);}static voidGrKillWindowWrapper(void *r){	nxKillWindowReq *req = r;	GrKillWindow(req->windowid);}#if MW_FEATURE_IMAGES && defined(HAVE_FILEIO)static voidGrDrawImageFromFileWrapper(void *r){	nxDrawImageFromFileReq *req = r;	GrDrawImageFromFile(req->drawid, req->gcid, req->x, req->y, req->width,		req->height, GetReqData(req), req->flags);}static voidGrLoadImageFromFileWrapper(void *r){	nxLoadImageFromFileReq *req = r;	GR_IMAGE_ID		id;	id = GrLoadImageFromFile(GetReqData(req), req->flags);	GsWriteType(current_fd, GrNumLoadImageFromFile);	GsWrite(current_fd, &id, sizeof(id));}#else /* if ! (MW_FEATURE_IMAGES && defined(HAVE_FILEIO)) */#define GrDrawImageFromFileWrapper GrNotImplementedWrapper#define GrLoadImageFromFileWrapper GrNotImplementedWrapper#endif#if MW_FEATURE_IMAGESstatic voidGrDrawImageToFitWrapper(void *r){	nxDrawImageToFitReq *req = r;	GrDrawImageToFit(req->drawid, req->gcid, req->x, req->y, req->width,		req->height, req->imageid);}static voidGrFreeImageWrapper(void *r){	nxFreeImageReq *req = r;	GrFreeImage(req->id);}

⌨️ 快捷键说明

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