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

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

?? classlib.c

?? vxworks的完整的源代碼
?? C
字號:
/* classLib.c - VxWorks object class management library *//* Copyright 1984-1992 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01n,12mar99,c_c  Doc: fixed SPR #7353.01m,21feb99,jdi  doc: listed errno for classDestroy().01l,24jun96,sbs  made windview instrumentation conditionally compiled01k,14dec93,smb  corrected initRtn of inst class to point to non-inst class01j,10dec93,smb  added instrumentation01i,04jul92,jcf  private header files.01h,26may92,rrr  the tree shuffle01g,04oct91,rrr  passed through the ansification filter                  -changed functions to ansi style		  -changed includes to have absolute path from h/		  -changed copyright notice01f,28sep90,jcf   documentation.01e,18jul90,jcf   validate partition in classMemPartIdSet().01d,17jul90,dnw   changed to new objAlloc() call01c,10jul90,jcf   documentation.01b,26jun90,jcf   added objAlloc()/objFree().		  added object create/delete/init/terminate counting.		  fixed class object core initialization.01a,14feb90,jcf   written.*//*DESCRIPTIONThis library contains class object management routines.  Classes of objectscontrol object methods suchas creation, initialization, deletion, andtermination.Many objects in VxWorks are managed with class organization.  These includetasks, semaphores, watchdogs, memory partitions, symbol tables, hash tables,message queues, and, recursively, classes themselves.INCLUDE FILE: classLib.hSEE ALSO: objLib(1).NOMANUAL*/#include "vxWorks.h"#include "classLib.h"#include "objLib.h"#include "intLib.h"#include "errno.h"#include "private/memPartLibP.h"#include "private/eventP.h"	/* locals */LOCAL OBJ_CLASS classClass;/* globals */CLASS_ID classClassId = &classClass;/********************************************************************************* classLibInit - initialize the class support library** This routine initializes the class management package.** NOMANUAL*/STATUS classLibInit (void)    {    classInit (classClassId, sizeof (OBJ_CLASS), OFFSET (OBJ_CLASS, objCore),	       (FUNCPTR) classCreate, (FUNCPTR) classInit,	       (FUNCPTR) classDestroy);    return (OK);    }/********************************************************************************* classCreate - allocate and initialize an object class** This routine allocates a OBJ_CLASS structure, and initializes it with* the specified parameters.** RETURNS: Pointer to a class id, or NULL if allocation failed.*/CLASS_ID classCreate    (    unsigned    objectSize,     /* size of object */    int         coreOffset,     /* offset from objCore to object start */    FUNCPTR     createRtn,      /* object creation routine */    FUNCPTR     initRtn,        /* object initialization routine */    FUNCPTR     destroyRtn      /* object destroy routine */    )    {    CLASS_ID classId = (CLASS_ID) objAlloc (classClassId);    if (classId != NULL)	classInit (classId, objectSize, coreOffset, createRtn, initRtn,		   destroyRtn);    return (classId);				/* return initialized class */    }/********************************************************************************* classInit - initialize an object class** This routine initializes the specified OBJ_CLASS structure with the* specified parameters.** RETURNS: OK.*/STATUS classInit    (    OBJ_CLASS   *pObjClass,     /* pointer to object class to initialize */    unsigned    objectSize,     /* size of object */    int         coreOffset,     /* offset from objCore to object start */    FUNCPTR     createRtn,      /* object creation routine */    FUNCPTR     initRtn,        /* object initialization routine */    FUNCPTR     destroyRtn      /* object destroy routine */    )    {    /* default memory partition is system partition */    pObjClass->objPartId	= memSysPartId;	/* partition to allocate from */    pObjClass->objSize		= objectSize;	/* record object size */    pObjClass->objAllocCnt	= 0;		/* initially no objects */    pObjClass->objFreeCnt	= 0;		/* initially no objects */    pObjClass->objInitCnt	= 0;		/* initially no objects */    pObjClass->objTerminateCnt	= 0;		/* initially no objects */    pObjClass->coreOffset	= coreOffset;	/* set offset from core */    /* initialize object methods */    pObjClass->createRtn	= createRtn;	/* object creation routine */    pObjClass->initRtn		= initRtn;	/* object init routine */    pObjClass->destroyRtn	= destroyRtn;	/* object destroy routine */    pObjClass->showRtn		= NULL;		/* object show routine */    pObjClass->instRtn		= NULL;		/* object inst routine */    /* initialize class as valid object */    objCoreInit (&pObjClass->objCore, classClassId);    return (OK);    }/********************************************************************************* classDestroy - destroy class** Class destruction is not currently supported.** RETURNS: ERROR always.** ERRNO:* S_classLib_NO_CLASS_DESTROY** ARGSUSED*/STATUS classDestroy    (    CLASS_ID classId    /* object class to terminate */    )    {    errno = S_classLib_NO_CLASS_DESTROY;    return (ERROR);    }/********************************************************************************* classShowConnect - connect an arbitrary show routine to an object class** This routine is used to attach an arbitrary show routine to an object class.* The specified routine will be invoked by objShow().** RETURNS: OK, or ERROR if invalid class.*/STATUS classShowConnect    (    CLASS_ID    classId,        /* object class to attach show routine to */    FUNCPTR     showRtn         /* object show routine */    )    {    if (OBJ_VERIFY (classId, classClassId) != OK)	return (ERROR);    classId->showRtn = showRtn;			/* attach inst routine */#ifdef WV_INSTRUMENTATION    /* windview     * Attach showRtn to instrumented class. If the classId is non-instrumented     * then initRtn will point to the instrumented class and vica versa.      */    if ((wvInstIsOn) && (classId->initRtn != (FUNCPTR) NULL))   	{	((CLASS_ID) (classId->initRtn))->showRtn = showRtn;	}#endif    return (OK);    }#ifdef WV_INSTRUMENTATION/********************************************************************************* classInstConnect - connect an arbitrary instrument routine to an object class** This routine is used to attach an instrument routine to an object * class. ** RETURNS: OK, or ERROR if invalid class.* NOMANUAL*/STATUS classInstConnect    (    CLASS_ID    classId,        /* object class to attach inst routine to */    FUNCPTR     instRtn         /* object inst routine */    )    {    if (OBJ_VERIFY (classId, classClassId) != OK)	return (ERROR);    classId->instRtn = instRtn;			/* attach inst routine */    return (OK);    }#else/********************************************************************************* classHelpConnect - connect an arbitrary help routine to an object class** This routine is used to attach an arbitrary help routine to an object class.* The specified routine will be invoked by objHelp().** RETURNS: OK, or ERROR if invalid class.*/STATUS classHelpConnect    (    CLASS_ID    classId,        /* object class to attach help routine to */    FUNCPTR     helpRtn         /* object help routine */    )    {     if (OBJ_VERIFY (classId, classClassId) != OK)	return (ERROR);    classId->instRtn = helpRtn;                 /* attach help routine */				         return (OK);    }#endif/********************************************************************************* classMemPartIdSet - set the object class memory allocation partition** This routine is used to change an object class memory allocation partition* from its default of the system memory pool to the specified partition.  The* routine objAlloc() utilizes this partition as the basis for its allocation.** RETURNS: OK, or ERROR if invalid class, or memory partition.*/STATUS classMemPartIdSet    (    CLASS_ID    classId,        /* object class to set memory partition for */    PART_ID     memPartId       /* partition id to allocate objects from */    )    {    if ((OBJ_VERIFY (classId, classClassId) != OK) ||        (OBJ_VERIFY (memPartId, memPartClassId) != OK))	return (ERROR);    classId->objPartId = memPartId;		/* set partition id */    return (OK);    }#ifdef WV_INSTRUMENTATION/********************************************************************************* classInstrument - initialize the instrumented class ** This routine initializes the instrumented class** NOMANUAL*/STATUS classInstrument     (    OBJ_CLASS * pObjClass,     OBJ_CLASS * pObjInstClass    )    {    if (OBJ_VERIFY (pObjClass, classClassId) != OK) 	return (ERROR);    pObjInstClass->objPartId       = memSysPartId;    pObjInstClass->objSize         = pObjClass->objSize;    pObjInstClass->objAllocCnt     = 0;    pObjInstClass->objFreeCnt      = 0;    pObjInstClass->objInitCnt      = 0;    pObjInstClass->objTerminateCnt = 0;    pObjInstClass->coreOffset      = pObjClass->coreOffset;    /* initialize object methods */    pObjInstClass->createRtn       = pObjClass->createRtn;    pObjInstClass->initRtn         = pObjClass;    pObjInstClass->destroyRtn      = pObjClass->destroyRtn;    pObjInstClass->showRtn         = NULL;    pObjInstClass->instRtn         = (FUNCPTR) _func_evtLogOIntLock;    /* initialize class as valid object */    objCoreInit (&pObjInstClass->objCore, classClassId);    return (OK);    }#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕精品一区二区精品绿巨人 | 不卡的av电影在线观看| 亚洲日本va午夜在线影院| 欧美精品日日鲁夜夜添| 国产成a人亚洲| 国产在线精品不卡| 亚洲视频一区二区免费在线观看| 日韩欧美在线网站| 6080国产精品一区二区| 欧美在线观看视频一区二区三区| 国产iv一区二区三区| 青青草原综合久久大伊人精品| 亚洲欧美另类图片小说| 国产精品热久久久久夜色精品三区| 欧美va天堂va视频va在线| 欧美精品在线一区二区三区| 岛国av在线一区| 国产激情视频一区二区三区欧美| 蓝色福利精品导航| 久久不见久久见免费视频1| 亚洲在线中文字幕| 亚洲一区二区五区| 亚洲高清视频在线| 日韩不卡一区二区| 精品一区二区三区免费毛片爱 | 精品一区二区三区在线观看| 奇米影视一区二区三区| 日韩成人免费电影| 精品一区二区国语对白| 国产经典欧美精品| 色综合天天做天天爱| 欧美日韩专区在线| 91精品黄色片免费大全| 久久久久久久久一| 中文字幕视频一区| 亚洲一区二区精品3399| 亚洲成人自拍网| 亚洲主播在线播放| 久久精品国产免费| 国产suv精品一区二区三区| 99久久99久久久精品齐齐| 成人av电影在线网| 欧美日韩一区二区三区四区| 日韩一卡二卡三卡| 日韩毛片视频在线看| 一区在线播放视频| 婷婷激情综合网| 国产99久久精品| 欧美二区在线观看| 久久久久久久久99精品| 久久久久97国产精华液好用吗| 中文字幕一区二区三区在线不卡| 亚洲国产一区二区a毛片| 免费观看在线综合| 91丨国产丨九色丨pron| 欧美日本国产视频| 欧美一级一区二区| 国产精品成人免费在线| 亚洲综合一区在线| 国产精品小仙女| 欧美日韩国产一二三| 国产精品剧情在线亚洲| 婷婷开心激情综合| 国产精品一区二区三区网站| 蜜臀久久99精品久久久久久9 | 欧美一级xxx| 久久综合久久久久88| 国产午夜久久久久| 视频一区二区国产| 欧美精品一区二区蜜臀亚洲| 亚洲综合精品久久| 亚洲在线成人精品| 久久精品久久久精品美女| 色噜噜狠狠色综合欧洲selulu| 国产日韩v精品一区二区| 秋霞午夜鲁丝一区二区老狼| 99久久久免费精品国产一区二区| 欧美日韩国产成人在线免费| 1区2区3区精品视频| 国产一区二区三区免费观看| 欧美久久高跟鞋激| 亚洲靠逼com| 国产福利91精品| 精品国内片67194| 精品一区二区三区香蕉蜜桃| 91老司机福利 在线| 亚洲午夜在线视频| 欧美三级蜜桃2在线观看| 一区二区不卡在线播放 | 亚洲视频一区二区在线| 91香蕉视频在线| 国产精品麻豆欧美日韩ww| 狠狠v欧美v日韩v亚洲ⅴ| 日韩一区二区精品葵司在线| 美女www一区二区| 久久综合色之久久综合| 国产精品综合网| 中文字幕久久午夜不卡| 99re热这里只有精品免费视频| 国产亚洲成av人在线观看导航 | 大桥未久av一区二区三区中文| 欧美亚洲一区二区在线观看| 国产日产亚洲精品系列| 色八戒一区二区三区| 亚洲制服丝袜在线| 91精品欧美一区二区三区综合在| 蜜臂av日日欢夜夜爽一区| 日韩欧美国产系列| 国产一区二区h| 日韩一区日韩二区| 色嗨嗨av一区二区三区| 午夜国产精品影院在线观看| 欧美视频一区二区三区| 日韩激情视频网站| 久久精品这里都是精品| jizzjizzjizz欧美| 亚洲国产欧美在线| 欧美成人精品二区三区99精品| 国产成人在线观看| 亚洲人成电影网站色mp4| 欧美中文字幕不卡| 韩国精品主播一区二区在线观看| 国产欧美日韩在线| 欧美日韩国产精选| 国产成人午夜高潮毛片| 亚洲欧美日韩国产中文在线| 欧美一级电影网站| 国内精品免费**视频| 首页综合国产亚洲丝袜| 欧美国产亚洲另类动漫| 在线视频观看一区| 国产99精品在线观看| 亚洲国产一区二区三区青草影视| 欧美大片日本大片免费观看| 成人福利电影精品一区二区在线观看| 亚洲国产综合视频在线观看| 国产亚洲美州欧州综合国| 岛国一区二区三区| 久久精品国产久精国产| 一区二区三区毛片| 久久久激情视频| 国产网红主播福利一区二区| 欧美日韩国产在线观看| 99国产精品99久久久久久| 久久不见久久见中文字幕免费| 一区二区三区中文免费| 国产欧美1区2区3区| 日韩欧美国产一二三区| 粉嫩嫩av羞羞动漫久久久| 日韩在线一区二区| 亚洲精品写真福利| 日本一区二区三级电影在线观看 | 一区二区三区成人在线视频| 亚洲欧美中日韩| 亚洲国产精品传媒在线观看| 国产精品天美传媒| 久久综合九色综合久久久精品综合| 欧美日本在线一区| 成人午夜av影视| 成人激情校园春色| 成人福利电影精品一区二区在线观看| 日本亚洲最大的色成网站www| 一区二区三区在线播放| 亚洲视频在线观看一区| 国产精品午夜在线| 国产精品乱码人人做人人爱| 欧美午夜精品一区二区蜜桃| 一本到不卡免费一区二区| 91浏览器打开| 欧美影院精品一区| 在线看一区二区| 91丨九色porny丨蝌蚪| 久久99国产精品麻豆| 国产米奇在线777精品观看| 国产精品综合二区| 国产suv精品一区二区6| 成人97人人超碰人人99| 国产一区二区久久| 一本久道久久综合中文字幕| 欧美综合一区二区| 欧美电影在哪看比较好| 日韩一级黄色片| 日韩欧美123| 中文一区在线播放| 中文字幕在线播放不卡一区| 亚洲一区二区黄色| 狠狠色狠狠色合久久伊人| 国内精品国产成人| 99麻豆久久久国产精品免费| 91福利国产精品| 日韩欧美123| 亚洲一区二区美女| 精品一区二区三区在线播放视频| 国产精品一卡二卡| 91在线高清观看| 欧美丝袜丝交足nylons| 精品999在线播放| 日韩理论在线观看| 亚洲午夜精品在线| 久久国产精品99精品国产|