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

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

?? osif.h

?? h.264的DM642上的代碼
?? H
字號:
//--------------------------------------------------------------------------
// OS Demonstration Software
//--------------------------------------------------------------------------
// OSIF.H
//
// OS Interface Functions
//
// Author: Michael A. Denio
// Copyright 1999, 2003 by Texas Instruments Inc.
//-------------------------------------------------------------------------

#ifndef _C_OSIF_H
#define _C_OSIF_H

#include <std.h>
#include <sys.h>
#include <tsk.h>
#include <sem.h>

//---------------------------------------------
//---------------------------------------------
// OS Environment Globals
//---------------------------------------------
//---------------------------------------------

// Printf Buffer Size
// Change requires a recompile of the OS library
#define OS_PRINTFBUFFER         512

// Configuration Structure
typedef struct _osenvcfg {
    uint     DbgPrintLevel;     // Debug msg print threshhold
    uint     DbgAbortLevel;     // Debug msg sys abort theshhold
    int      TaskPriLow;        // Lowest priority for stack task
    int      TaskPriNorm;       // Normal priority for stack task
    int      TaskPriHigh;       // High priority for stack task
    int      TaskPriKern;       // Kernel-level priority (highest)
    int      TaskStkLow;        // Minimum stack size
    int      TaskStkNorm;       // Normal stack size
    int      TaskStkHigh;       // Stack size for high volume tasks
    } OSENVCFG;

// Configuration
extern OSENVCFG _oscfg;

// Equates used in code
#define DBG_PRINT_LEVEL         (_oscfg.DbgPrintLevel)
#define DBG_ABORT_LEVEL         (_oscfg.DbgAbortLevel)
#define OS_TASKPRILOW           (_oscfg.TaskPriLow)
#define OS_TASKPRINORM          (_oscfg.TaskPriNorm)
#define OS_TASKPRIHIGH          (_oscfg.TaskPriHigh)
#define OS_TASKPRIKERN          (_oscfg.TaskPriKern)
#define OS_TASKSTKLOW           (_oscfg.TaskStkLow)
#define OS_TASKSTKNORM          (_oscfg.TaskStkNorm)
#define OS_TASKSTKHIGH          (_oscfg.TaskStkHigh)

// Default values
#define DEF_DBG_PRINT_LEVEL     DBG_INFO
#define DEF_DBG_ABORT_LEVEL     DBG_ERROR
#define OS_TASKPRILOW_DEF       3
#define OS_TASKPRINORM_DEF      5
#define OS_TASKPRIHIGH_DEF      7
#define OS_TASKPRIKERN_DEF      (OS_TASKPRIHIGH_DEF+1)
#define OS_TASKSTKLOW_DEF       3072
#define OS_TASKSTKNORM_DEF      4096
#define OS_TASKSTKHIGH_DEF      5120

extern int stricmp( char *s1, char *s2);

//-----------------------------------------------------------------------
//----[ PACKET BUFFER MANAGER ]------------------------------------------
//-----------------------------------------------------------------------

// Packet Buffer Object
typedef struct _PBM_Pkt {
    UINT32          Type;         // Identifier (Read Only)
    struct _PBM_Pkt *pPrev;       // Previous record
    struct _PBM_Pkt *pNext;       // Next record
    UINT8           *pDataBuffer; // Pointer to Data Buffer (Read Only)
    uint            BufferLen;    // Physical Length of buffer (Read Only)
    uint            Flags;        // Packet Flags
    uint            ValidLen;     // Length of valid data in buffer
    uint            DataOffset;   // Byte offset to valid data
    uint            EtherType;    // Ether Type Code
    uint            L2HdrLen;     // Length of L2 Hdr (on 'L3' Rx pkts)
    uint            IpHdrLen;     // Length of Ip Hdr
    HANDLE          hIFRx;        // Rx Interface
    HANDLE          hIFTx;        // Tx Interface
    HANDLE          hRoute;       // Handle to Route
    UINT32          Aux1;         // Aux1 Data
    UINT32          Aux2;         // Aux2 Data
    } PBM_Pkt;

