亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rpclib.c

?? vxworks的完整的源代碼
?? C
字號:
/* rpcLib.c - Remote Procedure Call (RPC) support library *//* Copyright 1984 - 2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02v,07may02,kbw  man page edits02u,15apr02,wap  change portmapd task priority from 100 to 5402t,15oct01,rae  merge from truestack ver 02y base 02r (AE/5.X)02s,24may01,mil  Bump up portmapper task stack size to 10000.02r,14mar99,jdi  doc: removed refs to config.h and/or configAll.h (SPR 25663).02q,16oct96,dgp  doc: modify rpcLib to show correct location of sprites demo		      SPR #722102p,22oct95,jdi  doc: removed references to dbxtool/dbxTask (SPR 4378).02o,11nov94,jag  Changed rpcTaskDeleteHook to fix SPR# 326902n,05may93,caf  tweaked for ansi.02m,17jul94,ms   jacked up stack size for VxSim/HPPA02l,23sep94,rhp  doc: clarify which RPC data structures auto-deleted (SPR3148)02k,15sep94,rhp  documentation: delete obsolete ref to dbxLib (SPR#3446).02j,02feb93,jdi  documentation tweak on configuration.02i,20jan93,jdi  documentation cleanup for 5.1.02h,19jul92,smb  removed abort to ANSI stdlib library.02g,18jul92,smb  Changed errno.h to errnoLib.h.02f,26may92,rrr  the tree shuffle02e,13dec91,gae  ANSI cleanup.02d,04oct91,rrr  passed through the ansification filter                  -changed functions to ansi style		  -changed includes to have absolute path from h/		  -fixed #else and #endif		  -changed VOID to void		  -changed copyright notice02c,13may91,jdi	 documentation tweak.02b,05apr91,jdi	 documentation -- removed header parens and x-ref numbers;		 doc review by dnw.02a,01mar91,elh  made references to include the rpc library routines.01z,24mar91,del  made tPortmapd stack larger for i960ca (no change for 68k).01y,11mar91,jaa	 documentation cleanup.01x,02oct90,hjb  added code to clean up raw rpc and errBuf properly in		   rpcTaskDeleteHook().01w,10may90,dnw  removed calls to individual rpc module init and delete routines		 changed to do init/delete of statics in rpcTaskInit and		   rpcTaskDeleteHook		 added rpcErrnoGet()01v,19apr90,hjb  deleted references to bindresvportInit and associated module		 statics.01u,15apr90,jcf  changed portmapd name to tPortmapd		 made module statics referenced via macro thru taskIdCurrent.01t,07mar90,jdi  documentation cleanup.01s,27oct89,hjb  added bindresvport handling to the rpcTaskInit () and		 rpcTaskDeleteHook ().01r,23jul89,gae  removed explicit NFS cleanup -- now done with taskDeleteHook.01q,23apr89,gae  rpcDeleteHook now invokes each rpc facility's cleanup routine.		 Removed documentation on callrpc's failings -- fixed.		 changed rpcTaskInit to not bother passing the module list.01p,08apr89,dnw  changed rpcInit() to call taskVarInit().		 changed rpcInit() to remember if init has already been done.01o,26mar89,llk  added a call to nfsClientCacheCleanUp in rpcTaskDeleteHook.01n,30jun88,llk  moved rpcClntErrnoSet() here from nfsLib.01m,22jun88,dnw  name tweaks.01l,06jun88,dnw  changed taskSpawn/taskCreate args.01k,30may88,dnw  changed to v4 names.01j,13apr88,gae  lint, documentation, changed parm. to taskVar{Add,Del}().		 fixed portmapd to run at priority 100.  Made rpcTaskExit()		 local and made it become automatic as a task delete hook.		 checked for valid nfsClientCache in rpcTaskExit().01j,19apr88,llk  added nfsClientCache field to taskModuleList.01i,30mar88,rdc  beefed up documentation.01h,22feb88,jcf  made kernel independent.01g,29dec87,rdc  rpcTaskInit now checks to see if it has already been called.01f,13dec87,rdc  added rpcTaskExit.01e,04dec87,rdc  removed perror (now in unixLib.c).01d,05nov87,dnw  moved definition of taskModuleList here from rpcGbl.h.01c,23oct87,dnw  changed rpcInit to rpcTaskInit.		 added new rpcInit that initializes overall rpc facilities.01b,14oct87,rdc	 added perror and abort.01a,04oct87,rdc	 written.*//*This library supports Sun Microsystems' Remote Procedure Call (RPC)facility.  RPC provides facilities for implementing distributedclient/server-based architectures.  The underlying communication mechanismcan be completely hidden, permitting applications to be written withoutany reference to network sockets.  The package is structured such thatlower-level routines can optionally be accessed, allowing greater controlof the communication protocols.For more information and a tutorial on RPC, see Sun Microsystems'.I "Remote Procedure Call Programming Guide."For an example of RPC usage, see `/target/unsupported/demo/sprites'.The RPC facility is enabled when INCLUDE_RPC is defined.VxWorks supports Network File System (NFS), which is builton top of RPC.  If NFS is configured into the VxWorks system,RPC is automatically included as well.IMPLEMENTATIONA task must call rpcTaskInit() before making any calls to otherroutines in the RPC library.  This routine creates task-specific datastructures required by RPC.  These task-specific data structures areautomatically deleted when the task exits.Because each task has its own RPC context, RPC-related objects (such asSVCXPRTs and CLIENTs) cannot be shared among tasks; objects created by onetask cannot be passed to another for use.  Such additional objects mustbe explicitly deleted (for example, using task deletion hooks).INCLUDE FILES: rpc.hSEE ALSO: nfsLib, nfsDrv, Sun Microsystems'.I "Remote Procedure Call Programming Guide"*/#include "vxWorks.h"#include "rpc/rpctypes.h"#include "rpc/rpcGbl.h"#include "taskLib.h"#include "taskHookLib.h"#include "stdlib.h"#include "unistd.h"#include "string.h"#include "stdio.h"#include "errnoLib.h"#include "rpc/portmap.h"#include "memPartLib.h"int portmapdId;int portmapdPriority  = 54;int portmapdOptions   = VX_SUPERVISOR_MODE | VX_UNBREAKABLE;#if       (CPU_FAMILY!=I960) && (CPU_FAMILY!=SIMHPPA)int portmapdStackSize = 10000;#else	/* CPU_FAMILY!=I960 */int portmapdStackSize = 30000;#endif	/* CPU_FAMILY!=I960 *//* forward static functions */static void rpcTaskDeleteHook (WIND_TCB *pTcb);/********************************************************************************* rpcInit - initialize the RPC package** This routine must be called before any task can use the RPC facility; * it spawns the portmap daemon.  It is called automatically if INCLUDE_RPC* is defined.** VXWORKS AE PROTECTION DOMAINS* Under VxWorks AE, you can call this function from within the kernel * protection domain only.  This restriction does not apply under non-AE * versions of VxWorks.  ** RETURNS: OK, or ERROR if the portmap daemon cannot be spawned.*/STATUS rpcInit (void)    {    static BOOL rpcInitialized = FALSE;		/* TRUE = rpc inited */    if (!rpcInitialized)	{	/* spawn the portmap daemon */	portmapdId = taskSpawn ("tPortmapd", portmapdPriority,				portmapdOptions, portmapdStackSize,				(FUNCPTR)portmapd, 0, 0, 0, 0, 0, 0,                                0, 0, 0, 0);	if (portmapdId == ERROR)	    return (ERROR);	rpcInitialized = TRUE;	}    /*     * the following is to drag in the rest of rpc     */    clnt_genericInclude ();    clnt_rawInclude ();    clnt_simpleInclude ();    pmap_getmapsInclude ();    svc_rawInclude ();    svc_simpleInclude ();    xdr_floatInclude ();    return (OK);    }/********************************************************************************* rpcTaskInit - initialize a task's access to the RPC package** This routine must be called by a task before it makes any calls to* other routines in the RPC package.** VXWORKS AE PROTECTION DOMAINS* Under VxWorks AE, you can call this function from within the kernel * protection domain only.  This restriction does not apply under non-AE * versions of VxWorks.  ** RETURNS: OK, or ERROR if there is insufficient memory or the routine is* unable to add a task delete hook.*/STATUS rpcTaskInit (void)    {    static BOOL rpcInstalled = FALSE;    FAST RPC_STATICS *pRpcStatics;    if (!rpcInstalled)	{	if (taskDeleteHookAdd ((FUNCPTR)rpcTaskDeleteHook) == ERROR)	    return (ERROR);	rpcInstalled = TRUE;	}    /* if rpcTaskInit has already been called for this task,     * the RpcStatics pointer will already be filled in     */   if (taskRpcStatics != NULL)	return (OK);    /* allocate the structure of rpc statics */    pRpcStatics = (RPC_STATICS *) KHEAP_ALLOC(sizeof(RPC_STATICS));    if (pRpcStatics == NULL)	return (ERROR);    bzero ((char *)pRpcStatics, sizeof(RPC_STATICS));    taskRpcStatics = pRpcStatics;	/* set pointer in tcb */    /* initialize clnt_simple statics */    pRpcStatics->clnt_simple.socket = RPC_ANYSOCK;    return (OK);    }/********************************************************************************* rpcTaskDeleteHook - deallocate RPC resources of exiting task** This routine is the task delete hook for tasks using the RPC package.* It is installed by rpcTaskInit.*/LOCAL void rpcTaskDeleteHook    (    WIND_TCB *pTcb      /* pointer to control block of exiting task */    )    {#ifdef _WRS_VXWORKS_5_X    FAST RPC_STATICS *pRpcStatics = pTcb->pRPCModList;#else    FAST RPC_STATICS *pRpcStatics = pTcb->pLcb->pRPCModList;#endif /* _WRS_VXWORKS_5_X */        FAST int sock;    RPC_STATICS      *pDeleterStatics;    if (pRpcStatics == NULL)	return;				/* task didn't use RPC */    pDeleterStatics = taskRpcStatics;	/* Save deleters RPC vars pointer */    taskRpcStatics  = pRpcStatics;      /* Use victims RPC vars pointer */    /* clnt_simple.c cleanup */    if (pRpcStatics->clnt_simple.client != NULL)	clnt_destroy (pRpcStatics->clnt_simple.client);    if (pRpcStatics->clnt_simple.socket > 0)	close (pRpcStatics->clnt_simple.socket);    /* svc.c cleanup */    /* close open sockets and allocated memory space for     * this server transport since VxWorks doesn't close     * the descriptors automatically when a task is terminated.     */    for (sock = 0; sock < FD_SETSIZE; sock++)	{	SVCXPRT *xprt = pRpcStatics->svc.xports [sock];	/* is the socket registered? */	if (xprt != NULL)	    svc_destroy (xprt);	}    /* raw cleanup */    if (pRpcStatics->clnt_raw != NULL)        (*(pRpcStatics->clnt_rawExit)) ();    if (pRpcStatics->svc_raw != NULL)        (*(pRpcStatics->svc_rawExit)) ();    /* error buffer cleanup */    if (pRpcStatics->errBuf != NULL)        KHEAP_FREE(pRpcStatics->errBuf);    /* free the rpc statics */    KHEAP_FREE((char *) pRpcStatics);    taskRpcStatics = pDeleterStatics;  /* Restore deleters RPC vars pointer */    }/******************************************************************************** rpcClntErrnoSet - set RPC client status** rpcClntErrnoSet calls errnoSet with the given "rpc stat" or'd with the* rpc status prefix.** NOMANUAL*/void rpcClntErrnoSet    (    enum clnt_stat status    )    {    errnoSet (M_rpcClntStat | (int) status);    }/******************************************************************************** rpcErrnoGet - get RPC errno status** This function returns the errno the way rpc code expects to see it, namely* without the rpc status prefix in the upper word.** NOMANUAL*/int rpcErrnoGet (void)    {    return (errnoGet () & 0xffff);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆成人久久精品二区三区小说| 91美女在线视频| 日本91福利区| 国产麻豆成人传媒免费观看| 久久99国产精品免费网站| 国产精品一二三四五| a在线播放不卡| 在线观看日韩精品| 欧美日韩一级二级| 欧美一区二区在线视频| 亚洲精品在线网站| 一区二区欧美国产| 精品一区二区在线免费观看| 成人免费视频视频在线观看免费| 成人晚上爱看视频| 日韩欧美国产一区在线观看| 国产欧美日韩精品一区| 午夜精品123| 色综合天天视频在线观看| 欧美精品视频www在线观看 | 亚洲国产日韩在线一区模特| 欧美a一区二区| 欧美性色黄大片手机版| 国产精品色哟哟网站| 亚洲三级久久久| 国产激情视频一区二区在线观看 | 精品一区二区三区免费毛片爱| 成人精品在线视频观看| 日本一区二区综合亚洲| 精品制服美女久久| 久久夜色精品国产欧美乱极品| 亚洲高清免费在线| 欧美精品色综合| 免费成人你懂的| 欧美电视剧免费全集观看| 亚洲va欧美va人人爽| 欧美日韩电影在线| 日韩vs国产vs欧美| 欧美色国产精品| 亚洲男人天堂av| 色8久久精品久久久久久蜜| 亚洲欧美中日韩| 色综合久久99| 日本免费在线视频不卡一不卡二| 欧美另类videos死尸| 久久激情五月激情| 久久久国产精品麻豆| 在线免费一区三区| 日韩国产在线观看一区| 日本一区二区久久| 在线看一区二区| 国产专区综合网| 亚洲va国产va欧美va观看| 久久久99精品久久| 欧美午夜电影一区| 成人av第一页| 国产一区二区三区免费播放 | 精品第一国产综合精品aⅴ| 国产在线国偷精品免费看| 亚洲欧美电影一区二区| 久久精品夜色噜噜亚洲a∨| 欧美色成人综合| 91在线视频18| 国产成人精品网址| 三级在线观看一区二区| 亚洲精品乱码久久久久久黑人| 精品国产一区久久| 制服丝袜国产精品| 日韩一区二区三区视频在线| 欧美三电影在线| 欧美美女直播网站| 欧美剧在线免费观看网站| 欧美性猛交xxxxxx富婆| 色婷婷av一区二区三区之一色屋| 精品一区二区av| 国产精品亚洲第一| 97超碰欧美中文字幕| 色综合久久中文字幕综合网| 狠狠色狠狠色综合| 99久久综合国产精品| 色婷婷综合久久久中文字幕| 色综合天天综合网天天狠天天| 色综合激情五月| 欧美一区二区精品| 国产精品乱人伦| 亚洲成人tv网| 福利视频网站一区二区三区| www.欧美色图| 欧美精品高清视频| 国产欧美一区二区精品仙草咪| 国产精品国产自产拍高清av| 亚洲成人手机在线| www.亚洲国产| xvideos.蜜桃一区二区| 亚洲男人天堂av网| 国产成人亚洲综合a∨婷婷图片| 欧洲精品视频在线观看| 日韩欧美一级二级| 一区二区三区在线视频免费| 午夜影院久久久| 91小视频免费观看| 欧美国产精品v| 国产麻豆日韩欧美久久| 日韩一本二本av| 蜜桃精品在线观看| 欧美在线免费播放| 一区二区三区国产精华| 99精品久久免费看蜜臀剧情介绍| 欧美精品一区二区在线播放| 丝袜a∨在线一区二区三区不卡| 色噜噜狠狠一区二区三区果冻| 欧美韩国日本不卡| 91影院在线观看| 亚洲一区在线电影| 5月丁香婷婷综合| 日本不卡视频在线| 欧美国产欧美亚州国产日韩mv天天看完整| 美腿丝袜亚洲一区| 欧美经典一区二区| 色综合久久综合网| 免费欧美在线视频| 国产精品无遮挡| 色婷婷亚洲一区二区三区| 亚洲精品国产a| 久久美女艺术照精彩视频福利播放 | 国产精品久久久久一区二区三区 | 国产精品妹子av| 欧美日韩综合不卡| 国产精品亚洲成人| 丝袜美腿高跟呻吟高潮一区| 精品欧美黑人一区二区三区| 成人美女在线视频| 免费av网站大全久久| 136国产福利精品导航| 精品久久久久久久人人人人传媒| 成人免费毛片片v| 蜜桃一区二区三区在线| 亚洲精品日韩专区silk| 久久久精品国产99久久精品芒果| 欧美性一区二区| bt7086福利一区国产| www.欧美色图| 亚洲第一激情av| 国产精品久久久久久一区二区三区| 欧美老肥妇做.爰bbww视频| 91在线精品秘密一区二区| 国产传媒日韩欧美成人| 麻豆免费看一区二区三区| 五月激情综合网| 秋霞国产午夜精品免费视频| 丝袜美腿亚洲一区| 韩国v欧美v亚洲v日本v| 黄页网站大全一区二区| 国产精品自拍毛片| 成人黄色av网站在线| 91亚洲国产成人精品一区二区三 | 26uuu亚洲综合色| wwwwww.欧美系列| 中文字幕精品在线不卡| 亚洲色图欧美激情| 青青国产91久久久久久| 国产高清在线精品| 精品亚洲成a人| 国产成人综合在线播放| 99re6这里只有精品视频在线观看| 99re在线视频这里只有精品| 欧美男生操女生| 中文一区二区在线观看| 一区二区久久久| 韩日欧美一区二区三区| 欧美亚洲一区二区三区四区| 欧美一个色资源| 亚洲婷婷在线视频| 韩国三级在线一区| 欧美日韩免费高清一区色橹橹 | 99视频在线观看一区三区| 91精品福利视频| 欧美国产成人在线| 国产一区二区三区| 欧美一级xxx| 日韩精品乱码av一区二区| 97久久人人超碰| 国产精品久久久一本精品| 国产一区二区91| 久久综合国产精品| 成人中文字幕电影| 日韩一区二区不卡| 亚洲欧美一区二区三区国产精品| 久久91精品国产91久久小草| 欧美精品视频www在线观看| 午夜av区久久| 欧美日韩一区高清| 男男gaygay亚洲| 欧美电影免费观看高清完整版在线观看| 亚洲愉拍自拍另类高清精品| 欧美性高清videossexo| 青娱乐精品在线视频| 国产精品丝袜91| 欧美在线观看一区| 久久精品国产澳门|