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

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

?? zl5011xos.h

?? Zalink50114----TDMoIP芯片驅動源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************
*
*  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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本青草视频在线怡红院| 亚洲免费在线观看| 欧美日韩一区二区三区高清| 91亚洲永久精品| 99精品偷自拍| 99视频热这里只有精品免费| 91视频你懂的| 欧美电影免费观看高清完整版在线| 日韩一级片网址| 久久人人爽人人爽| 亚洲欧洲在线观看av| 亚洲男人的天堂在线观看| 国产精品亚洲专一区二区三区 | 欧美色偷偷大香| 中文字幕一区二区在线播放| 狠狠色伊人亚洲综合成人| 国产成人h网站| 91福利社在线观看| 精品国产一区二区三区忘忧草 | 精品国产免费人成电影在线观看四季 | 国产91对白在线观看九色| 不卡电影一区二区三区| 在线观看不卡一区| 日韩免费视频线观看| 亚洲va中文字幕| 国产成人精品免费一区二区| 欧美大黄免费观看| 美国欧美日韩国产在线播放| 国产精品18久久久久久久网站| 欧美tk丨vk视频| 亚洲美女免费在线| 91在线观看一区二区| 中文字幕在线观看一区| 懂色av噜噜一区二区三区av| 国产性天天综合网| 日韩国产欧美三级| 97超碰欧美中文字幕| 亚洲色图在线视频| 欧美亚洲国产bt| 国产精品人成在线观看免费| 蜜桃免费网站一区二区三区| 欧美日韩精品高清| 国产精品久久久久aaaa| 99精品欧美一区二区三区小说| 日韩欧美国产麻豆| 蜜桃视频免费观看一区| 精品福利av导航| 高清久久久久久| 欧美激情一区二区三区不卡| 亚洲蜜臀av乱码久久精品| 色综合久久88色综合天天| 国产亚洲精品免费| 91亚洲精品久久久蜜桃| 亚洲第一在线综合网站| 日韩精品一区二区三区视频在线观看| 国产综合色精品一区二区三区| 久久久久国产精品免费免费搜索| 丁香五精品蜜臀久久久久99网站| 亚洲视频你懂的| 7777精品伊人久久久大香线蕉经典版下载 | 精品无人码麻豆乱码1区2区| 欧美顶级少妇做爰| 亚洲一二三区在线观看| 色综合一区二区三区| 日本一区二区视频在线| 国产精品一品二品| 一区二区国产盗摄色噜噜| av一二三不卡影片| 日韩av一区二区三区| 国产日韩精品一区| 欧美少妇一区二区| 国产精品中文字幕日韩精品 | 国产精品美女久久久久高潮| 91成人在线精品| 风间由美性色一区二区三区| 天使萌一区二区三区免费观看| 色香色香欲天天天影视综合网| 日韩精品高清不卡| 亚洲欧洲韩国日本视频| 日韩欧美亚洲国产精品字幕久久久| 成人短视频下载| 国产在线一区二区综合免费视频| 亚洲精品老司机| 欧美午夜精品免费| 国产91精品在线观看| 日韩国产欧美在线观看| 亚洲精品国产成人久久av盗摄| 2021中文字幕一区亚洲| 国产99久久久久| 日韩**一区毛片| 亚洲一本大道在线| 亚洲精品日韩专区silk| 国产视频一区在线观看| 日韩精品专区在线| 欧美日本国产一区| 欧美色图免费看| 91久久精品一区二区三| 91在线观看成人| 成人一区二区三区中文字幕| 一区二区三区在线视频免费| 欧美视频在线播放| 色综合久久久网| caoporn国产一区二区| 国产伦精品一区二区三区免费迷 | 国产精品白丝av| 蜜乳av一区二区| 人人狠狠综合久久亚洲| 国产色产综合色产在线视频| 日韩欧美一区在线观看| 在线播放国产精品二区一二区四区 | 91精品国产综合久久久久久久久久| 99精品欧美一区二区三区综合在线| 国产成人免费9x9x人网站视频| 精品一区二区三区免费毛片爱| 天天av天天翘天天综合网色鬼国产| 精品国产人成亚洲区| 日韩一区二区电影| 日韩一区二区影院| 欧美一区二区三区公司| 91麻豆国产在线观看| 97精品国产97久久久久久久久久久久 | 亚洲欧美综合在线精品| 亚洲人123区| 亚洲激情自拍视频| 视频一区视频二区在线观看| 日韩精品电影一区亚洲| 久久国内精品自在自线400部| 亚洲人成亚洲人成在线观看图片| 中文字幕一区二区三区乱码在线| 亚洲日本欧美天堂| 亚洲成人综合在线| 日韩1区2区3区| 国产精品一二三四五| eeuss鲁片一区二区三区在线观看| 日本二三区不卡| 7777精品伊人久久久大香线蕉完整版 | 亚洲一区二区高清| 欧美激情一二三区| 最好看的中文字幕久久| 亚洲第一福利视频在线| 久久国产成人午夜av影院| 久久国产精品99精品国产 | 欧美日韩高清一区| 欧美一区二区三区视频在线| 久久在线免费观看| 亚洲男女毛片无遮挡| 久热成人在线视频| www.色综合.com| 欧美日韩成人综合天天影院 | 一区二区三区四区在线免费观看| 首页亚洲欧美制服丝腿| 国产超碰在线一区| 欧美日韩免费在线视频| 久久久亚洲综合| 亚洲人成在线观看一区二区| 蜜臀av国产精品久久久久| 91亚洲精品久久久蜜桃网站| 日韩一区二区三区电影在线观看| 国产欧美日韩在线观看| 日韩电影网1区2区| 成人av免费网站| 日韩美女一区二区三区四区| 1024成人网色www| 精品一区二区三区在线播放视频 | 亚洲一区二区黄色| 国产精品18久久久久久久久久久久| 欧美制服丝袜第一页| 国产欧美精品国产国产专区| 无码av中文一区二区三区桃花岛| 国产91精品在线观看| 日韩一区二区免费视频| 一区二区三区国产精华| 粉嫩久久99精品久久久久久夜| 日韩一区二区三区视频| 亚洲高清不卡在线观看| 97久久人人超碰| 国产三级精品视频| 激情五月婷婷综合| 欧美一区二区私人影院日本| 一个色综合网站| av男人天堂一区| 国产亚洲欧美一级| 经典一区二区三区| 日韩三级.com| 蜜臀精品一区二区三区在线观看| 欧美午夜电影网| 一区二区三区在线视频播放 | 亚洲在线视频网站| jiyouzz国产精品久久| 久久久精品免费网站| 久久99精品国产.久久久久| 日韩一区二区三区免费看 | 亚洲一区二区三区三| 91丨九色丨蝌蚪丨老版| 国产精品国产三级国产aⅴ中文| 国产精品一级在线| 亚洲国产精品传媒在线观看| 国产乱淫av一区二区三区| 久久久久久久电影| 国产成人综合在线|