// PBM Handle
typedef void * PBM_Handle;

// Packet Buffer Manager Initialization Functions
_extern uint        PBM_open();
_extern void        PBM_close();

// Packet Buffer Functions (re-entrant and "kernel mode" agnostic)
_extern PBM_Handle  PBM_alloc( uint MaxSize );
_extern PBM_Handle  PBM_copy( PBM_Handle hPkt );
_extern void        PBM_free( PBM_Handle hPkt );

//
// The following field Functions can be used by device drivers
// All other PBM_Pkt fields are reserved
//
#define PBM_getBufferLen(hPkt)      (((PBM_Pkt*)hPkt)->BufferLen)
#define PBM_getDataBuffer(hPkt)     (((PBM_Pkt*)hPkt)->pDataBuffer)
#define PBM_getValidLen(hPkt)       (((PBM_Pkt*)hPkt)->ValidLen)
#define PBM_getDataOffset(hPkt)     (((PBM_Pkt*)hPkt)->DataOffset)
#define PBM_getIFRx(hPkt)           (((PBM_Pkt*)hPkt)->hIFRx)

#define PBM_setValidLen(hPkt,x)     (((PBM_Pkt*)hPkt)->ValidLen=(x))
#define PBM_setDataOffset(hPkt,x)   (((PBM_Pkt*)hPkt)->DataOffset=(x))
#define PBM_setIFRx(hPkt,x)         (((PBM_Pkt*)hPkt)->hIFRx=(x))

//-----------------------------------------------------------------------
//----[ PACKET BUFFER QUEUE ]--------------------------------------------
//-----------------------------------------------------------------------

// Packet Buffer Queue Object
typedef struct _PBMQ {
  uint              Count;      // Number of packets in queue
  PBM_Pkt           *pHead;     // Pointer to first packet
  PBM_Pkt           *pTail;     // Pointer to last packet
} PBMQ;

// Packet Queue Functions (re-entrant and "kernel mode" agnostic)
#define            PBMQ_init(pQ)   mmZeroInit( pQ, sizeof(PBMQ) )
#define            PBMQ_count(pQ) ((pQ)->Count)
_extern void       PBMQ_enq( PBMQ *pQ, PBM_Handle hPkt );
_extern PBM_Handle PBMQ_deq( PBMQ *pQ );

//-----------------------------------------------------------------------
//----[ STACK EVENT OBJECT ]---------------------------------------------
//-----------------------------------------------------------------------

// Stack Event Object
typedef struct _stkevent {
    SEM_Handle  hSemEvent;
    uint        EventCodes[3];
} STKEVENT;


#define STKEVENT_TIMER        0
#define STKEVENT_ETHERNET     1
#define STKEVENT_SERIAL       2

// STKEVENT Handle
typedef void * STKEVENT_Handle;


// Packet Queue Functions (kernel mode agnostic

//
// void STKEVENT_signal( STKEVENT_Handle hEventRec, uint Event, uint Ext );
//          hEventRec       Handle to Event Record
//          Event           Event Code to Signal
//          Ext             Set to 1 if triggered by an external event (isr)
//                          Set to 0 if detected by polling function
#define STKEVENT_signal(h,event,ext) { \
                                ((STKEVENT *)h)->EventCodes[event]=1; \
                                if( ext && ((STKEVENT *)h)->hSemEvent ) \
                                SEM_post( ((STKEVENT *)h)->hSemEvent ); }

#define STKEVENT_init(h,hSem) { \
                                mmZeroInit( h, sizeof(STKEVENT) ); \
                                ((STKEVENT *)h)->hSemEvent = hSem; }


//---------------------------------------------
//---------------------------------------------
// TASK
//---------------------------------------------
//---------------------------------------------

