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

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

?? txc_os_task.c

?? TranSwitch Envoy CE2 & Envoy CE4 設備驅動及編程指南
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*--------------------------------------------------------------------------

  *******                           ****
     *     *****     **    *    *  *       *    *   *  *****   ****   *    *
     *     *    *   *  *   **   *  *       *    *   *    *    *    *  *    *
     *     *    *  *    *  * *  *   ****   *    *   *    *    *       ******
     *     *****   ******  *  * *       *  * ** *   *    *    *       *    *
     *     *   *   *    *  *   **  *    *  **  **   *    *    *    *  *    *
     *     *    *  *    *  *    *   ****   *    *   *    *     ****   *    *

                        Proprietary and Confidential 

    This program is made available only to customers and prospective customers 
of TranSwitch Corporation under license and may be used only with TranSwitch 
semi-conductor products.

                      Copyright(c) 2004 TranSwitch Inc.
|-----------------------------------------------------------------------|
|                                                                       |
|                      ********        ******                           |
|                     **      **      **    **                          |
|                     **      **       **    *                          |
|                     **      **        **                              |
|                     **      **         **                             |
|                     **      **          **                            |
|                     **      **       *   ***                          |
|                     **      **      **    **                          |
|                      ********        ******                           |
|                                                                       |
|-----------------------------------------------------------------------|
|                           Task Source File                            |
|-----------------------------------------------------------------------|
|                                                                       |
|  Workfile:  txc_os_task.c                                             |
|                                                                       |
|  Description: this file contains all code for task management         |
|                                                                       |
-------------------------------------------------------------------------
                           Revision History
-------------------------------------------------------------------------
Rev #   Date        Author              Description
-----   ------      -------             -----------
1.0     20-Mar-01   R. Ruchandani       Initial Revision.
1.1     16-May-01   D. Zhang            Added VxWorks block
1.2     19-Apr-02   R. Ruchandani       Removed VxWorks block
1.3     25-Apr-02   B. Hawthorne        Adding VxWorks block back in, needed
                                        by Aspen Express.
1.4     28-Jun-02   R. Kuhnen           Made a change in TXC_GetTaskId
1.5     02-Oct-02   R. Kuhnen           1) Added include errnoLib.h to get rid of compiler warning
                                        2) Changed TXC_SignalTask:
                                           Added check if input taskId is equal to
                                           current task id then exit with TXC_NO_ERR          
                                        3) Changed TXC_WaitOnSignal:
                                           a) Added check if parameter milliSecondsWait
                                              = 0 then exit with TXC_NO_ERR     
                                           b) Removed sigfillset and added sigemptyset;
                                              also added some sanity checking
                                           c) Changed timeOut.tv_nsec computation
1.6     24-Oct-02   D. Shea             Redefined, PSOS, VXWORKS.
                                        Added TXC_NO_RTOS
                                        Removed nested #elif statements
1.7     22-Nov-02   J. Federici         Changed call to sigqueue to allow compile in C++.
1.8     10-Dec-02   R. Kuhnen           Removed GetTaskId from SignalTask
1.9     27-Dec-02   R. Kuhnen           Added include file, sysLib.h
1.10    7-Jan-03    R. Kuhnen           Added int to extern declaration of sysClkRateGet
                                        to eliminate C++ compiler warning
-----------------------------------------------------------------------*/

/***********************************************************************
 **                          Include Files                            **
 ***********************************************************************/

#ifdef TXC_PSOS
#include <sys_conf.h>
#include <psos.h>
#endif

#ifdef TXC_VXWORKS 
#include <vxWorks.h>
#include <stdio.h>
#include <stdlib.h>
#include <semLib.h>
#include <taskLib.h>
#include <sigLib.h>
#include <sysLib.h>
#include <time.h>
#include <errnoLib.h>
extern int sysClkRateGet (void);
#endif

#include "txc_generic.h"
#include "txc_platform.h"
#include "txc_error.h"
#include "txc_os_task.h"


/***********************************************************************
 **                  Imported Variables / Externs                     **
 ***********************************************************************/


/***********************************************************************
 **                         Global Variables                          **
 ***********************************************************************/


/***********************************************************************
 **                         Static Variables                          **
 ***********************************************************************/


/***********************************************************************
 **                         Static Prototypes                         **
 ***********************************************************************/


