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

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

?? kapidata.h

?? ecos下的gui開發源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef CYGONCE_KERNEL_KAPIDATA_H
#define CYGONCE_KERNEL_KAPIDATA_H

/*=============================================================================
//
//      kapidata.h
//
//      Native API data structures
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 2002 Bart Veer
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s):   nickg
// Contributors:        nickg
// Date:        1998-03-13
// Purpose:     Native API data structures
// Description: This file defines the structures used in the native API. The
//              sizes of these structures are dependent on the system
//              configuration and must be kept in step with their real
//              counterparts in the C++ headers.
//              IMPORTANT: It is NOT guaranteed that the fields of these
//              structures correspond to the equivalent fields in the
//              C++ classes they shadow.
//
//              One oddity with this file is that the way many of the "mirror"
//              classes are defined with macros. The resulting structures
//              then have a "flat" layout, rather than just declaring a
//              member structure directly in the structure. The reason for
//              this is that as of GCC 3.x, the C++ compiler will optimise
//              classes by removing padding and reusing it for subsequent
//              members defined in a derived class. This affects some targets
//              (including PowerPC and MIPS at least) when a C++ base class
//              includes a long long. By instead arranging for the C structure
//              to just list all the members directly, the compiler will then
//              behave the same for the C structures as the C++ classes.
//
//              This means that care has to be taken to follow the same
//              methodology if new stuff is added to this file. Even if
//              it doesn't contain long longs for your target, it may for
//              others, depending on HAL definitions.
//
// Usage:       included by kapi.h
//
//####DESCRIPTIONEND####
//
//==========================================================================*/

#include <pkgconf/system.h>
#include <pkgconf/kernel.h>

#include <cyg/infra/cyg_type.h>
#include <cyg/hal/hal_intr.h>           // exception defines

/*---------------------------------------------------------------------------*/

