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

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

?? classlib.c

?? Vxworks的系統源代碼Vxworks的系統源代碼Vxworks的系統源代碼Vxworks的系統源代碼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一区二区三区免费野_久草精品视频
日韩一区二区影院| 91精品国产综合久久福利| 亚洲成人动漫在线免费观看| 日韩欧美亚洲另类制服综合在线| 97成人超碰视| 国产一区美女在线| 天天操天天色综合| 亚洲精品高清在线| 欧美国产日韩一二三区| 欧美tickling挠脚心丨vk| 色综合久久六月婷婷中文字幕| 国产精品影视在线| 日韩精品一卡二卡三卡四卡无卡| 最新久久zyz资源站| 久久综合狠狠综合久久激情| 欧美日韩在线三级| 91蝌蚪porny成人天涯| 国产91丝袜在线观看| 久久99这里只有精品| 日本特黄久久久高潮| 樱桃国产成人精品视频| 中文字幕免费在线观看视频一区| 久久综合久久综合九色| 日韩欧美国产综合在线一区二区三区| 欧美日精品一区视频| 色av成人天堂桃色av| 99精品在线观看视频| 成人性色生活片| 成人激情综合网站| 国产成人免费9x9x人网站视频| 麻豆91小视频| 精品影院一区二区久久久| 日韩高清不卡在线| 美女视频黄免费的久久| 日本亚洲免费观看| 麻豆久久久久久久| 久草这里只有精品视频| 免费观看在线色综合| 日韩在线一二三区| 捆绑调教一区二区三区| 麻豆精品视频在线| 国产美女在线精品| 岛国av在线一区| 99久久久免费精品国产一区二区| 成人国产在线观看| 色欧美片视频在线观看| 色婷婷精品久久二区二区蜜臂av | 日本不卡中文字幕| 亚洲电影你懂得| 免费观看30秒视频久久| 久久99精品久久久久久国产越南 | 天天色天天操综合| 看片网站欧美日韩| 顶级嫩模精品视频在线看| 成人激情文学综合网| 99精品欧美一区二区三区小说| 色狠狠色狠狠综合| 制服视频三区第一页精品| 欧美成人精品3d动漫h| 久久久精品免费网站| 一区在线中文字幕| 亚洲成a人v欧美综合天堂| 秋霞午夜鲁丝一区二区老狼| 国模少妇一区二区三区| 9i在线看片成人免费| 欧美日韩一级二级三级| 亚洲精品一区二区在线观看| 国产精品欧美一级免费| 亚洲国产精品久久人人爱蜜臀 | 日韩精品视频网| 国产永久精品大片wwwapp| 99久久免费视频.com| 欧美午夜一区二区三区| 精品成人a区在线观看| 国产精品福利一区| 日韩av在线播放中文字幕| 国产一区二区美女诱惑| 不卡视频免费播放| 日韩一区二区在线观看视频| 中文在线免费一区三区高中清不卡| 一个色在线综合| 精品在线视频一区| 91久久精品一区二区三| 欧美成人a在线| 亚洲精品国产无天堂网2021| 精品中文字幕一区二区| 欧美伊人久久久久久午夜久久久久| 日韩欧美一区中文| 亚洲免费av观看| 国产一区二区三区日韩| 欧美在线高清视频| 欧美激情一区二区三区| 蜜桃精品在线观看| 日本精品一区二区三区高清| 欧美精品一区二区蜜臀亚洲| 亚洲mv在线观看| av中文字幕亚洲| 久久综合av免费| 亚洲123区在线观看| 99国产精品久久久久久久久久| 日韩欧美国产高清| 亚洲国产精品一区二区www | 欧美一二三在线| 亚洲免费观看高清在线观看| 国产乱码精品一区二区三区av | 中文字幕中文乱码欧美一区二区| 美国欧美日韩国产在线播放| 欧美丝袜丝交足nylons图片| 亚洲欧洲精品一区二区三区| 精品一区二区免费在线观看| 宅男噜噜噜66一区二区66| 一区二区在线电影| 99久久99久久精品免费观看| 欧美韩国日本不卡| 国产经典欧美精品| 久久蜜桃一区二区| 精品一二三四在线| 日韩小视频在线观看专区| 亚洲电影视频在线| 欧美亚一区二区| 一区二区三区四区在线免费观看| av一本久道久久综合久久鬼色| 国产夜色精品一区二区av| 久久国产尿小便嘘嘘| 欧美精品免费视频| 亚洲h精品动漫在线观看| 在线观看网站黄不卡| 亚洲乱码国产乱码精品精的特点| www.视频一区| √…a在线天堂一区| www.亚洲精品| 亚洲欧美aⅴ...| 色偷偷久久一区二区三区| 亚洲精品免费播放| 在线观看日韩av先锋影音电影院| 亚洲老妇xxxxxx| 色综合中文字幕国产| 中文字幕一区二区三区四区| 92精品国产成人观看免费| 亚洲欧美乱综合| 欧美色精品在线视频| 视频在线观看一区| 日韩亚洲欧美在线| 国产精品资源在线观看| 日本一区二区三区四区在线视频| 国产·精品毛片| 亚洲欧美国产毛片在线| 欧美日韩三级视频| 久久99精品久久久久婷婷| 久久精品人人做人人爽人人| 成人黄动漫网站免费app| 亚洲综合久久av| 91麻豆精品国产91久久久更新时间| 蜜臀精品久久久久久蜜臀 | 91免费版pro下载短视频| 亚洲欧洲日韩综合一区二区| 91激情五月电影| 奇米亚洲午夜久久精品| 精品国产免费一区二区三区四区 | 亚洲综合一二区| 91精品国产综合久久精品性色| 麻豆成人91精品二区三区| 国产精品天天看| 色94色欧美sute亚洲13| 免费精品99久久国产综合精品| 国产女人18毛片水真多成人如厕 | 欧美日韩一区二区三区不卡| 免费成人在线观看视频| 亚洲国产精品黑人久久久| 欧美日韩亚洲国产综合| fc2成人免费人成在线观看播放| 亚洲精品你懂的| ww亚洲ww在线观看国产| 91丨porny丨在线| 美女视频黄免费的久久| 国产精品久久影院| 91.xcao| 国产精品综合久久| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲精品成人在线| 日韩精品一区在线| 一本久久a久久精品亚洲| 男人的天堂亚洲一区| 成人欧美一区二区三区黑人麻豆| 欧美一区三区二区| 波多野结衣中文字幕一区二区三区| 三级欧美在线一区| 亚洲天天做日日做天天谢日日欢| 欧美精品一卡两卡| aaa亚洲精品| 韩国欧美国产1区| 亚洲成a人片在线不卡一二三区| 国产人成一区二区三区影院| 69久久99精品久久久久婷婷 | 欧美一级欧美一级在线播放| 91香蕉视频mp4| 国精产品一区一区三区mba桃花| 亚洲一本大道在线| 国产精品久久久久久久久动漫 | 2022国产精品视频|