/************************************************************************
 *                                                                      *
 *  FUNCTION:   TXC_SpawnTask                                           *
 *                                                                      *
 *  DESCRIPTION: Create a task.                                         *
 *                                                                      *
 *  INPUTS:const char * name, void * startAddr, TXC_TASK_ID * taskIdPtr *
 *         TXC_U32BIT priority                                          *
 *  RETURNS:                                                            *
 *      TXC_U16BIT error code                                           *
 *          TXC_NO_ERR, TXC_OS_RESOURCE_ERR                             *
 *                                                                      *
 *  CAVEATS:                                                            *
 *          None at this time.                                          *
 *                                                                      *
 *                                                                      *
 *  REVISION HISTORY:                                                   *
 *          Date        Author          Description                     *
 *  ------------------------------------------------------------------- *
 *  1.0     20-Mar-01   R. Ruchandani   Initial Revision                *
 *  1.1     25-Apr-02   B. Hawthorne    Adding VxWorks RTOS support.    *
 *                                                                      *
 ************************************************************************/

TXC_U16BIT TXC_SpawnTask (const char * name, void * startAddr, 
    TXC_TASK_ID * taskIdPtr, TXC_U32BIT priority)
{

#ifdef TXC_PSOS

    unsigned long psosError, flags, mode, targ[4];

    /* Create the task and test for failure */
    flags = T_LOCAL | T_NOFPU;
    psosError = t_create (name, 
        (unsigned long) priority,            /* task priority */
        (unsigned long) TXC_TASK_STACK_SIZE, /* supervisor stack size */
        (unsigned long) TXC_TASK_STACK_SIZE, /* user stack size */
        flags, taskIdPtr);
    if (psosError)
        return TXC_OS_RESOURCE_ERR;
    
    /* mode will set the task as preemptive, it can be time sliced, and the tasks 
        ASR is disabled */
    mode = T_PREEMPT | T_TSLICE | T_NOASR;
    targ[0] = targ[1] = targ[2] = targ[3] = 0;

    /* start the task */
    psosError = t_start(*taskIdPtr, mode, startAddr, targ);

    /* return the error code */
    if (psosError)
    {
        *taskIdPtr = TXC_NULL;
        return TXC_OS_RESOURCE_ERR;
    }
    
    /* all is well */
    return TXC_NO_ERR;
#elif defined (TXC_VXWORKS)         /* end of TXC_PSOS */ 
 
    int taskError, option; 

    /* Create the task and test for failure */ 
    option = 0;                              /* enable breakpoints*/ 
    taskError = taskSpawn ((char *)name,  
        (int) priority,                      /* task priority */ 
        option,                              /* enable breakpoints*/ 
        (int) TXC_TASK_STACK_SIZE,           /* user stack size */ 
        (FUNCPTR)startAddr,                  /* function entry */ 
        0,0,0,0,0,0,0,0,0,0 
        ); 
    if (taskError == ERROR) 
    { 
        *taskIdPtr = TXC_NULL;               
        return TXC_OS_RESOURCE_ERR; 
    } 
    else  
    { 
        *taskIdPtr = (TXC_TASK_ID)taskError;    /* valid task id */ 
        return TXC_NO_ERR; 
    } 
#elif defined (TXC_NO_RTOS)          /* end of TXC_VXWORKS */

    return TXC_NO_ERR;

#else                       /* end of TXC_NO_RTOS */ 

    return TXC_OS_RESOURCE_ERR; 

#endif                      /* end of default */

}

/************************************************************************
 *                                                                      *
 *  FUNCTION:   TXC_DeleteTask                                          *
 *                                                                      *
 *  DESCRIPTION: Delete a task.                                         *
 *                                                                      *
 *  INPUTS:TXC_TASK_ID taskId                                           *
 *                                                                      *
 *  RETURNS:                                                            *
 *      TXC_U16BIT error code                                           *
 *          TXC_NO_ERR, TXC_OS_RESOURCE_ERR                             *
 *                                                                      *
 *  CAVEATS:                                                            *
 *          None at this time.                                          *
 *                                                                      *
 *                                                                      *
 *  REVISION HISTORY:                                                   *
 *          Date        Author          Description                     *
 *  ------------------------------------------------------------------- *
 *  1.0     20-Mar-01   R. Ruchandani   Initial Revision                *
 *  1.1     25-Apr-02   B. Hawthorne    Adding VxWorks RTOS support.    *
 *                                                                      *
 ************************************************************************/

TXC_U16BIT TXC_DeleteTask(TXC_TASK_ID taskId)
{

#ifdef TXC_PSOS

    unsigned long psosError;

    /* call psos to delete the task */
    psosError = t_delete(taskId);

    /* return the error code */
    if (psosError)
        return TXC_OS_RESOURCE_ERR;
    else
        return TXC_NO_ERR;
#elif defined (TXC_VXWORKS)             /* end of TXC_PSOS */ 
 
    int taskError; 
 
    /* call vxworks to delete the task */ 
    taskError = taskDelete((int)taskId); 
 
    /* return the error code */ 
    if (taskError == ERROR) 
        return TXC_OS_RESOURCE_ERR; 
    else 
        return TXC_NO_ERR; 
#elif defined (TXC_NO_RTOS)          /* end of TXC_VXWORKS */

    return TXC_NO_ERR;

#else                       /* end of TXC_NO_RTOS */ 

    return TXC_OS_RESOURCE_ERR; 
 
#endif                      /* end of default */

}

