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

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

?? zl5011xos.h

?? Zalink50114----TDMoIP芯片驅(qū)動(dòng)源碼
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/******************************************************************************
*
*  File name:              zl5011xVxWorksOs.h
*
*  Version:                37
*
*  Author:                 MRC
*
*  Date created:           29/04/2002
*
*  Copyright 2002, 2003, 2004, 2005, Zarlink Semiconductor Limited.
*  All rights reserved.
*
*  Module Description:
*
*  The zl5011x API relies on various functions that need to be provided by
*  the 'host' operating system.  In order to make porting the API to a different
*  'host' easier to achieve we have defined some generic macros that the API uses.
*
*  This module contains these generic macros that are used in the zl5011x API.
*
*  Note:  Currently this header file is only concerned with mapping macros
*         to VxWorks.
*         For more info on each of the function calls please see
*         VxWorks 5.4 Reference Manual. Windriver Part Number DOC-12910-ND-00
*
*
*  Revision History:
*
*  Rev:  Date:       Author:  Comments:
*  1     08/02/2002  MRC      Creation
*  2     03/04/2002  MRC      Updated
*  3     20/06/2002  MRC      Added interrupt funcs
*  4     12/09/2002  MRC      Tidied up mutex definitions
*  5     13/09/2002  MRC      Corrected OS_MUTEX_ID define
*  6     17/09/2002  ARW      Added include files: m8260Fcc.h & m8260Sio.h
*  7     18/09/2002  ARW      Added macros for other RTOS specific memory
*                               allocations
*  8     19/09/2002  ARW      Update
*  9     03/10/2002  ARW      Added a Macro for determining the current size
*                               of a message queue
*  10    04/10/2002  ARW      Added a Macro for verifing if a task exists
*  11    15/10/2002  ARW      Added macros OS_TICK_DELAY & OS_IMMR_GET
*  12    31/10/2002  MRC      Added variants + minor fixes
*  13    18/11/2002  ARW      Added an include to inet.h (for NTP protocol)
*  14    10/01/2003  MRC      Added message queue defines
*  15    14/01/2003  ARW      Removed micro specific prototypes and include
*                             files
*  16    31/01/2003  MRC      Added DMA include files and micro specific
*                             prototypes
*  17    03/02/2003  MRC      Added OS_TASK_ID typedef
*  18    14/02/2003  MRC      Added socket header files
*  19    03/04/2003  MRC      Added OS enable / disable fns
*  20    15/04/2003  ARW      Added MACRO for getting processor ticks
*  21    18/07/2003  APL      Added OS_LOG_INIT macro
*  22    22/09/2003  PJE      Added ZLS5011X_BUILDING_PC_MGMT_STA macro
*  23    24/09/2003  PJE      Update
*  24    18/11/2003  APL      Fixed file header version
*  25    05/05/2004  MRC      Added AUX timer functions
*  26    23/06/2004  MRC      Added definition of OS_SEM_EMPTY
*  27    23/07/2004  MRC      Added prototype + information for OS calls
*  28    29/07/2004  MRC      Fixed some compiler warnings
*  29    25/08/2004  MRC      Added OS tick define
*  30    03/09/2004  APL      Added parentheses around macro arguments to
*                             protect against inadvertent side effects
*  31    08/09/2004  MRC      Added define to abstract the 64 bit integer type
*  32    09/12/2004  MRC      Added information on VxWorks defines
*  33    13/12/2004  MRC      Added FUNCPTR defines
*  34    15/12/2004  APL      Added information on more VxWorks definitions
*  35    11/02/2005  MRC      Added macros for DMA endian conversion
*  36    01/04/2005  APL      Updated comments for OS_TASK_SPAWN
*  37    05/05/2005  APL      Removed '//' comment characters
*
******************************************************************************/

#ifndef _ZL5011X_OS_H_
#define _ZL5011X_OS_H_

