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

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

?? 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品免费| 日韩久久一区二区| 国产高清久久久| 日本一区二区三区四区在线视频| 夫妻av一区二区| 亚洲乱码中文字幕| 欧美精品123区| 国产在线精品免费av| 中文字幕国产一区| 欧美亚洲综合网| 美女mm1313爽爽久久久蜜臀| 日本一区二区综合亚洲| 色94色欧美sute亚洲13| 日本午夜精品一区二区三区电影| 欧美成人福利视频| 成人国产免费视频| 亚洲午夜久久久久久久久电影院 | 欧美日韩精品三区| 精品一区二区三区免费观看| 欧美高清在线一区二区| 欧美亚洲动漫另类| 国产在线精品免费av| 亚洲日本在线天堂| 日韩欧美一级片| av男人天堂一区| 午夜国产精品一区| 久久色在线观看| 亚洲国产精品久久艾草纯爱| 成人av在线影院| 亚洲午夜视频在线观看| 欧美精品一区二区在线播放| 成人黄动漫网站免费app| 亚洲成人你懂的| 久久新电视剧免费观看| 在线一区二区视频| 狠狠色狠狠色综合| 亚洲美女免费视频| 日韩一级免费观看| 99视频一区二区| 蜜桃精品视频在线观看| 亚洲日本在线天堂| 欧美精品一区二区三区很污很色的 | 国产成人综合网站| 亚洲一区二区不卡免费| 久久久青草青青国产亚洲免观| 91麻豆福利精品推荐| 精彩视频一区二区| 亚洲综合网站在线观看| 久久精品夜夜夜夜久久| 欧美高清你懂得| 99re亚洲国产精品| 国产一区二区三区在线观看免费 | 午夜视黄欧洲亚洲| 国产色综合久久| 6080国产精品一区二区| 9色porny自拍视频一区二区| 麻豆精品久久久| 亚洲最快最全在线视频| 日本一区二区成人在线| 91精品国产欧美一区二区| 91麻豆国产精品久久| 国产精品一色哟哟哟| 日韩国产成人精品| 亚洲永久精品国产| 国产精品久久久久久亚洲伦| 欧美成人女星排名| 欧美福利视频一区| 色综合欧美在线视频区| 国产成人福利片| 寂寞少妇一区二区三区| 天天做天天摸天天爽国产一区| 日韩一区有码在线| 日本一区二区电影| 久久久久久久精| 日韩三级免费观看| 欧美色图天堂网| 91丝袜呻吟高潮美腿白嫩在线观看| 国产一区二区精品在线观看| 久久黄色级2电影| 三级亚洲高清视频| 亚洲成人在线网站| 一区二区久久久| 亚洲视频 欧洲视频| 国产精品网站导航| 国产日产欧美一区| 久久久蜜桃精品| 久久久综合九色合综国产精品| 日韩欧美电影一二三| 欧美一区二区三区播放老司机| 欧美日韩久久久久久| 在线视频欧美精品| 欧美在线免费观看视频| 在线观看国产精品网站| 97久久精品人人做人人爽| aaa欧美日韩| 99re视频精品| 99久久精品免费| 不卡的电影网站| 国内精品写真在线观看| 日韩精品电影在线观看| 亚洲成人激情av| 亚洲午夜国产一区99re久久| 亚洲精品国产视频| 亚洲欧洲日韩女同| 91精品国产综合久久久久久久| 欧美精选在线播放| 欧美日韩中文字幕一区二区| 色婷婷综合久久久久中文| 波多野洁衣一区| 成人精品视频一区二区三区尤物| 久久 天天综合| 国产真实精品久久二三区| 麻豆精品在线看| 秋霞午夜鲁丝一区二区老狼| 日韩一区精品字幕| 日韩av一区二区三区四区| 亚洲福利视频三区| 日韩高清一级片| 日本美女一区二区三区视频| 天堂va蜜桃一区二区三区漫画版| 亚洲成a天堂v人片| 天天综合网天天综合色| 欧美bbbbb| 精品一区二区在线观看| 紧缚奴在线一区二区三区| 精品一区二区三区香蕉蜜桃| 精品一区二区三区免费观看| 奇米色777欧美一区二区| 日韩制服丝袜先锋影音| 日日噜噜夜夜狠狠视频欧美人 | 成人污污视频在线观看| 色综合天天综合网国产成人综合天 | 国产精品亚洲视频| 成人一区在线看| 国产一区二区三区在线观看免费视频| 国内欧美视频一区二区| 懂色一区二区三区免费观看| 99久久99久久精品免费观看| 91香蕉国产在线观看软件| 91黄视频在线| 国产精品天干天干在线综合| 国产精品久久毛片a| 亚洲综合自拍偷拍| 石原莉奈在线亚洲三区| 久久不见久久见免费视频7| 国产尤物一区二区| 99久久亚洲一区二区三区青草| 色综合久久久久久久久| 欧美三级在线播放| 日韩精品一区二区三区在线播放| 久久先锋影音av| 成人欧美一区二区三区在线播放| 亚洲综合激情网| 国产自产2019最新不卡| 成人的网站免费观看| 欧美丝袜丝交足nylons| 欧美一二三区精品| 国产欧美一区二区三区在线看蜜臀 | 国产精品国产三级国产a| 亚洲国产成人av网| 毛片基地黄久久久久久天堂| 粉嫩av一区二区三区在线播放 | 日本韩国欧美一区| 2020国产精品自拍| 亚洲手机成人高清视频| 三级一区在线视频先锋| 国产一区二区三区最好精华液| 97成人超碰视| 日韩精品一区二区三区三区免费 | 欧美一区二区三区四区视频| 久久影院视频免费| 亚洲少妇最新在线视频| 亚洲精品国产a| 国产呦萝稀缺另类资源| 色狠狠色噜噜噜综合网| 日韩免费观看高清完整版在线观看| 中文av一区二区| 性做久久久久久免费观看| 国产成人精品亚洲午夜麻豆| 色综合久久综合网97色综合| 欧美一卡二卡在线| 久久久久久久久久久久久久久99| 亚洲人xxxx| 看国产成人h片视频| 99久久精品国产导航| 日韩一区二区在线看| 国产精品国产自产拍高清av王其 | 久久激情五月激情| 色综合久久88色综合天天| 91精品国产91久久久久久最新毛片| 亚洲日本va在线观看| 久久精品999| 在线观看不卡一区| 国产欧美日韩精品一区| 亚洲成在线观看| 91香蕉视频mp4| 精品99一区二区三区| 亚洲网友自拍偷拍| 国产69精品久久99不卡| 欧美日韩中文精品|