/************************************************************************
 *                                                                      *
 *  FUNCTION:   TXC_SleepTask                                           *
 *                                                                      *
 *  DESCRIPTION: Sleep a task.                                          *
 *                                                                      *
 *  INPUTS:TXC_U32BIT milliseconds                                      *
 *                                                                      *
 *  RETURNS:                                                            *
 *      TXC_U16BIT error code                                           *
 *          TXC_NO_ERR                                                  *
 *                                                                      *
 *  CAVEATS:                                                            *
 *                                                                      *
 *                                                                      *
 *                                                                      *
 *  REVISION HISTORY:                                                   *
 *          Date        Author          Description                     *
 *  ------------------------------------------------------------------- *
 *  1.0     20-Mar-01   R. Ruchandani   Initial Revision                *
 *  1.1     25-Apr-02   B. Hawthorne    Adding VxWorks RTOS support.    *
 *                                                                      *
 ************************************************************************/

TXC_U16BIT TXC_SleepTask(TXC_U32BIT milliseconds)
{

#ifdef TXC_PSOS

    unsigned long ticks, msPerTick;

    /* Determine how many ticks, rounded to the nearest tick */
    msPerTick = 1000 / KC_TICKS2SEC;
    milliseconds += (msPerTick / 2);
    ticks = milliseconds / msPerTick;
    tm_wkafter (ticks);

    return TXC_NO_ERR;

#elif defined (TXC_VXWORKS)             /* end of TXC_PSOS */ 
 
    int ticks, msPerTick, delayError; 

    /* return immediately if the delay is 0 */ 
    if (milliseconds == 0) 
        return TXC_NO_ERR; 
    else 
        /* Determine how many ticks, rounded up to the nearest tick */ 
    { 
        msPerTick = 1000 / CLOCKS_PER_SEC;
        milliseconds += (msPerTick / 2);
        ticks = milliseconds / msPerTick;
        delayError = taskDelay (ticks); 
        if (delayError == ERROR)
            return TXC_OS_RESOURCE_ERR; 
        else
            return TXC_NO_ERR; 
    } 

#elif defined (TXC_NO_RTOS)          /* end of TXC_VXWORKS */

    return TXC_NO_ERR;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产白丝网站精品污在线入口| 亚洲美女视频在线| 久久这里只有精品首页| 精品日产卡一卡二卡麻豆| 国产欧美一区二区精品性色| 亚洲乱码国产乱码精品精98午夜| 日一区二区三区| 韩国欧美一区二区| 在线一区二区三区做爰视频网站| 日韩精品自拍偷拍| 国产精品久久久久桃色tv| 亚洲国产综合色| 国产乱妇无码大片在线观看| 欧美日韩一区二区电影| 国产亚洲女人久久久久毛片| 亚洲一本大道在线| 成人精品鲁一区一区二区| 在线综合+亚洲+欧美中文字幕| 国产精品久久久久7777按摩| 亚洲一区二区三区自拍| 丁香婷婷综合网| 日韩亚洲欧美在线| 亚洲三级在线播放| 国产中文字幕精品| 欧美午夜理伦三级在线观看| 国产精品青草久久| 久久精品国产秦先生| 欧美日韩久久一区| 中文字幕亚洲一区二区av在线 | 精品日韩欧美在线| 国产精品女主播av| 久久国产人妖系列| 欧美精品免费视频| 有坂深雪av一区二区精品| 日韩高清不卡在线| 欧美视频你懂的| 中文字幕日韩av资源站| 日韩av成人高清| 精品视频999| 一区二区三区四区视频精品免费| 成人av电影在线播放| 久久精品欧美一区二区三区麻豆| 久久99热99| 日韩欧美不卡在线观看视频| 亚洲视频网在线直播| 色女孩综合影院| 日韩欧美一区在线观看| 久久久精品2019中文字幕之3| 天堂影院一区二区| 2欧美一区二区三区在线观看视频| 精品无人区卡一卡二卡三乱码免费卡| 国产精品短视频| 午夜国产精品一区| 亚洲韩国一区二区三区| 麻豆91精品视频| 有码一区二区三区| 欧美国产日本韩| 欧美一区二区播放| 91精品婷婷国产综合久久性色| 毛片av中文字幕一区二区| 色综合久久久网| 日韩一级二级三级| 午夜一区二区三区视频| 欧美性视频一区二区三区| 亚洲免费观看高清完整版在线观看| 欧美自拍偷拍午夜视频| 午夜精品成人在线| 香蕉av福利精品导航| 精品欧美一区二区三区精品久久| 91精彩视频在线观看| 精品中文字幕一区二区| 亚洲国产毛片aaaaa无费看 | 国产亚洲欧美一区在线观看| 天堂一区二区在线| 欧美精品九九99久久| 亚洲综合视频网| 精品日产卡一卡二卡麻豆| 成人污污视频在线观看| 国产精品色呦呦| 高清shemale亚洲人妖| 日韩欧美激情四射| 国产精品自拍三区| 国产精品国产三级国产aⅴ无密码| 久久精品国产第一区二区三区| 欧美日本韩国一区二区三区视频 | 91激情在线视频| 亚洲视频精选在线| 国产成人精品免费网站| 日韩视频一区在线观看| 国产精品自拍毛片| 亚洲一区二区四区蜜桃| 91麻豆精品国产91久久久| 中文字幕一区二区三中文字幕| 麻豆高清免费国产一区| av一本久道久久综合久久鬼色| 亚洲天堂2014| 精品国产电影一区二区| 东方欧美亚洲色图在线| 午夜精品福利一区二区蜜股av| 亚洲精品久久久久久国产精华液| 色老头久久综合| 制服.丝袜.亚洲.中文.综合| 久久伊99综合婷婷久久伊| 欧美mv日韩mv亚洲| 亚洲黄网站在线观看| 婷婷一区二区三区| 日本不卡不码高清免费观看| 久久国产三级精品| 91在线观看成人| 91精品国产乱| 亚洲精品国产a久久久久久| 国产婷婷色一区二区三区四区| 一本到高清视频免费精品| 精品一区二区免费视频| 国产精品一二三| aaa欧美色吧激情视频| 91免费精品国自产拍在线不卡| 色播五月激情综合网| 欧美在线观看一区| 91精品国产综合久久香蕉麻豆| 欧美一级专区免费大片| 国产亚洲精品超碰| 亚洲一区二区三区免费视频| 国产精品一区二区x88av| 成人av在线资源网站| 国产一区二区伦理片| 蜜臀va亚洲va欧美va天堂| 美女视频黄a大片欧美| 欧美一区二区三区免费视频| 精品国产麻豆免费人成网站| 99久久综合精品| 天天av天天翘天天综合网 | 欧美不卡激情三级在线观看| 欧美成人官网二区| 国产精品久久久久精k8 | 国产精品一区在线| 成人午夜私人影院| 一区二区三区**美女毛片| a4yy欧美一区二区三区| 亚洲精品中文字幕在线观看| 92国产精品观看| 亚洲午夜精品网| 日韩欧美黄色影院| 国产成人av影院| 亚洲男同1069视频| 日韩欧美一区在线| 成人国产电影网| 亚洲福利视频一区二区| 欧美色视频一区| 久久网站最新地址| 午夜欧美在线一二页| 不卡一卡二卡三乱码免费网站 | 亚洲另类在线视频| 亚洲va国产天堂va久久en| 国产成人夜色高潮福利影视| 日韩视频在线一区二区| 中文字幕日韩欧美一区二区三区| 国产呦精品一区二区三区网站| 欧美三级蜜桃2在线观看| 亚洲三级理论片| 福利一区福利二区| 久久久久久久久99精品| 色综合欧美在线视频区| 欧美日韩亚州综合| 久久午夜羞羞影院免费观看| 亚洲女同一区二区| 国产精一区二区三区| 亚洲欧美一区二区三区极速播放 | 国产精品麻豆久久久| 午夜精品久久久久久久| heyzo一本久久综合| 亚洲一区欧美一区| 欧美精品一区男女天堂| 色999日韩国产欧美一区二区| 日韩精品国产欧美| 中文字幕欧美三区| 欧美视频在线一区二区三区| 丰满亚洲少妇av| 成人精品一区二区三区中文字幕| 国产乱子伦一区二区三区国色天香| 亚洲成人午夜影院| 亚洲综合男人的天堂| 久久国产日韩欧美精品| 麻豆国产欧美一区二区三区| 美国一区二区三区在线播放| 黄色成人免费在线| 在线视频欧美精品| 91精品国产91久久久久久最新毛片| 欧美一区二区不卡视频| ww久久中文字幕| 中文字幕亚洲视频| 久久精品夜色噜噜亚洲aⅴ| 色先锋资源久久综合| 国产精品一区二区91| 国产精品中文字幕欧美| 精品综合免费视频观看| 蜜臀久久99精品久久久久久9| 亚洲综合一二区| 亚洲视频一二三| 亚洲在线观看免费视频|