#ifdef __cplusplus
extern "C" {
#endif

/*****************   INCLUDE FILES   ******************************************/
/* Required VxWorks include files as specified in the VxWorks reference manual */
#ifndef ZLS5011X_BUILDING_PC_MGMT_STA

#include <vxWorks.h>
#include "vme.h"
#include "memLib.h"
#include "cacheLib.h"
#include <stdio.h>
#include <semLib.h>
#include <selectLib.h>
#include <msgQLib.h>
#include <wdLib.h>
#include <sockLib.h>
#include <socket.h>
#include <ioLib.h>
#include <in.h>
#include <taskLib.h>
#include <taskHookLib.h>
#include <tickLib.h>
#include <sysLib.h>
#include <errnoLib.h>
#include <intLib.h>
#include <iv.h>
#include <hostLib.h>
#include <usrLib.h>
#include <fcntl.h>
#include <ctype.h>
#include <timers.h>
#include <logLib.h>
#if 0
#include <net/inet.h>/*shf add 2005.9.5 FM 15:07*/
#endif
#include <netinet\tcp.h>
#include <netinet\in.h>
#include <drv\end\m8260Fcc.h>
#include <drv\sio\m8260Sio.h>
#include <le1veLib.h>

/********   Micro specfic function calls provided by RTOS (VxWorks) ***********/

/* the following functions provide a simple mechanism for allocating the
   DPRAM (dual port RAM) to the CPM. The allocation system is very simple
   and is only performed during initialisation */
void *sys82xxDpramAlignedMalloc (size_t length, size_t alignment);
/* Returns pointer to DPRAM memory allocated from memory pool.
   Alignment is number of bytes i.e. 1, 2, 4, 8 etc.*/

void sys82xxDpramFree (void *address);
/* Free memory allocated from DPRAM main pool */

#define OS_DPRAM_FREE(address) sys82xxDpramFree(address)

#else /* ifndef ZLS5011X_BUILDING_PC_MGMT_STA */

/*****************   # DEFINES   **********************************************/
#define InLine inline
typedef struct wdog *WDOG_ID;    /* watchdog id */
#endif /*  ZLS5011X_BUILDING_PC_MGMT_STA */

/*****************   General Constants   **************************************/
#define OS_STATUS       STATUS
/*
   typedef  int      STATUS;
*/

#ifndef OS_OK

   #define OS_OK           OK
   /*
      #define OK     0
   */

   #define OS_ERROR        ERROR
   /*
      #define ERROR     (-1)
   */

#endif  /* ifndef OS_OK */

#define OS_WAIT_FOREVER WAIT_FOREVER
/*
   #define WAIT_FOREVER (-1)
*/

#define OS_NO_WAIT      NO_WAIT
/*
   #define NO_WAIT      0
*/

/* define minimum -> maximum range for the data types */
#define OS_UINT32T_MAX     ULONG_MAX
/* Maximum unsigned 32-bit quantity. Minimum is 0.
   #define ULONG_MAX       4294967295uL
*/
#define OS_UINT16T_MAX     USHRT_MAX
/* Maximum unsigned 16-bit quantity. Minimum is 0.
   #define USHRT_MAX 65535u
*/
#define OS_UINT8T_MAX      UCHAR_MAX
/* Maximum unsigned 8-bit quantity. Minimum is 0.
   #define UCHAR_MAX 255u
*/

#define OS_SINT32T_MAX     LONG_MAX
/* Maximum signed 32-bit quantity.
   #define LONG_MAX       2147483647L
*/
#define OS_SINT32T_MIN     LONG_MIN
/* Minimum signed 32-bit quantity.
   #define LONG_MIN       (-LONG_MAX-1)
*/
#define OS_SINT16T_MAX     SHRT_MAX
/* Maximum signed 16-bit quantity.
   #define SHRT_MAX 32767
*/
#define OS_SINT16T_MIN     SHRT_MIN
/* Minimum signed 16-bit quantity.
   #define SHRT_MIN (-32768)
*/
#define OS_SINT8T_MAX      CHAR_MAX
/* Maximum signed 8-bit quantity.
   #define CHAR_MAX 127
*/
#define OS_SINT8T_MIN      CHAR_MIN
/* Minimum signed 8-bit quantity.
   #define CHAR_MIN (-128)
*/

#define OS_RAND_MAX        RAND_MAX
/* The maximum value that may be returned by rand.
   The minimum is zero.
   #define  RAND_MAX 0x7FFF
 */

#define OS_INT64           long long

#ifndef __INCvxTypesOldh

   typedef int (*FUNCPTR)();        /* ptr to function returning int */
   typedef void (*VOIDFUNCPTR)();   /* ptr to function returning void */

#endif  /* ifndef __INCvxTypesOldh */

/*****************   Mutex / Sema4 related constants   ************************/
#ifdef  ZLS5011X_BUILDING_PC_MGMT_STA
typedef struct semaphore *SEM_ID;
#endif  /* ZLS5011X_BUILDING_PC_MGMT_STA */

/* The following definitions are for binary semaphores/mutexes.
   OS_MUTEX_ID is an OS specific type returned by OS_MUTEX_CREATE
   which uniquely identifies a particular mutex.
   See OS_MUTEX_CREATE for description of SEM_EMPTY and SEM_FULL.
   */
#define OS_MUTEX_ID  SEM_ID
#define OS_SEM_EMPTY       SEM_EMPTY
#define OS_SEM_FULL        SEM_FULL

/* The following definition is for counting semaphores.
   OS_SEM_ID is an OS specific type returned by OS_SEMA4_CREATE
   which uniquely identify a particular semaphore
   Note that om VxWorks both mutexes and semaphores have the same definition.
   */
#define OS_SEM_ID    SEM_ID

#define OS_SEM_INVALID     NULL
/* See OS_MUTEX_CREATE or OS_SEMA4_CREATE for description of SEM_Q_PRIORITY */
#define OS_SEM_Q_PRIORITY  SEM_Q_PRIORITY

/*****************   Message queue related constants   ************************/

#ifdef  ZLS5011X_BUILDING_PC_MGMT_STA
typedef struct msg_q       *MSG_Q_ID;  /* message queue ID */
typedef MSG_Q_ID           OS_MsgQT;
#endif  /* ZLS5011X_BUILDING_PC_MGMT_STA */

#define OS_MSG_Q_INVALID NULL
#define OS_MSG_Q_ID MSG_Q_ID
/* MSG_Q_ID is an OS specific type returned by OS_MSG_Q_CREATE which
   uniquely identifies a particular message queue */
#define OS_MSG_Q_PRIORITY MSG_Q_PRIORITY
#define OS_MSG_Q_FIFO MSG_Q_FIFO
/* See OS_MSG_Q_CREATE for details of MSG_Q_PRIORITY and MSG_Q_FIFO */

/*****************   Task Control related constants   *************************/
#define OS_VX_NO_STACK_FILL VX_NO_STACK_FILL
/* See OS_TASK_SPAWN for details of VX_NO_STACK_FILL */

typedef Uint32T OS_TASK_ID;      /* VxWorks task identifiers are arbitrary 32-bit integers */

/*****************   Task Control   *******************************************/
/* Create and activate a new task */
#define OS_TASK_SPAWN taskSpawn
/*
   int taskSpawn
       (
       char *  name,      - name of new task (stored at pStackBase)
       int     priority,  - priority of new task 0 = highest, 255 = lowest
       int     options,   - task option word (see below).
       int     stackSize, - size (bytes) of stack needed plus name
       FUNCPTR entryPt,   - entry point of new task
       int     arg1,      - First of 10 req'd task args to pass to func
       int     arg2,      - Arguments 2-10 are unused by the API
       int     arg3,
       int     arg4,
       int     arg5,
       int     arg6,
       int     arg7,
       int     arg8,
       int     arg9,
       int     arg10
       )

   Notes:
      Returns task ID, or ERROR if task cannot be created.

      The task option word is a set of bit-ORed option flags. The API uses only the value
      OS_VX_NO_STACK_FILL (0x100) which indicates that the API does not require the
      task stack to be filled with a known value.
      If the OS_VX_NO_STACK_FILL bit is not set then the stack should be filled which can
      be useful for debugging.
      In practice this behaviour of filling the stack is not important to the API
      and can be either be ignored or recreated in the application environment at
      the application designer's discretion.

*/

/* Delete a task */
#define OS_TASK_DELETE taskDelete
/*
   STATUS  taskDelete (int tid);
*/

/* Verify a task exists */
#define OS_TASK_ID_VERIFY taskIdVerify
/*
   STATUS  taskIdVerify (int tid);

   Notes:
      Returns OK or task ID is invalid.
*/

/* Delay a task from executing */
/* Note: The delay period should be specified in milliseconds */
#define OS_TASK_DELAY(milliseconds) taskDelay(OS_TICKS(milliseconds)+1)
/*
   STATUS  taskDelay (int ticks);
*/

#define OS_TICK_DELAY(ticks) taskDelay(ticks)

/*****************   Time   ***************************************************/
/* Work out the number of system ticks for given number of millisecinds */
/* Note: This is a 'local' macro used in this file only */
#define OS_TICKS(milliseconds) ((sysClkRateGet() * (milliseconds))/1000)
/*
   int     sysClkRateGet (void);

   Notes:
      Returns OS scheduling tick rate.
*/

/* Get the value of the kernel's tick counter */
#define OS_TICK_GET tickGet
/*
   ULONG   tickGet (void);
*/

/* Get the OS tick rate */
#define OS_TICK_RATE_GET()   sysClkRateGet()
/*
   int sysClkRateGet (void)
*/

/* auxilliary timer functions */
#define OS_AUX_TIMER_CONNECT(func, arg)   sysAuxClkConnect(func, arg)
/*
   STATUS  sysAuxClkConnect (
       FUNCPTR routine,    - routine called at each aux. clock interrupt

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av午夜在线观看| 91麻豆精品国产无毒不卡在线观看 | 九九国产精品视频| 在线电影欧美成精品| 亚洲免费在线电影| 91视视频在线观看入口直接观看www | 波多野结衣中文字幕一区 | 99视频热这里只有精品免费| 精品黑人一区二区三区久久| 久久国内精品视频| 久久精品免视看| 成人午夜在线播放| 亚洲欧美电影院| 欧美三电影在线| 毛片av中文字幕一区二区| 日韩欧美一区二区在线视频| 激情成人综合网| 国产精品久久久久一区二区三区| 9i在线看片成人免费| 亚洲色图视频免费播放| 欧美妇女性影城| 国产剧情一区二区| 一区二区三区四区国产精品| 777xxx欧美| www.在线欧美| 免费在线观看视频一区| 欧美国产成人在线| 777色狠狠一区二区三区| 国产很黄免费观看久久| 亚洲一区二区在线观看视频| 久久综合视频网| 欧美性videosxxxxx| 国产成人精品网址| 日韩av电影免费观看高清完整版 | 看电视剧不卡顿的网站| 亚洲欧洲www| 国产清纯白嫩初高生在线观看91 | 粉嫩一区二区三区性色av| 性做久久久久久久免费看| 国产精品欧美一级免费| 欧美喷潮久久久xxxxx| 成人一区二区三区视频 | 天天影视网天天综合色在线播放| 亚洲国产精品国自产拍av| 欧美xxx久久| 欧美一区二区在线播放| 在线精品观看国产| 99re成人精品视频| 99免费精品视频| 成人动漫一区二区在线| 懂色av一区二区在线播放| 狠狠色丁香婷婷综合久久片| 久久成人免费电影| 久久国产精品99久久人人澡| 九九九精品视频| 国产精品一区二区不卡| 国产成人在线免费观看| 国产69精品久久99不卡| 99视频超级精品| 色综合天天视频在线观看| 欧洲在线/亚洲| 91麻豆精品国产91久久久资源速度 | 国产精品色婷婷久久58| 亚洲欧洲av另类| 亚洲成人中文在线| 国模娜娜一区二区三区| 丁香婷婷综合激情五月色| 成人黄色免费短视频| 色噜噜狠狠色综合欧洲selulu| 91福利精品视频| 久久久久国产精品人| 最新国产成人在线观看| 天天av天天翘天天综合网| 国产一区二区网址| 色视频一区二区| 日韩欧美国产综合在线一区二区三区| 欧美成人video| 亚洲一区二区三区四区不卡| 精品一区二区在线观看| 在线视频亚洲一区| 国产片一区二区| 久久国产免费看| 91黄视频在线观看| 国产精品素人视频| 九一九一国产精品| 51精品国自产在线| 亚洲人成小说网站色在线| 国产原创一区二区| 91精品国产高清一区二区三区蜜臀| 中文字幕中文字幕一区| 久久成人久久鬼色| 欧美www视频| 蜜桃精品视频在线观看| 欧美久久久久久久久中文字幕| 国产精品久久久久7777按摩| 国产精品一品二品| 久久九九久精品国产免费直播| 久久激情综合网| 亚洲精品在线电影| 国产精品一级片在线观看| 欧美电影免费观看高清完整版| 午夜视频在线观看一区| 欧美日韩在线电影| 日韩国产欧美在线观看| 69久久夜色精品国产69蝌蚪网| 亚洲va中文字幕| 欧美一区二区三区四区久久| 日韩在线一二三区| 久久在线观看免费| 成人亚洲一区二区一| 1000部国产精品成人观看| 91丨九色丨蝌蚪富婆spa| 亚洲美女视频一区| 日韩一区二区三免费高清| 韩国av一区二区三区在线观看| 欧美国产综合一区二区| 99精品在线免费| 日本vs亚洲vs韩国一区三区二区| 欧美mv和日韩mv的网站| 成人一区二区视频| 日韩精品一级中文字幕精品视频免费观看 | 91免费版在线| 极品少妇xxxx偷拍精品少妇| 国产精品白丝在线| 欧美成人猛片aaaaaaa| 91免费版pro下载短视频| 久久av资源站| 五月婷婷综合在线| 国产精品久久久久久久久久久免费看| 欧美视频自拍偷拍| 成人黄色软件下载| 激情伊人五月天久久综合| 伊人性伊人情综合网| 国产色爱av资源综合区| 制服丝袜在线91| 欧美系列亚洲系列| 色诱亚洲精品久久久久久| 狠狠久久亚洲欧美| 91视频国产资源| 国产一区二区三区| 日本va欧美va瓶| 青草av.久久免费一区| 一区二区三区在线观看视频| 国产无遮挡一区二区三区毛片日本| 欧美一区二区三区免费观看视频| 91国产丝袜在线播放| 色94色欧美sute亚洲13| 欧美优质美女网站| 欧洲亚洲国产日韩| 欧美精品在线视频| 欧美男女性生活在线直播观看| 欧洲精品在线观看| 91成人免费电影| 欧美精品v国产精品v日韩精品 | 91精品91久久久中77777| 91麻豆高清视频| 日本精品免费观看高清观看| 99视频一区二区| 欧美午夜精品电影| 欧美日韩不卡一区| 精品国产乱码久久久久久免费| 欧美videos大乳护士334| 久久网这里都是精品| 国产精品美女一区二区三区| 亚洲女厕所小便bbb| 性做久久久久久久免费看| 九九精品一区二区| 97se亚洲国产综合自在线观| 欧美日韩午夜在线视频| ww亚洲ww在线观看国产| 中文字幕第一区| 天天影视涩香欲综合网| 国产精品夜夜嗨| 欧美制服丝袜第一页| 亚洲精品一区二区三区99| 国产精品久久久久影院亚瑟| 日韩影院免费视频| www.日韩av| 精品三级在线观看| 亚洲一二三专区| 丰满白嫩尤物一区二区| 正在播放亚洲一区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲a一区二区| 色综合久久综合| 日本一区免费视频| 久久国产夜色精品鲁鲁99| 欧美日韩亚洲丝袜制服| 亚洲三级久久久| 懂色av中文一区二区三区| 2020日本不卡一区二区视频| 视频在线观看91| 欧洲在线/亚洲| 亚洲成a天堂v人片| 欧美亚洲综合在线| 亚洲大片免费看| 欧美日韩一区高清| 亚洲国产精品影院| 欧美日韩在线观看一区二区| 亚洲综合自拍偷拍|