#ifdef __cplusplus
extern "C" {
#endif

/*---------------------------------------------------------------------------*/

#ifndef CYGNUM_KERNEL_SCHED_BITMAP_SIZE
#if defined(CYGSEM_KERNEL_SCHED_MLQUEUE)
#define CYGNUM_KERNEL_SCHED_BITMAP_SIZE 32
#elif defined(CYGSEM_KERNEL_SCHED_BITMAP)
#define CYGNUM_KERNEL_SCHED_BITMAP_SIZE 32
#endif
#endif

#if CYGNUM_KERNEL_SCHED_BITMAP_SIZE <= 8
typedef cyg_ucount8 cyg_sched_bitmap;
#elif CYGNUM_KERNEL_SCHED_BITMAP_SIZE <= 16
typedef cyg_ucount16 cyg_sched_bitmap;
#elif CYGNUM_KERNEL_SCHED_BITMAP_SIZE <= 32
typedef cyg_ucount32 cyg_sched_bitmap;
#elif CYGNUM_KERNEL_SCHED_BITMAP_SIZE <= 64
typedef cyg_ucount64 cyg_sched_bitmap;
#else
#error Bitmaps greater than 64 bits not currently allowed
#endif

typedef struct 
{
#if defined(CYGSEM_KERNEL_SCHED_BITMAP)

    cyg_sched_bitmap map;
    
#elif defined(CYGSEM_KERNEL_SCHED_MLQUEUE)

    cyg_thread *queue;

#elif defined(CYGSEM_KERNEL_SCHED_LOTTERY)

    cyg_thread *queue;

#else

#error Undefined scheduler type
    
#endif    
} cyg_threadqueue;
    
/*---------------------------------------------------------------------------*/

struct cyg_interrupt
{
    cyg_vector_t        vector;
    cyg_priority_t      priority;
    cyg_ISR_t           *isr;
    cyg_DSR_t           *dsr;
    CYG_ADDRWORD        data;

#ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST
    cyg_ucount32        dsr_count;
    cyg_interrupt       *next_dsr;
#endif
#ifdef CYGIMP_KERNEL_INTERRUPTS_CHAIN
    cyg_interrupt       *next;
#endif
};


/*---------------------------------------------------------------------------*/


#if defined(CYGIMP_KERNEL_COUNTERS_SINGLE_LIST)
# define CYG_COUNTER_ALARM_LIST_MEMBER \
    cyg_alarm           *alarm_list;
#elif defined(CYGIMP_KERNEL_COUNTERS_MULTI_LIST)
# define CYG_COUNTER_ALARM_LIST_MEMBER \
    cyg_alarm           *alarm_list[CYGNUM_KERNEL_COUNTERS_MULTI_LIST_SIZE];
#else
# define CYG_COUNTER_ALARM_LIST_MEMBER
#endif

#define CYG_COUNTER_MEMBERS              \
    CYG_COUNTER_ALARM_LIST_MEMBER        \
    cyg_tick_count_t    counter;         \
    cyg_uint32          increment;

struct cyg_counter
{
    CYG_COUNTER_MEMBERS
};

/*---------------------------------------------------------------------------*/

struct cyg_clock
{
    CYG_COUNTER_MEMBERS
    CYG_RESOLUTION_T_MEMBERS
};

/*---------------------------------------------------------------------------*/


#if defined(CYGIMP_KERNEL_COUNTERS_SINGLE_LIST) ||  \
    defined(CYGIMP_KERNEL_COUNTERS_MULTI_LIST)      
# define CYG_ALARM_LIST_MEMBERS                     \
    cyg_alarm           *next;                      \
    cyg_alarm           *prev;
#else 
# define CYG_ALARM_LIST_MEMBERS
#endif

#define CYG_ALARM_MEMBERS           \
    CYG_ALARM_LIST_MEMBERS          \
    cyg_counter         *counter;   \
    cyg_alarm_t         *alarm;     \
    CYG_ADDRWORD        data;       \
    cyg_tick_count_t    trigger;    \
    cyg_tick_count_t    interval;   \
    cyg_bool            enabled;

struct cyg_alarm
{
    CYG_ALARM_MEMBERS
};

/*---------------------------------------------------------------------------*/
/* Exception controller                                                      */

#ifdef CYGPKG_KERNEL_EXCEPTIONS

# ifdef CYGSEM_KERNEL_EXCEPTIONS_DECODE
#  define CYG_EXCEPTION_CONTROL_MEMBERS                                     \
    cyg_exception_handler_t *exception_handler[CYGNUM_HAL_EXCEPTION_COUNT]; \
    CYG_ADDRWORD            exception_data[CYGNUM_HAL_EXCEPTION_COUNT];     
# else
#  define CYG_EXCEPTION_CONTROL_MEMBERS                                \
    cyg_exception_handler_t *exception_handler; /* Handler function */ \
    CYG_ADDRWORD            exception_data;     /* Handler data */
# endif

typedef struct
{
    CYG_EXCEPTION_CONTROL_MEMBERS    
} cyg_exception_control;

#endif

/*---------------------------------------------------------------------------*/
/* Hardware Thread structure                                                 */

#ifdef CYGFUN_KERNEL_THREADS_STACK_LIMIT
# define CYG_HARDWARETHREAD_STACK_LIMIT_MEMBER \
    CYG_ADDRESS         stack_limit;    /* movable stack limit */
#else
# define CYG_HARDWARETHREAD_STACK_LIMIT_MEMBER
#endif

#ifdef CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
# define CYG_HARDWARETHREAD_SAVED_CONTEXT_MEMBER \
    void                *saved_context; // If non-zero, this points at a more
                                        // interesting context than stack_ptr.
#else
# define CYG_HARDWARETHREAD_SAVED_CONTEXT_MEMBER
#endif

typedef void cyg_thread_entry(CYG_ADDRWORD data);

#define CYG_HARDWARETHREAD_MEMBERS                                           \
    CYG_ADDRESS         stack_base;   /* pointer to base of stack area */    \
    cyg_uint32          stack_size;   /* size of stack area in bytes */      \
    CYG_HARDWARETHREAD_STACK_LIMIT_MEMBER                                    \
    CYG_ADDRESS         stack_ptr;    /* pointer to saved state on stack */  \
    cyg_thread_entry   *entry_point;  /* main entry point (code pointer!) */ \
    CYG_ADDRWORD        entry_data;   /* entry point argument */             \
    CYG_HARDWARETHREAD_SAVED_CONTEXT_MEMBER

typedef struct
{
    CYG_HARDWARETHREAD_MEMBERS
} cyg_hardwarethread;

/*---------------------------------------------------------------------------*/
/* Scheduler Thread structure                                                */

#ifdef CYGPKG_KERNEL_SMP_SUPPORT
# define CYG_SCHEDTHREAD_CPU_MEMBER \
    cyg_uint32          cpu;            // CPU id of cpu currently running
#else
# define CYG_SCHEDTHREAD_CPU_MEMBER
#endif

#ifdef CYGSEM_KERNEL_SCHED_TIMESLICE
# define CYG_SCHEDTHREAD_TIMESLICE_MEMBER \
    cyg_ucount32         timeslice_count; /* per-thread timeslice counter */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产人成综合网站| 国产成人av网站| 国产亚洲午夜高清国产拍精品| 91福利小视频| 成人综合激情网| 国产麻豆精品95视频| 亚洲成人免费电影| 亚洲欧美另类小说视频| 国产精品欧美综合在线| 国产日韩欧美不卡| 久久精品视频在线免费观看| 538在线一区二区精品国产| 成人综合日日夜夜| 国产精品一卡二卡在线观看| 久久99精品视频| 久久精品99国产精品| 图片区日韩欧美亚洲| 一区二区三区免费看视频| 自拍偷拍欧美精品| 亚洲特黄一级片| 国产精品久久久久影院色老大| 国产亚洲欧美日韩在线一区| 精品国产免费人成在线观看| 精品国产亚洲在线| 日韩免费在线观看| 精品国产一区二区三区久久影院| 欧美精品久久一区二区三区| 欧美在线观看一区| 欧美日韩国产乱码电影| 欧美精品色一区二区三区| 欧美精品精品一区| 日韩欧美国产精品一区| 精品国产电影一区二区| 26uuu国产日韩综合| 国产日韩欧美激情| 国产精品盗摄一区二区三区| 最近中文字幕一区二区三区| 成人看片黄a免费看在线| 国产成人亚洲综合色影视| 成人在线一区二区三区| 久久99精品国产麻豆婷婷| 五月天激情小说综合| 奇米精品一区二区三区四区| 久久国产精品99久久久久久老狼| 精品一区二区精品| 国产福利一区二区三区在线视频| a美女胸又www黄视频久久| 日本精品视频一区二区| 88在线观看91蜜桃国自产| 日韩视频在线一区二区| 久久精品欧美一区二区三区不卡| 亚洲欧洲另类国产综合| 一区二区三区四区在线播放| 日本在线观看不卡视频| 免费高清不卡av| 国产91精品在线观看| 91在线视频播放| 在线播放91灌醉迷j高跟美女 | 一区二区在线电影| 天堂va蜜桃一区二区三区漫画版| 久久国产夜色精品鲁鲁99| 国产99久久久国产精品潘金网站| 91美女视频网站| 日韩一二在线观看| 国产精品人妖ts系列视频| 亚洲国产精品久久艾草纯爱| 亚洲国产成人porn| 国内精品视频666| 99久久国产免费看| 在线91免费看| 欧美高清一级片在线观看| 亚洲自拍偷拍图区| 国产一区二区精品久久91| 91麻豆国产精品久久| 日韩欧美一级在线播放| 亚洲女同ⅹxx女同tv| 毛片av一区二区| 欧美三级韩国三级日本三斤| 国产亚洲精品中文字幕| 亚洲色欲色欲www在线观看| 国产乱国产乱300精品| 国产精品二区一区二区aⅴ污介绍| 美女看a上一区| 欧美性xxxxxx少妇| 国产亚洲精品aa午夜观看| 蜜桃视频一区二区三区在线观看| 99r精品视频| 国产偷国产偷精品高清尤物| 亚洲最新视频在线观看| 成人高清视频在线观看| 日韩欧美国产三级| 亚洲最大的成人av| jiyouzz国产精品久久| 久久影院视频免费| 日韩精品电影在线| 欧美性生活影院| 国产欧美一区二区精品仙草咪| 日韩av一区二区三区| 色婷婷精品大在线视频| 国产喷白浆一区二区三区| 国产尤物一区二区在线| 日韩视频一区在线观看| 亚洲同性同志一二三专区| av成人免费在线| 国产精品热久久久久夜色精品三区 | 亚洲国产日韩a在线播放性色| 成人深夜视频在线观看| 2020国产精品自拍| 国产精品资源在线观看| 精品少妇一区二区三区日产乱码| 久久草av在线| 日韩欧美在线综合网| 无码av中文一区二区三区桃花岛| 欧美视频中文字幕| 亚洲在线视频网站| 成人综合激情网| 国产精品久久久久久亚洲伦| 国产成人午夜高潮毛片| 国产日韩亚洲欧美综合| 国产69精品久久777的优势| 久久久美女艺术照精彩视频福利播放| 高清日韩电视剧大全免费| 日本一区二区三区在线不卡 | 欧美一二三四在线| 日韩精品午夜视频| 欧美亚洲国产一区二区三区va| 同产精品九九九| 555夜色666亚洲国产免| 久久99精品国产91久久来源| 久久女同性恋中文字幕| 成人app网站| 亚洲精品成人悠悠色影视| 9人人澡人人爽人人精品| 亚洲图片自拍偷拍| 欧美日韩成人激情| 国内精品在线播放| 国产亚洲制服色| 在线看日韩精品电影| 日韩在线观看一区二区| 欧美一区二区视频在线观看2022| 国产最新精品精品你懂的| 国产女同性恋一区二区| av不卡一区二区三区| 亚洲一区二区五区| 91麻豆精品国产自产在线观看一区 | 成人美女视频在线观看18| 欧美激情一区二区在线| 韩国三级中文字幕hd久久精品| 国产欧美一区二区精品性色超碰| 成人av免费在线观看| 伊人色综合久久天天人手人婷| 日韩欧美国产一区二区在线播放| 国产成人av电影免费在线观看| 亚洲综合激情网| 欧美精品一区二区久久久| 日韩精品中文字幕在线一区| 成人app在线| 午夜久久久影院| 国产精品免费aⅴ片在线观看| 91黄色免费版| 狠狠色丁香久久婷婷综| 亚洲男同1069视频| 欧美日本在线一区| 国产麻豆视频一区| 亚洲无线码一区二区三区| 精品国产乱码久久久久久免费| 日本乱人伦aⅴ精品| 欧美aaaaaa午夜精品| 中文字幕欧美三区| 欧美三级中文字幕| 国产高清精品久久久久| 亚洲一区二区不卡免费| 精品成人免费观看| 色婷婷综合久久久久中文一区二区 | 日韩亚洲欧美在线| 高清国产一区二区三区| 五月婷婷激情综合| 欧美韩国日本综合| 欧美日本一区二区三区四区| 国产69精品久久久久毛片 | 久久国产精品色| 一区二区高清在线| 国产日产欧美一区二区三区| 欧美日韩精品欧美日韩精品 | 日韩专区在线视频| 久久久久久久久久久久久久久99 | 911精品国产一区二区在线| 91美女视频网站| 成人网男人的天堂| 国产又黄又大久久| 久久99九九99精品| 青青草成人在线观看| 亚洲午夜激情av| 亚洲青青青在线视频| 欧美高清在线一区二区| 久久久久久久久一| 欧美刺激午夜性久久久久久久| 91精品国产综合久久小美女| 欧美美女视频在线观看| 欧美三级电影精品|