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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? classlib.c

?? 操作系統(tǒng)開發(fā),vxwork操作系統(tǒng)源代碼
?? 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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美吞精做爰啪啪高潮| 国产99久久久国产精品| 亚洲一区二区3| 一区二区成人在线视频| 一区二区三区在线播放| 亚洲女人的天堂| 亚洲视频精选在线| 一区二区三区电影在线播| 国产精品三级在线观看| 国产精品久久久久久久久搜平片 | 日韩黄色在线观看| 日日夜夜免费精品| 日本成人在线不卡视频| 久久99久久精品欧美| 老司机精品视频一区二区三区| 日本va欧美va精品发布| 日本va欧美va精品| 国模一区二区三区白浆| 国产成人午夜精品影院观看视频 | 国产·精品毛片| 成人黄色av电影| 91视频你懂的| 欧美日本一区二区三区四区| 国产欧美日韩精品一区| 亚洲国产岛国毛片在线| 亚洲精品视频在线看| 亚洲国产精品久久人人爱蜜臀| 日本欧美大码aⅴ在线播放| 韩国女主播成人在线| 国产成人精品综合在线观看| 成人午夜在线免费| 在线看不卡av| 日韩视频永久免费| 欧美国产禁国产网站cc| 一区二区三区成人| 老色鬼精品视频在线观看播放| 黄色日韩三级电影| 91免费版pro下载短视频| 欧美揉bbbbb揉bbbbb| 精品成人a区在线观看| 欧美激情在线免费观看| 一区二区三区久久| 捆绑变态av一区二区三区| 国产成人免费在线视频| 色婷婷激情久久| 日韩精品中文字幕在线不卡尤物| 中日韩免费视频中文字幕| 夜夜亚洲天天久久| 蜜桃在线一区二区三区| www.66久久| 日韩一区二区三区免费看 | 国产精品传媒入口麻豆| 亚洲成a人v欧美综合天堂 | 精品久久人人做人人爰| 亚洲欧美在线另类| 日韩av一区二区三区四区| 国产·精品毛片| 欧美情侣在线播放| 中文字幕一区二区三区四区不卡| 三级一区在线视频先锋 | 欧美午夜理伦三级在线观看| 亚洲手机成人高清视频| 美女诱惑一区二区| 色婷婷综合久久久久中文一区二区| 日韩一级黄色大片| 亚洲情趣在线观看| 国产精品一品视频| 5858s免费视频成人| 亚洲欧美怡红院| 狠狠狠色丁香婷婷综合激情 | 欧美日韩成人一区二区| 亚洲国产成人在线| 蜜桃一区二区三区在线观看| 色哟哟一区二区在线观看| 国产亚洲一区二区三区| 轻轻草成人在线| 欧美三级乱人伦电影| 国产精品白丝在线| 国产成人丝袜美腿| 精品理论电影在线| 天堂va蜜桃一区二区三区漫画版| 91麻豆精品在线观看| 亚洲国产精品成人综合色在线婷婷| 日本不卡免费在线视频| 欧美无砖砖区免费| 亚洲精品免费看| 不卡在线视频中文字幕| 精品处破学生在线二十三| 日本伊人午夜精品| 欧美狂野另类xxxxoooo| 亚洲一区二区视频| 日本乱人伦aⅴ精品| 中文字幕一区二区日韩精品绯色| 国产精品一区二区你懂的| 精品国产91乱码一区二区三区| 日韩成人一级大片| 欧美人牲a欧美精品| 亚洲观看高清完整版在线观看| 94-欧美-setu| 亚洲男人都懂的| 91理论电影在线观看| **性色生活片久久毛片| 成人美女在线视频| 国产精品久久久久久久久久久免费看| 国产乱码精品一区二区三| 26uuu亚洲| 国产91在线看| 国产欧美视频一区二区三区| 国产精品一区二区在线观看网站| 欧美精品一区视频| 狠狠色狠狠色综合系列| 日韩精品一区二区三区四区| 精品无人码麻豆乱码1区2区 | 久久久另类综合| 国产美女娇喘av呻吟久久| 国产视频亚洲色图| 成人av免费在线| 自拍偷自拍亚洲精品播放| 91麻豆123| 亚洲国产精品一区二区久久 | 久久久欧美精品sm网站| 国产不卡视频一区二区三区| 中文字幕在线视频一区| 99v久久综合狠狠综合久久| 亚洲人成精品久久久久久| 欧美图区在线视频| 美国毛片一区二区| 久久综合九色综合欧美98| 国产成人在线网站| 亚洲精选免费视频| 7777精品久久久大香线蕉 | 日韩免费观看2025年上映的电影| 韩国欧美一区二区| 亚洲欧洲日韩女同| 欧美探花视频资源| 国产在线不卡一区| 91欧美激情一区二区三区成人| 国产综合色在线视频区| 久草在线在线精品观看| 宅男噜噜噜66一区二区66| 国产精品理伦片| 日韩精品一区二区三区在线播放| 国产自产视频一区二区三区| 国产精品伦理一区二区| 欧美影院一区二区| 国产在线观看一区二区| 日韩理论电影院| 欧美久久一二区| 国产精品亚洲人在线观看| 久久99久久99小草精品免视看| 欧美国产激情二区三区| 在线不卡免费av| 成人综合在线网站| 日韩高清欧美激情| 国产精品午夜久久| 在线电影院国产精品| 成人免费毛片高清视频| 香蕉乱码成人久久天堂爱免费| xnxx国产精品| 91丨porny丨最新| 蜜桃视频免费观看一区| 国产精品嫩草影院com| 91麻豆精品国产无毒不卡在线观看 | 欧美亚洲精品一区| 国产一区二区三区观看| 一区二区三区欧美亚洲| 久久午夜免费电影| 欧美日韩亚洲国产综合| 成人禁用看黄a在线| 青青草国产精品97视觉盛宴 | 成人伦理片在线| 看电影不卡的网站| 亚洲一区二区偷拍精品| 久久久www成人免费毛片麻豆| 欧美日韩高清一区二区| 99国产精品99久久久久久| 国产一区二区三区免费播放| 亚洲成人高清在线| 亚洲欧美二区三区| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美午夜不卡视频| 91蜜桃网址入口| 风流少妇一区二区| 极品少妇一区二区| 日韩电影在线观看网站| 一区二区不卡在线视频 午夜欧美不卡在| 久久综合九色综合欧美就去吻| 6080国产精品一区二区| 欧美性受xxxx黑人xyx| 播五月开心婷婷综合| 国产一区二区剧情av在线| 蜜桃av一区二区三区| 亚洲第一精品在线| 亚洲第一主播视频| 一区二区三国产精华液| 亚洲日本青草视频在线怡红院| 中文字幕欧美区| 国产亚洲欧美日韩日本| 久久九九久精品国产免费直播| 精品国产青草久久久久福利|