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

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

?? classlib.c

?? vxworks系統(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一区二区三区免费野_久草精品视频
欧美在线一区二区| 日韩午夜小视频| 美女一区二区三区在线观看| 国产嫩草影院久久久久| 欧美日本在线播放| 成人黄色一级视频| 精品一区二区久久久| 亚洲大片精品永久免费| 中文字幕欧美激情一区| 日韩欧美国产一二三区| 欧美午夜精品一区二区蜜桃| 懂色av噜噜一区二区三区av| 日本不卡免费在线视频| 亚洲图片有声小说| 亚洲精品五月天| 国产精品久久精品日日| 久久久国产精品午夜一区ai换脸| 欧美人与性动xxxx| 欧美最猛性xxxxx直播| www.综合网.com| 国产不卡视频在线播放| 久久99精品国产麻豆婷婷| 午夜私人影院久久久久| 一区二区三区精密机械公司| 亚洲视频一区二区在线观看| 国产三级欧美三级日产三级99 | 国产成人在线影院 | 狠狠色综合日日| 日韩激情一区二区| 亚洲va欧美va国产va天堂影院| 亚洲欧美视频在线观看| 亚洲人成网站色在线观看| 国产精品视频九色porn| 久久久久国产成人精品亚洲午夜| 精品国产凹凸成av人导航| 91精品国产美女浴室洗澡无遮挡| 欧美日本韩国一区| 678五月天丁香亚洲综合网| 欧美日韩一区二区三区四区| 欧美亚州韩日在线看免费版国语版| 99精品黄色片免费大全| 91一区二区在线| 91免费视频网| 欧美在线观看一二区| 欧美综合视频在线观看| 欧美丝袜自拍制服另类| 欧美福利一区二区| 日韩免费观看2025年上映的电影| 精品日韩欧美在线| 久久久久国产精品免费免费搜索| 国产午夜精品一区二区| 国产精品网曝门| 亚洲人妖av一区二区| 亚洲一区二三区| 亚洲第一av色| 久久精品72免费观看| 国产一区二区三区国产| 成人综合在线观看| 91麻豆成人久久精品二区三区| 色偷偷88欧美精品久久久| 欧美日韩国产综合视频在线观看| 日韩视频一区二区在线观看| 久久久国产精品不卡| 亚洲桃色在线一区| 一区二区三区四区视频精品免费 | 日本大胆欧美人术艺术动态| 精品一二三四在线| 成人手机在线视频| 欧美中文字幕一区二区三区亚洲| 在线播放视频一区| 国产欧美精品一区aⅴ影院| 亚洲欧美日韩在线不卡| 日韩av成人高清| 成人性视频免费网站| 欧美日韩中文字幕一区二区| 日韩亚洲国产中文字幕欧美| 日本一区二区成人| 午夜欧美电影在线观看| 国产不卡视频一区二区三区| 欧美午夜精品免费| 国产欧美一区二区精品忘忧草| 亚洲欧美电影院| 激情综合色播激情啊| 色综合av在线| 久久久久久免费| 一区二区欧美视频| 极品少妇xxxx偷拍精品少妇| 色天天综合色天天久久| 精品精品欲导航| 亚洲激情综合网| 国产一区二区三区黄视频| 欧美自拍偷拍午夜视频| 久久久99免费| 爽好久久久欧美精品| 成人app软件下载大全免费| 在线成人免费观看| 亚洲欧美综合色| 麻豆国产精品视频| 欧美性受xxxx黑人xyx性爽| 国产日韩欧美精品电影三级在线| 亚洲第一福利一区| 91小视频免费看| 久久久亚洲精品石原莉奈 | 一片黄亚洲嫩模| 国产精品1024| 欧美日韩mp4| 亚洲综合免费观看高清完整版 | 久久99精品久久只有精品| 91久久精品日日躁夜夜躁欧美| 精品国产污污免费网站入口| 亚洲国产成人porn| 色综合久久中文综合久久牛| 国产香蕉久久精品综合网| 日本sm残虐另类| 欧美久久久久免费| 亚洲成人免费在线观看| 99国产精品久久久久| 中文字幕第一区二区| 精东粉嫩av免费一区二区三区| 欧美在线制服丝袜| 一色屋精品亚洲香蕉网站| 国产黄色91视频| 欧美精品一区二区三区四区| 日本午夜一区二区| 欧美猛男gaygay网站| 亚洲第一福利一区| 欧美日韩在线免费视频| 亚洲黄色小说网站| 在线免费观看成人短视频| 亚洲视频免费观看| 成人99免费视频| 国产精品私房写真福利视频| 国产大陆精品国产| 日本一区二区三区免费乱视频| 国产精品亚洲专一区二区三区 | 丝袜美腿一区二区三区| 欧美日韩在线不卡| 日韩电影在线免费观看| 91精品国产综合久久久久久| 日韩成人一区二区三区在线观看| 欧美精品久久久久久久久老牛影院| 亚洲大片一区二区三区| 538在线一区二区精品国产| 日韩成人一区二区三区在线观看| 欧美一区二区三区四区五区| 免费成人av在线| 精品国产91亚洲一区二区三区婷婷| 精品中文字幕一区二区| 久久先锋影音av| 成人深夜福利app| 亚洲日本在线视频观看| 欧美三级电影在线看| 日日夜夜一区二区| 欧美r级在线观看| 东方欧美亚洲色图在线| 亚洲免费观看高清完整版在线观看熊| 在线精品视频一区二区| 三级影片在线观看欧美日韩一区二区| 欧美一区二区三区色| 国产激情一区二区三区| 亚洲精品视频在线看| 91精品视频网| 国产高清无密码一区二区三区| 亚洲欧洲日韩女同| 欧美巨大另类极品videosbest| 国内精品免费**视频| 最新日韩av在线| 欧美精品tushy高清| 国产精品一区二区不卡| 亚洲日本丝袜连裤袜办公室| 欧美精品成人一区二区三区四区| 国产精品一区二区不卡| 夜夜亚洲天天久久| 精品国产99国产精品| 色综合久久中文字幕| 久久国产视频网| 亚洲另类在线视频| 精品久久久久久最新网址| 99精品久久99久久久久| 蜜桃av一区二区三区电影| 国产精品护士白丝一区av| 777久久久精品| www.久久精品| 久久激五月天综合精品| 亚洲色图制服丝袜| 欧美成人精品1314www| 色香色香欲天天天影视综合网| 精品无码三级在线观看视频| 一区二区三区欧美| 久久久久久久久久看片| 欧美亚洲一区二区在线| 国产成人综合在线观看| 日本不卡一区二区| 亚洲乱码国产乱码精品精98午夜| 精品国产乱码久久久久久影片| 日本乱人伦一区| 成人a免费在线看| 精品亚洲成a人在线观看| 亚洲成人久久影院| 中文字幕一区二区视频|