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

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

?? uitron.h

?? ecos為實時嵌入式操作系統
?? H
?? 第 1 頁 / 共 3 頁
字號:
#ifndef CYGONCE_PKGCONF_UITRON_H#define CYGONCE_PKGCONF_UITRON_H//===========================================================================////      pkgconf/uitron.h////      uITRON configuration file////===========================================================================//####COPYRIGHTBEGIN####//// -------------------------------------------// The contents of this file are subject to the Cygnus eCos Public License// Version 1.0 (the "License"); you may not use this file except in// compliance with the License.  You may obtain a copy of the License at// http://sourceware.cygnus.com/ecos// // Software distributed under the License is distributed on an "AS IS"// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the// License for the specific language governing rights and limitations under// the License.// // The Original Code is eCos - Embedded Cygnus Operating System, released// September 30, 1998.// // The Initial Developer of the Original Code is Cygnus.  Portions created// by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions.  All Rights Reserved.// -------------------------------------------////####COPYRIGHTEND####//===========================================================================//#####DESCRIPTIONBEGIN####//// Author(s):   hmt// Contributors:        hmt// Date:        1998-03-16// Purpose:     uITRON configuration file// Description: ////####DESCRIPTIONEND####////===========================================================================// The layout of the uITRON Compatibility layer source code is documented in//      .../<REPOSITORY>/compat/uitron/<VERSION>/include/uit_func.h// First get external global configuration in force:#include <pkgconf/kernel.h>// The basic question: is the uITRON package provided at all?#ifdef CYGPKG_UITRON/* --------------------------------------------------------------------- * Define an overall package for the UITRON Compatibility layer. Then * create additional packages for the various different UITRON's currently * available. *  * Thought: Can we get a real 'mu' out of this in uITRON throughout? * It's \265 in C strings, in iso_8859_1 * * * {{CFG_DATA   cdl_package CYGPKG_UITRON {       display "eCos uITRON compatibility layer"       type    boolean       requires CYGPKG_KERNEL       description "eCos supports a uITRON Compatibility Layer, providing                full Level S (Standard) compliance with Version 3.02 of                the uITRON Standard, plus many Level E (Extended) features.                uITRON is the premier Japanese embedded RTOS standard."       doc     ref/ecos-ref/micro-itron-api.html   }   }}CFG_DATA */// ------------------------------------------------------------------------//                       Conformance check// ------------------------------------------------------------------------/* {{CFG_DATA   cdl_option CYGIMP_UITRON_STRICT_CONFORMANCE {       display "Check strict uITRON standards conformance"       parent           CYGPKG_UITRON       type             radio       description "Require the rest of the system configuration                to match the needs of strict uITRON standards conformance.                This option can only be set if the rest of the system is                configured correctly for uITRON semantics, for example                there must be a realtime clock, a suitable scheduler, and no                timeslicing.                Of course a system without this selected can be completely                conformant; this is here to help you check."       doc      ref/ecos-ref/micro-itron-api.html       requires  CYGVAR_KERNEL_COUNTERS_CLOCK       requires  CYGSEM_KERNEL_SCHED_MLQUEUE       requires !CYGSEM_KERNEL_SCHED_TIMESLICE       requires  CYGFUN_KERNEL_THREADS_TIMER   }   cdl_option CYGIMP_UITRON_LOOSE_CONFORMANCE {       display "System configuration overrides uITRON"       parent           CYGPKG_UITRON       type             radio       description "Do not require the rest of the system configuration                to match the needs of strict uITRON standards conformance.                For example a bitmap scheduler, or timeslicing, can be used                with the uITRON functions, but such an environment is not                strictly conformant with the uITRON specification.                Of course a system with this selected can be completely                conformant; but it is up to you to configure it correctly."       doc      ref/ecos-ref/micro-itron-api.html   }   }}CFG_DATA */#undef  CYGIMP_UITRON_STRICT_CONFORMANCE#define CYGIMP_UITRON_LOOSE_CONFORMANCE               // ------------------------------------------------------------------------//                       uITRON FUNCTION CALLS// ------------------------------------------------------------------------// If compiling with a C++ compiler, uITRON functions can be inline:// define this to make it so./* {{CFG_DATA   cdl_option CYGIMP_UITRON_INLINE_FUNCS {       display          "Inline functions"       parent           CYGPKG_UITRON       type             boolean       description "If compiling your application with a C++ compiler,                uITRON functions can be inline: set this to make it so.                Inlining functions often increases execution speed,                though possibly at the cost of a larger executable,                depending on what functions are used.                Do NOT set this if compiling your application                in plain C."       doc      ref/ecos-ref/micro-itron-api.html   }   }}CFG_DATA */#undef CYGIMP_UITRON_INLINE_FUNCS// If not using inline functions, then uITRON functions are out-of-line; by// default they have plain 'C' linkage ie. their names are extern 'C' in// the C++ world and unadorned in the C world.  To give them C++ names (NOT// useable by plain 'C' programs), define this:/* {{CFG_DATA   cdl_option CYGIMP_UITRON_CPP_OUTLINE_FUNCS {       display          "C++ function names"       parent           CYGPKG_UITRON       type             boolean       description "If compiling your application with a C++ compiler,                uITRON functions can be given C++ style mangled names:                set this to make it so.                This option may make debugging your program easier,                depending on your development environment.                Do NOT set this if compiling your application                in plain C."       doc      ref/ecos-ref/micro-itron-api.html   }   }}CFG_DATA */#undef CYGIMP_UITRON_CPP_OUTLINE_FUNCS// When an application is fully debugged it might be useful to remove the// code which checks parameters in the uITRON function calls.  To use// asserts [CYG_ASSERT()] instead - which are compiled to nothing in// release flavored builds - define this:/* {{CFG_DATA   cdl_option CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS {       display          "Return error codes for bad params"       parent           CYGPKG_UITRON       type             boolean       description "When an application is fully debugged there is no need                to check for bad parameters on every system call, for those                parameters which are typically pointers or constants.                Removing the checking code saves space                and improves performance: set this to make it so.                When this option is set, the correctness of parameters                is asserted using CYG_ASSERT() which compiles to                nothing in a non-debug configuration."       doc      ref/ecos-ref/micro-itron-api.html   }   }}CFG_DATA */#define CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS// By default both C's NULL and uITRON's NADR are treated as bad addresses;// but some controllers might have memory at address zero, and want to use// it.  In that case, prevent NULL being bounced by enabling this:/* {{CFG_DATA   cdl_option CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR {       display          "NULL is a good pointer"       parent           CYGPKG_UITRON       type             boolean       description "uITRON deliberately defines the constant NADR (-1) for                use as an invalid memory address.                The value -1 is chosen to allow working in microcontrollers                which have real memory at address zero, the traditional 'C'                NULL pointer.                By default, uITRON functions check for both NULL and NADR as                bad addresses: set this option to prevent checking for                NULL and allow pointers to address zero to be used."       doc      ref/ecos-ref/micro-itron-api.html   }   }}CFG_DATA */#undef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR// ------------------------------------------------------------------------//                      uITRON KERNEL OBJECTS// ------------------------------------------------------------------------// First, simple synchronisation objects without complex initialization:// semaphores, message or mail boxes and flags.  Declare how many of each// will exist in the system.  They will be statically created with default// initialization, ready for use.  Their IDs in the uITRON sense are from 1// to the value of the appropriate symbol below:/* {{CFG_DATA   cdl_component CYGPKG_UITRON_SEMAS {       display "Semaphores"       type    boolean       parent  CYGPKG_UITRON       description "uITRON Semaphore objects are used with functions                named xxx_sem(); they support traditional semaphore                semantics."   }   cdl_option CYGNUM_UITRON_SEMAS {       display          "Number of semaphores"       parent           CYGPKG_UITRON_SEMAS       type             count       legal_values     1 to 65535       description "The number of uITRON semaphores                present in the system.                Valid semaphore object IDs will range                from 1 to this value."   }   cdl_component CYGPKG_UITRON_SEMAS_CREATE_DELETE {       display "Support create and delete"       parent  CYGPKG_UITRON_SEMAS       type    boolean       description "Support                semaphore                create and delete operations                (cre_sem, del_sem).                Otherwise all semaphores are created,                up to the number specified above."   }   cdl_option CYGNUM_UITRON_SEMAS_INITIALLY {       display          "Number of semaphores created initially"       parent           CYGPKG_UITRON_SEMAS_CREATE_DELETE       type             count       legal_values     0 to 65535       description "The number of uITRON semaphores initially created.                This number should not be more than the number                of semaphores in the system, though setting it to a large                value to mean 'all' is acceptable.                Initially, only semaphores numbered 1 to this number exist;                higher numbered ones must be created before use.                It is only useful to initialize semaphores up to this number;                higher numbered ones must be created in order to use them,                and so they will be re-initialized."   }   cdl_component CYGPKG_UITRON_SEMAS_ARE_INITIALIZED {       display "Initialize semaphore counts"       parent  CYGPKG_UITRON_SEMAS       type    boolean       description "Initialize semaphores to specific count values.                Otherwise semaphores are initialized with the count                set to zero."   }   cdl_option CYGDAT_UITRON_SEMA_INITIALIZERS {       display          "Static initializers"       parent           CYGPKG_UITRON_SEMAS_ARE_INITIALIZED       type             multiline       description "A list of initializers separated by commas,                one per line.                An initializer is 'CYG_UIT_SEMA(INITIAL-COUNT)'                or 'CYG_UIT_SEMA_NOEXS' for slots above the number                initially to be created, when create and delete                operations are supported.                Note: this option is invoked in the context of a                C++ array initializer, between curly brackets.                Ensure that the number of initializers here exactly                matches the total number of semaphores specified."   }   }}CFG_DATA */// Counting Semaphores: xxx_sem() ops in uITRON.#define CYGPKG_UITRON_SEMAS#define CYGNUM_UITRON_SEMAS   3#undef  CYGPKG_UITRON_SEMAS_ARE_INITIALIZED// Optionally initialize in terms of CYG_UIT_SEMA( initial_count ):#ifdef CYGPKG_UITRON_SEMAS#ifdef CYGPKG_UITRON_SEMAS_ARE_INITIALIZED#if 0 < CYGNUM_UITRON_SEMAS#define CYGDAT_UITRON_SEMA_INITIALIZERS \        CYG_UIT_SEMA(  0 ),     \        CYG_UIT_SEMA(  0 ),     \        CYG_UIT_SEMA(  0 )#endif#endif // CYGPKG_UITRON_SEMAS_ARE_INITIALIZED#define CYGPKG_UITRON_SEMAS_CREATE_DELETE#ifdef  CYGPKG_UITRON_SEMAS_CREATE_DELETE#define CYGNUM_UITRON_SEMAS_INITIALLY 3#endif // CYGPKG_UITRON_SEMAS_CREATE_DELETE#endif // CYGPKG_UITRON_SEMAS/* {{CFG_DATA   cdl_component CYGPKG_UITRON_MBOXES {       display "Mailboxes"       type    boolean       parent  CYGPKG_UITRON       description "uITRON Mailbox objects are used with functions                named xxx_msg() and xxx_mbx(); they support                passing addresses (of 'messages') between tasks                in a safe manner."   }   cdl_option CYGNUM_UITRON_MBOXES {       display          "Number of mailboxes"       parent           CYGPKG_UITRON_MBOXES       type             count       legal_values     1 to 65535       description "The number of uITRON mailboxes                present in the system.                Valid mailbox object IDs will range                from 1 to this value."   }   cdl_component CYGPKG_UITRON_MBOXES_CREATE_DELETE {       display "Support create and delete"       parent  CYGPKG_UITRON_MBOXES       type    boolean       description "Support                mailbox                create and delete operations                (cre_mbx, del_mbx).                Otherwise all mailboxes are created,                up to the number specified above."   }   cdl_option CYGNUM_UITRON_MBOXES_INITIALLY {       display          "Number of mailboxes created initially"       parent           CYGPKG_UITRON_MBOXES_CREATE_DELETE       type             count       legal_values     0 to 65535       description "The number of uITRON mailboxes initially created.                This number should not be more than the number                of mailboxes in the system, though setting it to a large                value to mean 'all' is acceptable.                Initially, only mailboxes numbered 1 to this number exist;                higher numbered ones must be created before use."   }   }}CFG_DATA */// Message Boxes: xxx_msg() ops in uITRON.#define CYGPKG_UITRON_MBOXES#define CYGNUM_UITRON_MBOXES  4

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色av一区二区夜夜嗨| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美综合一区二区| 精品国产一区二区在线观看| 一区二区三区不卡视频| 国产精品1024久久| 欧美一区二区三区四区视频| 亚洲免费电影在线| 国产盗摄一区二区| 精品久久久久久久久久久院品网| 亚洲成人先锋电影| 色狠狠av一区二区三区| 国产精品水嫩水嫩| 久久99精品网久久| 欧美顶级少妇做爰| 午夜久久久久久久久| 97超碰欧美中文字幕| 国产日韩欧美一区二区三区综合| 另类小说欧美激情| 欧美日本在线一区| 亚洲电影视频在线| 欧美日韩亚洲另类| 亚洲综合激情网| 91精品1区2区| 亚洲精品视频一区二区| www.成人网.com| 中文字幕精品三区| 国产成a人亚洲精品| 久久久.com| 成人在线综合网| 亚洲国产激情av| 成人午夜私人影院| 欧美国产一区在线| 成人激情视频网站| 亚洲私人黄色宅男| 日本道色综合久久| 亚洲国产综合色| 欧美乱妇15p| 免费在线观看视频一区| 欧美成人精品福利| 国产一区二区三区在线看麻豆| 久久欧美中文字幕| 粉嫩在线一区二区三区视频| 国产精品卡一卡二| 色综合视频在线观看| 性做久久久久久免费观看| 91麻豆精品国产91久久久| 狠狠色综合色综合网络| 国产欧美日本一区二区三区| 色播五月激情综合网| 亚洲影视在线观看| 91精品福利在线一区二区三区| 国内精品自线一区二区三区视频| 久久久精品免费网站| 91浏览器打开| 蜜桃视频一区二区三区| 国产欧美日韩综合| 欧美在线观看一二区| 久久99精品一区二区三区三区| 中文字幕国产一区| 91久久精品国产91性色tv| 日本不卡免费在线视频| 国产精品美日韩| 欧美精品免费视频| 国产sm精品调教视频网站| 一区二区三区91| 久久久久国产精品人| 日本韩国精品在线| 韩国av一区二区三区四区| 亚洲男帅同性gay1069| 日韩欧美高清dvd碟片| 波多野结衣中文字幕一区二区三区 | 国产成人午夜精品5599| 亚洲精品免费电影| 久久久亚洲综合| 欧美日韩一区三区| 国产高清精品在线| 日韩二区三区四区| 17c精品麻豆一区二区免费| 日韩欧美国产一区二区三区| 在线亚洲+欧美+日本专区| 麻豆一区二区99久久久久| 又紧又大又爽精品一区二区| 国产亚洲欧美一级| 欧美一区二区三区在线观看视频| 99久久精品一区二区| 久久99久久99| 奇米精品一区二区三区在线观看一| 中文字幕精品一区二区精品绿巨人 | 欧美mv和日韩mv的网站| 国产成人精品亚洲777人妖| 一区二区三区中文字幕| 欧美激情一区二区三区四区| 欧美精品丝袜久久久中文字幕| jlzzjlzz国产精品久久| 九九久久精品视频| 午夜国产不卡在线观看视频| 国产精品传媒入口麻豆| 久久久99精品免费观看| 日韩午夜激情免费电影| 555www色欧美视频| 欧美日韩中文字幕精品| av亚洲产国偷v产偷v自拍| 国产精品一区二区无线| 久久不见久久见免费视频1| 香蕉影视欧美成人| 亚洲成人激情自拍| 亚洲图片欧美色图| 亚洲小说春色综合另类电影| 亚洲精品免费一二三区| 亚洲男帅同性gay1069| ...av二区三区久久精品| 国产精品午夜在线| 中文字幕一区二区三区视频 | 伊人开心综合网| 亚洲精品v日韩精品| 一区二区三区在线观看网站| 亚洲黄色免费网站| 一区二区三区视频在线看| 亚洲在线视频网站| 午夜免费久久看| 九九**精品视频免费播放| 老司机精品视频一区二区三区| 秋霞午夜av一区二区三区| 伦理电影国产精品| 国产成人av影院| 一本一道久久a久久精品| 91福利国产精品| 51精品视频一区二区三区| 欧美成人一区二区| 中文字幕+乱码+中文字幕一区| 1024精品合集| 午夜精品影院在线观看| 精品中文字幕一区二区小辣椒| 国产黑丝在线一区二区三区| 99r精品视频| 欧美精品乱码久久久久久| 欧美电视剧在线看免费| 欧美高清一级片在线观看| 一区二区三区影院| 美女国产一区二区| 成人小视频免费在线观看| 欧美伊人久久大香线蕉综合69| 777午夜精品免费视频| 国产无一区二区| 亚洲午夜成aⅴ人片| 国产一区二区三区av电影| 一本一道波多野结衣一区二区| 欧美高清dvd| 中文字幕精品一区二区三区精品| 亚洲中国最大av网站| 久草中文综合在线| 色欧美片视频在线观看| 欧美xxxx老人做受| 亚洲女子a中天字幕| 精品亚洲免费视频| 在线影院国内精品| 久久久久99精品一区| 亚洲成在人线免费| 国产91对白在线观看九色| 欧美三级在线视频| 中文字幕精品在线不卡| 秋霞午夜av一区二区三区| 色综合久久久久久久久久久| 2022国产精品视频| 亚洲妇女屁股眼交7| 成人自拍视频在线| 精品日韩99亚洲| 性久久久久久久| 色婷婷激情久久| 国产日韩欧美精品一区| 免费人成精品欧美精品| 色婷婷久久久亚洲一区二区三区| 久久久精品2019中文字幕之3| 午夜精品福利久久久| 91视视频在线直接观看在线看网页在线看| 日韩精品一区在线观看| 亚洲图片欧美综合| 色婷婷av一区二区三区软件 | 国产亚洲欧美中文| 理论电影国产精品| 欧美一区二区三区喷汁尤物| 亚洲午夜一区二区| 色综合色狠狠综合色| 中文字幕色av一区二区三区| 岛国精品在线播放| 久久久久久麻豆| 精品午夜久久福利影院| 日韩午夜激情电影| 麻豆久久久久久| 日韩欧美一级二级| 免费的国产精品| 日韩亚洲欧美在线观看| 日本视频在线一区| 91精品国产日韩91久久久久久| 亚洲成人黄色影院| 91国偷自产一区二区开放时间| 亚洲综合免费观看高清完整版在线 | 精品人伦一区二区色婷婷| 美国十次综合导航|