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

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

?? rpclib.c

?? vxwork源代碼
?? 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一区二区三区免费野_久草精品视频
欧美体内she精高潮| 日本乱人伦aⅴ精品| 26uuu精品一区二区| 国产+成+人+亚洲欧洲自线| bt7086福利一区国产| 国产午夜三级一区二区三| 91麻豆精品国产91久久久久| 91亚洲永久精品| 国产成人综合在线观看| 高清国产一区二区三区| 国产高清成人在线| 成人深夜福利app| 91麻豆精东视频| 91小视频在线免费看| 色成人在线视频| 欧美亚洲一区三区| 制服.丝袜.亚洲.另类.中文| 日韩丝袜情趣美女图片| 日韩欧美中文字幕制服| 久久综合色播五月| 日本一区中文字幕| 免费看欧美美女黄的网站| 国产精品理论在线观看| 久久久久久久久久电影| 久久亚洲免费视频| 综合久久给合久久狠狠狠97色 | 日韩欧美电影一区| www成人在线观看| 国产精品欧美一区二区三区| 亚洲精品菠萝久久久久久久| 日韩高清不卡在线| 国产一区二区主播在线| 色94色欧美sute亚洲13| 欧美在线观看视频一区二区三区| 欧美一区二区在线不卡| 国产视频一区在线播放| 午夜精品aaa| 国产福利一区二区三区| 欧美国产禁国产网站cc| 中文字幕中文乱码欧美一区二区| 日韩精品一区二区在线| 久久精品亚洲乱码伦伦中文| 国产精品一区二区免费不卡| 性久久久久久久| 中文字幕一区二区三区在线播放| 99久久久国产精品| 欧美综合一区二区三区| 久久在线观看免费| 亚洲图片欧美色图| 国产成人精品一区二区三区四区| 欧美日韩精品免费观看视频| 中文字幕 久热精品 视频在线| 日韩av一级片| 在线一区二区三区四区五区 | 欧美一区二区三区免费| 久久精品视频免费| 久久国产人妖系列| 欧美三级午夜理伦三级中视频| 国产日韩欧美制服另类| 免费在线观看一区二区三区| 色综合视频一区二区三区高清| 国产欧美一区二区精品婷婷| 蜜桃视频在线观看一区| 在线观看不卡一区| 一区二区三区自拍| 91小视频免费观看| 国产精品国产三级国产aⅴ入口| 精彩视频一区二区三区| 欧美哺乳videos| 日本美女视频一区二区| 欧美剧情电影在线观看完整版免费励志电影| 亚洲欧洲成人精品av97| 国产黄人亚洲片| 久久精品无码一区二区三区 | 3atv在线一区二区三区| 中文字幕亚洲一区二区va在线| 国产福利一区二区三区| 久久青草欧美一区二区三区| 久草这里只有精品视频| 日韩一级片网站| 亚洲国产精品麻豆| 91精品免费在线| 久久国产婷婷国产香蕉| 久久天堂av综合合色蜜桃网| 国产二区国产一区在线观看| 国产亚洲欧美日韩在线一区| 国产精品夜夜嗨| 国产精品美女视频| 欧美中文字幕亚洲一区二区va在线 | 亚洲va韩国va欧美va精品 | 肉色丝袜一区二区| 日韩一区二区免费在线观看| 国产一区二三区| 亚洲视频中文字幕| 欧美日韩精品免费| 国产综合色产在线精品| 国产精品久久99| 欧美日韩视频专区在线播放| 捆绑调教一区二区三区| 亚洲国产精品99久久久久久久久 | 国内不卡的二区三区中文字幕| 国产亚洲欧美一区在线观看| 91蜜桃婷婷狠狠久久综合9色| 亚洲a一区二区| 久久久久久电影| 在线免费观看日本一区| 精品一区二区三区久久久| 中文幕一区二区三区久久蜜桃| 成人97人人超碰人人99| 日本在线播放一区二区三区| 欧美不卡123| 99re66热这里只有精品3直播 | 日韩欧美自拍偷拍| 青椒成人免费视频| 国产精品视频观看| 欧美男男青年gay1069videost| 国产在线一区观看| 亚洲一区在线观看免费观看电影高清| 日韩一区二区三区观看| 97超碰欧美中文字幕| 日韩精品成人一区二区在线| 国产精品丝袜久久久久久app| 欧美日韩久久久| 国产很黄免费观看久久| 亚洲一区在线观看免费观看电影高清| 精品国产凹凸成av人网站| 欧美午夜精品理论片a级按摩| 久久av资源网| 午夜免费欧美电影| 亚洲日本免费电影| 精品国产青草久久久久福利| 欧美三级日韩三级国产三级| 本田岬高潮一区二区三区| 男女激情视频一区| 亚洲精品国产一区二区三区四区在线| 亚洲一二三专区| 欧美成人精品福利| 欧美视频一区在线| www.亚洲在线| 国产999精品久久久久久绿帽| 日本欧美肥老太交大片| 香蕉乱码成人久久天堂爱免费| 亚洲人吸女人奶水| 国产精品二区一区二区aⅴ污介绍| 久久久久久久久久久久久久久99| 日韩小视频在线观看专区| 欧美日韩中文另类| 欧美色偷偷大香| 欧美午夜精品一区| 在线电影院国产精品| 欧美剧在线免费观看网站| 欧美片在线播放| 欧美一区二区视频网站| 91精品久久久久久蜜臀| 日韩美女主播在线视频一区二区三区| 欧美一区二区播放| 日韩欧美在线观看一区二区三区| 这里只有精品电影| 日韩视频一区二区三区在线播放| 欧美国产精品v| 天堂在线一区二区| 久久久久国产精品麻豆| 欧美国产亚洲另类动漫| 中文一区一区三区高中清不卡| 国产蜜臀av在线一区二区三区| 国产日产欧美精品一区二区三区| 欧美国产一区视频在线观看| 日本一区二区三区在线不卡| 中文字幕日韩欧美一区二区三区| 亚洲色图丝袜美腿| 五月激情六月综合| 激情综合色播五月| 国产91精品一区二区麻豆网站 | 亚洲一区国产视频| 日韩一区精品视频| 国产精品18久久久久久久久久久久 | 综合av第一页| 亚洲免费色视频| 国产精品亚洲第一| 精品视频在线看| 7777精品伊人久久久大香线蕉| 日韩免费性生活视频播放| 久久久久免费观看| 一区二区三区在线观看国产| 午夜精品免费在线| 国产成人午夜高潮毛片| 欧美日韩一区二区三区免费看| 精品国产1区2区3区| 亚洲欧美国产高清| 国产在线精品国自产拍免费| 91看片淫黄大片一级| 欧美mv日韩mv| 亚洲一区二区三区视频在线 | 日韩在线观看一区二区| 国产精品白丝av| 欧美一区国产二区| 亚洲欧美色图小说| 国产成人精品一区二区三区网站观看| 欧美日韩精品一区二区三区| 国产亲近乱来精品视频|