//
// These functions may need to be hooked or ported
//
_extern HANDLE TaskCreate( void(*pFun)(), char *Name,
                          int Priority, uint StackSize,
                          UINT32 Arg1, UINT32 Arg2, UINT32 Arg3 );
_extern void   TaskDestroy( HANDLE h );
_extern void   TaskSetEnv( HANDLE h, int Slot, HANDLE hEnv );
_extern HANDLE TaskGetEnv( HANDLE h, int Slot );
_extern void   TaskExit();

//
// These functions map directly to SPOX
//
#define TaskBlock( h )          TSK_setpri( (TSK_Handle)h, -1 )
#define TaskSelf()              ((HANDLE)TSK_self())
#define TaskSetPri( h, p )      TSK_setpri( (TSK_Handle)h, p )
#define TaskGetPri( h )         TSK_getpri( (TSK_Handle)h )
#define TaskSleep( t )          TSK_sleep( t )
#define TaskYield()             TSK_yield()

//
// Kernel Level Gateway Functions
//
_extern void  llEnter();
_extern void  llExit();

// Low Resource Flag (for use by Kernel functions)
extern uint   _TaskFlagLowResource;

//---------------------------------------------
//---------------------------------------------
// SEM
//---------------------------------------------
//---------------------------------------------

//
// These functions map directly to SPOX
//
#define SEM_FOREVER SYS_FOREVER
#define SemCreate( c )          ((HANDLE *)SEM_create( c, 0 ))
#define SemDelete( h )          SEM_delete( (SEM_Handle)h )
#define SemCount( h )           SEM_count( (SEM_Handle)h ) )
#define SemPend( h, t )         SEM_pend( (SEM_Handle)h, t )
#define SemPost( h )            SEM_post( (SEM_Handle)h )
#define SemReset( h, c )        SEM_reset( (SEM_Handle)h, c )

//---------------------------------------------
//---------------------------------------------
// MEMORY
//---------------------------------------------
//---------------------------------------------

_extern void   *mmAlloc( uint Size );
_extern void   mmFree( void* pv );
_extern void   mmCopy( void* pDst, void* pSrc, uint Size );
_extern void   mmZeroInit( void* pDst, uint Size );
_extern void   *mmBulkAlloc( INT32 Size );
_extern void   mmBulkFree( void *pMemory );

//---------------------------------------------
//---------------------------------------------
// DEBUG
//---------------------------------------------
//---------------------------------------------
// Debug Log
#define LL_DEBUG_LOG_MAX        1024
extern int   DebugCritError;                // Set on critical error
extern int   DebugLogSize;                  // Size of data in DebugLog
extern char far DebugLog[LL_DEBUG_LOG_MAX]; // Buffer holding debug messages

_extern void    DbgPrintf(uint Level, char *fmt, ... );
#define DBG_INFO        1
#define DBG_WARN        2
#define DBG_ERROR       3
#define DBG_NONE        4

//---------------------------------------------
//---------------------------------------------
// Fast Crit Sections
//---------------------------------------------
//---------------------------------------------
_extern uint OEMSysCritOn();
_extern void OEMSysCritOff( uint enable );

//---------------------------------------------
//---------------------------------------------
// Cache
//---------------------------------------------
//---------------------------------------------
_extern void OEMCacheClean( void *pAddr, uint Length );
_extern void OEMCacheCleanSynch();

//---------------------------------------------
//---------------------------------------------
// PRINTF
//---------------------------------------------
//---------------------------------------------

_extern int  printf(const char *format, ...);
_extern int  sprintf(char *s, const char *format, ...);
_extern int  vprintf(const char *format, va_list arg);
_extern int  vsprintf(char *s, const char *format, va_list arg);

//---------------------------------------------
//---------------------------------------------
// Embedded File System
//---------------------------------------------
//---------------------------------------------

// File system equates
#define EFS_FILENAME_MAX    80

// File type equates
#define EFS_SEEK_SET        0
#define EFS_SEEK_CUR        1
#define EFS_SEEK_END        2
#define EFS_FILE            void

