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

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

?? classlib.c

?? vxworks5.5.1源代碼。完整源代碼
?? 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一区二区三区免费野_久草精品视频
精品伦理精品一区| 在线亚洲一区观看| 一区二区理论电影在线观看| 日韩一区二区免费电影| 91色porny| 青草av.久久免费一区| 中文字幕在线不卡视频| 精品黑人一区二区三区久久| 色999日韩国产欧美一区二区| 国产精品中文字幕日韩精品| 午夜精品123| 亚洲欧洲综合另类| 欧美韩国一区二区| 日韩免费一区二区三区在线播放| 色噜噜狠狠成人网p站| 国产成人一级电影| 黑人巨大精品欧美一区| 香蕉久久夜色精品国产使用方法| 日韩毛片精品高清免费| 久久精品亚洲乱码伦伦中文| 日韩一区二区在线看| 欧美日韩一二区| 99久免费精品视频在线观看| 国产成人在线看| 九九国产精品视频| 蜜桃精品视频在线观看| 午夜电影一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了 | 久久精品免视看| 日韩欧美一区二区久久婷婷| 欧美高清一级片在线| 欧美亚洲一区二区在线观看| 色视频成人在线观看免| av电影一区二区| bt欧美亚洲午夜电影天堂| 国产成人av资源| 成人精品视频.| 成人激情黄色小说| 粉嫩绯色av一区二区在线观看 | 亚洲欧洲色图综合| 国产精品伦一区二区三级视频| 国产亚洲精品bt天堂精选| 久久精品一区八戒影视| 久久看人人爽人人| 国产日韩欧美激情| 国产精品福利一区| 亚洲欧美综合色| 亚洲欧美日本韩国| 奇米777欧美一区二区| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲线精品一区二区三区八戒| 亚洲成人资源在线| 麻豆精品视频在线| 国产成人精品www牛牛影视| 成人污视频在线观看| 91毛片在线观看| 欧美军同video69gay| 欧美成人伊人久久综合网| 久久无码av三级| 国产精品二区一区二区aⅴ污介绍| 亚洲你懂的在线视频| 亚洲成人动漫精品| 久久精品99国产国产精| 国产精品18久久久久| 成人免费看视频| 欧美系列在线观看| 日韩欧美久久一区| 国产婷婷色一区二区三区| 亚洲蜜桃精久久久久久久| 丝袜诱惑亚洲看片 | 在线观看日韩高清av| 欧美理论在线播放| 国产日韩影视精品| 亚洲欧美欧美一区二区三区| 三级不卡在线观看| 成人免费视频播放| 欧美日韩综合在线免费观看| 久久精品网站免费观看| 亚洲男同性恋视频| 韩国成人福利片在线播放| 99精品欧美一区二区三区小说| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲综合另类小说| 久久精品国产**网站演员| 99久精品国产| 日韩精品一区二区三区视频| 亚洲视频在线观看三级| 久久99国产精品成人| 91在线高清观看| 久久综合色8888| 亚洲国产另类av| 成人听书哪个软件好| 7777精品伊人久久久大香线蕉的| 国产日产欧美一区二区三区| 视频一区二区欧美| 成人短视频下载| 日韩欧美激情一区| 一区二区在线观看视频在线观看| 国产一区二区久久| 欧美另类z0zxhd电影| 日韩电影一二三区| 成人听书哪个软件好| 日韩欧美电影在线| 一区二区三区国产| 成人aa视频在线观看| 精品国免费一区二区三区| 亚洲一区二区三区在线看| 不卡的av在线| 久久人人97超碰com| 亚洲成人综合网站| 91九色最新地址| 一区视频在线播放| 成人a免费在线看| 久久久噜噜噜久久中文字幕色伊伊 | 精品捆绑美女sm三区| 亚洲3atv精品一区二区三区| 91视频www| 综合婷婷亚洲小说| 99久久综合色| 国产精品麻豆一区二区| 国产精品中文字幕日韩精品| 精品久久久久久久久久久久久久久久久| 亚洲一二三四区不卡| 91在线观看高清| 18成人在线观看| 99久久久久久99| 亚洲欧洲精品一区二区三区| 懂色av一区二区在线播放| 久久视频一区二区| 狠狠网亚洲精品| 久久久久久久综合色一本| 久久99国产精品成人| 亚洲精品一线二线三线| 久久99精品久久久久久久久久久久 | 一本久久a久久免费精品不卡| 亚洲视频一区二区免费在线观看| 成人小视频在线观看| 国产精品你懂的| youjizz国产精品| **网站欧美大片在线观看| 一本久道久久综合中文字幕| 一区二区三区在线免费观看| 欧美性生交片4| 婷婷国产在线综合| 91精品一区二区三区久久久久久| 日韩综合小视频| 欧美成人午夜电影| 国产一区二区中文字幕| 国产日本欧洲亚洲| av高清不卡在线| 一二三四社区欧美黄| 欧美精品在线视频| 麻豆久久久久久久| 国产亚洲短视频| 91在线视频观看| 亚洲国产va精品久久久不卡综合 | 国产精品欧美一区喷水| 91丨porny丨户外露出| 一区二区成人在线| 欧美一级精品大片| 国内外成人在线| 亚洲婷婷综合色高清在线| 91精品久久久久久久久99蜜臂| 麻豆国产欧美一区二区三区| 国产日本欧洲亚洲| 91福利国产精品| 免费人成网站在线观看欧美高清| 精品精品国产高清a毛片牛牛| 99视频有精品| 日韩av网站在线观看| 国产女同性恋一区二区| 日本黄色一区二区| 蜜臀av性久久久久av蜜臀妖精| 国产精品网站一区| 欧美日韩在线免费视频| 国产在线观看一区二区| 国产精品久久久久久一区二区三区| 欧美日韩另类一区| 国产成人自拍在线| 午夜欧美视频在线观看| 国产欧美日韩另类视频免费观看| 日本高清视频一区二区| 精品一区二区久久| 樱桃视频在线观看一区| 久久这里只精品最新地址| 91国产福利在线| 国产一区二区三区| 亚洲一区二区黄色| 国产精品美女久久久久av爽李琼| 欧美乱熟臀69xxxxxx| 成人美女视频在线看| 免费日本视频一区| 一区二区三区国产| 国产欧美一区二区精品婷婷| 欧美女孩性生活视频| 99久久久久久99| 国产美女精品在线| 奇米影视一区二区三区小说| 亚洲色图.com| 国产精品午夜免费|