// Executable function
typedef void (*EFSFUN)();

// Functions
_extern void      efs_createfile( char *name, INT32 length, UINT8 *pData );
_extern void      efs_createfilecb( char *name, INT32 length, UINT8 *pData,
                                    EFSFUN pllDestroyFun, UINT32 MemMgrArg );

_extern void      efs_destroyfile( char *name );
_extern EFSFUN    efs_loadfunction( char *name );

_extern EFS_FILE *efs_fopen( char *name, char *mode );
_extern int       efs_fclose( EFS_FILE *stream );
_extern int       efs_feof( EFS_FILE *stream );
_extern size_t    efs_fread( void *ptr, size_t size, size_t nobj,
                            EFS_FILE *stream );
_extern size_t    efs_fwrite( void *ptr, size_t size, size_t nobj,
                             EFS_FILE *stream );
_extern INT32     efs_fseek( EFS_FILE *stream, INT32 offset, int origin );
_extern INT32     efs_ftell( EFS_FILE *stream );
_extern void      efs_rewind( EFS_FILE *stream );
_extern INT32     efs_getfilesize( EFS_FILE *f );


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合狠狠综合久久综合88| 久久综合国产精品| 日韩三级伦理片妻子的秘密按摩| 日韩久久久久久| 成人免费在线视频观看| 免费xxxx性欧美18vr| 91亚洲国产成人精品一区二区三| 91精品国产综合久久小美女| 亚洲人精品午夜| 国产毛片精品一区| 欧美成人一区二区| 亚洲成人av在线电影| av一区二区三区四区| 久久综合五月天婷婷伊人| 午夜精品久久久久久久99水蜜桃 | 欧洲国产伦久久久久久久| 2017欧美狠狠色| 免费av网站大全久久| 欧美日韩和欧美的一区二区| 亚洲三级理论片| 成人av午夜电影| 日本一区二区三区视频视频| 国产精品中文字幕日韩精品 | 日本sm残虐另类| 色屁屁一区二区| 亚洲免费在线观看视频| 99综合电影在线视频| 欧美国产1区2区| 大尺度一区二区| 国产女人18毛片水真多成人如厕 | 国产日韩欧美精品在线| 美女视频黄频大全不卡视频在线播放| 欧美私人免费视频| 亚洲自拍偷拍麻豆| 欧美日韩一区二区三区在线| 亚洲一区二区欧美| 日本高清视频一区二区| 樱桃国产成人精品视频| 欧美午夜在线一二页| 亚洲成人久久影院| 欧美一级片免费看| 不卡在线观看av| 亚洲欧美偷拍另类a∨色屁股| 97se亚洲国产综合自在线| 亚洲色图欧美偷拍| 欧美性色黄大片手机版| 天堂在线亚洲视频| 337p亚洲精品色噜噜狠狠| 蜜臀久久99精品久久久画质超高清 | 亚洲欧洲一区二区在线播放| 成人app网站| 亚洲一区二区三区在线| 91精品在线麻豆| 国产在线麻豆精品观看| 国产精品久久久久国产精品日日| 97超碰欧美中文字幕| 亚洲v中文字幕| 日韩视频一区二区在线观看| 国产成人免费视频一区| 亚洲日本护士毛茸茸| 91.com在线观看| 国产剧情一区二区| 亚洲欧美日韩一区二区| 欧美精品一卡二卡| 国产一区二三区| 亚洲精品国产一区二区精华液 | 国产日韩欧美激情| 在线观看av一区二区| 美女mm1313爽爽久久久蜜臀| 国产精品久久毛片| 91精品国产91久久久久久最新毛片| 国产一区二区三区综合| 亚洲一区二区三区在线| 久久久国产精品麻豆| 欧洲一区二区三区免费视频| 精一区二区三区| 亚洲一区二区三区自拍| 国产色91在线| 欧美一区二区三区在线观看视频| 成人激情黄色小说| 免费高清不卡av| 亚洲国产你懂的| 国产精品国产三级国产| 91精品久久久久久久99蜜桃| 91在线云播放| 精品系列免费在线观看| 亚洲午夜影视影院在线观看| 欧美激情一区二区在线| 日韩一级高清毛片| 欧美日韩亚洲综合在线| 成人午夜激情在线| 国内一区二区在线| 日韩专区一卡二卡| 亚洲自拍偷拍网站| 1024成人网| 国产欧美一区二区精品久导航| 日韩一区二区三区av| 欧美色爱综合网| 一道本成人在线| 99r精品视频| 成人免费看片app下载| 久久精品国产精品亚洲红杏| 午夜精品福利一区二区三区av| 亚洲精品中文字幕乱码三区| 国产免费成人在线视频| 亚洲精品一区在线观看| 精品国产污污免费网站入口| 欧美一区二区三区视频免费 | 日韩欧美在线影院| 欧美精品久久天天躁| 欧美亚洲自拍偷拍| 色综合色狠狠综合色| 成人动漫在线一区| 岛国av在线一区| 国产精品99久久久久久宅男| 国产精品亚洲午夜一区二区三区 | 99久久国产综合精品麻豆| 国产盗摄一区二区| 国产电影精品久久禁18| 大白屁股一区二区视频| av动漫一区二区| 97久久精品人人做人人爽| 色偷偷成人一区二区三区91| 色又黄又爽网站www久久| 色哦色哦哦色天天综合| 欧美在线观看视频一区二区三区| 91福利资源站| 欧美二区乱c少妇| 精品国产亚洲在线| 国产亚洲人成网站| 欧美激情一区二区在线| 亚洲精品欧美在线| 丝袜诱惑亚洲看片| 老司机一区二区| 国产成人综合在线播放| 成人av资源在线| 欧美色偷偷大香| 日韩一卡二卡三卡四卡| 久久久久久久久久久99999| 国产精品久久综合| 亚欧色一区w666天堂| 青青草国产成人av片免费| 国产九九视频一区二区三区| 91视频你懂的| 日韩欧美专区在线| 欧美国产日韩a欧美在线观看| 亚洲美腿欧美偷拍| 麻豆视频观看网址久久| 国产精品18久久久久久久久| 色婷婷一区二区| 精品国产乱码久久久久久免费 | 人人狠狠综合久久亚洲| 国产精品一区免费在线观看| 91丨九色丨国产丨porny| 欧美精品久久99| 国产精品嫩草久久久久| 婷婷中文字幕综合| 粉嫩一区二区三区性色av| 欧美三级日本三级少妇99| 2020国产精品| 调教+趴+乳夹+国产+精品| 国产99一区视频免费| 8v天堂国产在线一区二区| 国产精品视频免费看| 日韩国产欧美在线视频| 色综合中文字幕国产| 欧美精品久久一区二区三区| 18欧美乱大交hd1984| 久久精品国产999大香线蕉| 在线日韩一区二区| 欧美国产成人精品| 国内精品国产三级国产a久久| 在线亚洲精品福利网址导航| 欧美国产日韩在线观看| 久久丁香综合五月国产三级网站| 日本道在线观看一区二区| 久久理论电影网| 蜜桃久久久久久| 欧美精品在线观看一区二区| 亚洲欧美在线视频| 国产精品一二三四| 日韩欧美自拍偷拍| 亚洲1区2区3区4区| 欧美吞精做爰啪啪高潮| 亚洲人被黑人高潮完整版| 国产不卡在线播放| 欧美变态凌虐bdsm| 日韩国产欧美三级| 色琪琪一区二区三区亚洲区| 国产精品欧美经典| 国产精品一区在线观看乱码| 精品av综合导航| 久久草av在线| 精品国产免费人成在线观看| 日本va欧美va精品| 欧美一区二区不卡视频| 日韩av网站在线观看| 日韩一区二区三区三四区视频在线观看 | 久久久噜噜噜久久人人看| 美女任你摸久久|