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

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

?? ref.cdl-interface.html

?? ecos 文檔
?? HTML
字號:
<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
<!-- This material may be distributed only subject to the terms      -->
<!-- and conditions set forth in the Open Publication License, v1.0  -->
<!-- or later (the latest version is presently available at          -->
<!-- http://www.opencontent.org/openpub/).                           -->
<!-- Distribution of the work or derivative of the work in any       -->
<!-- standard (paper) book form is prohibited unless prior           -->
<!-- permission is obtained from the copyright holder.               -->
<HTML
><HEAD
><TITLE
>cdl_interface</TITLE
><meta name="MSSmartTagsPreventParsing" content="TRUE">
<META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="The eCos Component Writer's Guide"
HREF="cdl-guide.html"><LINK
REL="UP"
TITLE="CDL Language Specification"
HREF="reference.html"><LINK
REL="PREVIOUS"
TITLE="cdl_package"
HREF="ref.cdl-package.html"><LINK
REL="NEXT"
TITLE="active_if"
HREF="ref.active-if.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The <SPAN
CLASS="APPLICATION"
>eCos</SPAN
> Component Writer's Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="ref.cdl-package.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="ref.active-if.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="REF.CDL-INTERFACE"><TT
CLASS="LITERAL"
>cdl_interface</TT
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3490"
></A
><H2
>Name</H2
>Command <TT
CLASS="LITERAL"
>cdl_interface</TT
>&nbsp;--&nbsp;Define an interface, functionality that can be provided by
a number of different implementations.</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3494"><H2
>Synopsis</H2
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>cdl_interface &lt;name&gt; {
    &#8230;
}</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3496"
></A
><H2
>Description</H2
><P
>An interface is a special type of calculated configuration option.
It provides an abstraction mechanism that is often useful in <SPAN
CLASS="APPLICATION"
>CDL</SPAN
>
expressions. As an example, suppose that some package relies on the
presence of code that implements the standard kernel scheduling
interface. However the requirement is no more stringent than this, so
the constraint can be satisfied by the mlqueue scheduler, the bitmap
scheduler, or any additional schedulers that may get implemented in
future. A first attempt at expressing the dependency might be:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>    requires CYGSEM_KERNEL_SCHED_MLQUEUE || CYGSEM_KERNEL_SCHED_BITMAP</PRE
></TD
></TR
></TABLE
><P
>This constraint is limited, it may need to be changed if a new
scheduler were to be added to the system. Interfaces provide a way of
expressing more general relationships:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>    requires CYGINT_KERNEL_SCHEDULER</PRE
></TD
></TR
></TABLE
><P
>The interface <TT
CLASS="LITERAL"
>CYGINT_KERNEL_SCHEDULER</TT
> is
<SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>implemented</I
></SPAN
> by both the mlqueue and bitmap
schedulers, and may be implemented by future schedulers as well. The
value of an interface is the number of implementors that are active
and enabled, so in a typical configuration only one scheduler will be
in use and the value of the interface will be <TT
CLASS="LITERAL"
>1</TT
>. If
all schedulers are disabled then the interface will have a value
<TT
CLASS="LITERAL"
>0</TT
> and the <SPAN
CLASS="PROPERTY"
>requires</SPAN
> constraint will not be
satisfied.</P
><P
>Some component writers may prefer to use the first <SPAN
CLASS="PROPERTY"
>requires</SPAN
>
constraint on the grounds that the code will only have been tested
with the mlqueue and bitmap schedulers and cannot be guaranteed to
work with any new schedulers. Other component writers may take a more
optimistic view and assume that their code will work with any
scheduler until proven otherwise.</P
><P
>Interfaces must be defined in CDL scripts, just like options,
components and packages. This involves the command <TT
CLASS="LITERAL"
>cdl_interface</TT
>
which takes two arguments, a name and a body. The name must be a valid
C preprocessor identifier: a sequence of upper or lower case letters,
digits or underscores, starting with a non-digit character;
identifiers beginning with an underscore should normally be avoided
because they may clash with system packages or with identifiers
reserved for use by the compiler. Within a single configuration, names
must be unique. If a configuration contained two packages which
defined the same entity <TT
CLASS="LITERAL"
>CYGIMP_SOME_OPTION</TT
>, any
references to that entity in a <SPAN
CLASS="PROPERTY"
>requires</SPAN
> property or any other
expression would be ambiguous. It is possible for a given name to be
used by two different packages if those packages should never be
loaded into a single configuration. For example, architectural HAL
packages are allowed to re-use names because a single configuration
cannot target two different architectures. For a recommended naming
convention see <A
HREF="package.contents.html"
>the Section called <I
>Package Contents and Layout</I
> in Chapter 2</A
>.</P
><P
>The second argument to <TT
CLASS="LITERAL"
>cdl_interface</TT
> is a body of properties,
typically surrounded by braces so that the Tcl interpreter treats it
as a single argument. This body will be processed by a recursive
invocation of the Tcl interpreter, extended with additional commands
for the various properties that are allowed inside a <TT
CLASS="LITERAL"
>cdl_interface</TT
>.
The valid properties are a subset of those for a <TT
CLASS="LITERAL"
>cdl_option</TT
>.</P
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><A
HREF="ref.active-if.html"
><SPAN
CLASS="PROPERTY"
>active_if</SPAN
></A
></DT
><DD
><P
>Allow additional control over the active state of this interface.</P
></DD
><DT
><A
HREF="ref.compile.html"
><SPAN
CLASS="PROPERTY"
>compile</SPAN
></A
></DT
><DD
><P
>List the source files that should be built if this interface is active.</P
></DD
><DT
><A
HREF="ref.define.html"
><SPAN
CLASS="PROPERTY"
>define</SPAN
></A
></DT
><DD
><P
>Specify additional <TT
CLASS="LITERAL"
>#define</TT
> symbols that should go
into the owning package's configuration header file.</P
></DD
><DT
><A
HREF="ref.define-format.html"
><SPAN
CLASS="PROPERTY"
>define_format</SPAN
></A
></DT
><DD
><P
>Control how the interface's value will appear in the configuration header
file.</P
></DD
><DT
><A
HREF="ref.define-proc.html"
><SPAN
CLASS="PROPERTY"
>define_proc</SPAN
></A
></DT
><DD
><P
>Use a fragment of Tcl code to output additional data to
configuration header files.</P
></DD
><DT
><A
HREF="ref.description.html"
><SPAN
CLASS="PROPERTY"
>description</SPAN
></A
></DT
><DD
><P
>Provide a textual description for this interface.</P
></DD
><DT
><A
HREF="ref.display.html"
><SPAN
CLASS="PROPERTY"
>display</SPAN
></A
></DT
><DD
><P
>Provide a short string describing this interface.</P
></DD
><DT
><A
HREF="ref.doc.html"
><SPAN
CLASS="PROPERTY"
>doc</SPAN
></A
></DT
><DD
><P
>The location of on-line documentation for this interface.</P
></DD
><DT
><A
HREF="ref.flavor.html"
><SPAN
CLASS="PROPERTY"
>flavor</SPAN
></A
></DT
><DD
><P
>Interfaces have the <TT
CLASS="LITERAL"
>data</TT
> flavor by default, but
they can also be given the <TT
CLASS="LITERAL"
>bool</TT
> or
<TT
CLASS="LITERAL"
>booldata</TT
> flavor when necessary. A
<TT
CLASS="LITERAL"
>bool</TT
> interface is disabled if there are no active
and enabled implementors, otherwise it is enabled. A
<TT
CLASS="LITERAL"
>booldata</TT
> interface is also disabled if there are no
active and enabled implementors, otherwise it is enabled and the data
is a number corresponding to the number of these implementors.</P
></DD
><DT
><A
HREF="ref.if-define.html"
><SPAN
CLASS="PROPERTY"
>if_define</SPAN
></A
></DT
><DD
><P
>Output a common preprocessor construct to a configuration header file. </P
></DD
><DT
><A
HREF="ref.implements.html"
><SPAN
CLASS="PROPERTY"
>implements</SPAN
></A
></DT
><DD
><P
>If this interface is active it provides one instance of a more general
interface. </P
></DD
><DT
><A
HREF="ref.legal-values.html"
><SPAN
CLASS="PROPERTY"
>legal_values</SPAN
></A
></DT
><DD
><P
>Interfaces always have a small numerical value. The <SPAN
CLASS="PROPERTY"
>legal_values</SPAN
> can
be used to apply additional constraints such as an upper limit.</P
></DD
><DT
><A
HREF="ref.make.html"
><SPAN
CLASS="PROPERTY"
>make</SPAN
></A
></DT
><DD
><P
>An additional custom build step associated with this option, resulting
in a target that should not go directly into a library.</P
></DD
><DT
><A
HREF="ref.make-object.html"
><SPAN
CLASS="PROPERTY"
>make_object</SPAN
></A
></DT
><DD
><P
>An additional custom build step associated with this option, resulting
in an object file that should go into a library.</P
></DD
><DT
><A
HREF="ref.no-define.html"
><SPAN
CLASS="PROPERTY"
>no_define</SPAN
></A
></DT
><DD
><P
>Suppress the normal generation of a preprocessor
<TT
CLASS="LITERAL"
>#define</TT
> symbol in a configuration header file.</P
></DD
><DT
><A
HREF="ref.parent.html"
><SPAN
CLASS="PROPERTY"
>parent</SPAN
></A
></DT
><DD
><P
>Control the location of this option in the configuration hierarchy. </P
></DD
><DT
><A
HREF="ref.requires.html"
><SPAN
CLASS="PROPERTY"
>requires</SPAN
></A
></DT
><DD
><P
>List constraints that the configuration should satisfy if this option is
active and enabled.</P
></DD
></DL
></DIV
><P
>A number of properties are not applicable to interfaces:</P
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><A
HREF="ref.calculated.html"
><SPAN
CLASS="PROPERTY"
>calculated</SPAN
></A
></DT
><DD
><P
>Interfaces are always calculated, based on the number of active and
enabled entities that implement the interface.</P
></DD
><DT
><A
HREF="ref.default-value.html"
><SPAN
CLASS="PROPERTY"
>default_value</SPAN
></A
></DT
><DD
><P
>Interface values are calculated so a <SPAN
CLASS="PROPERTY"
>default_value</SPAN
> property would be
meaningless.</P
></DD
></DL
></DIV
><P
>Interfaces are not containers, so they cannot hold other entities such
as options or components.</P
><P
>A commonly used constraint on interface values takes the form:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>    requires CYGINT_KERNEL_SCHEDULER == 1</PRE
></TD
></TR
></TABLE
><P
>This constraint specifies that there can be only one scheduler in the
system. In some circumstances it is possible for the configuration
tools to detect this pattern and act accordingly, so for example
enabling the bitmap scheduler would automatically disable the mlqueue
scheduler.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3650"
></A
><H2
>Example</H2
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>cdl_interface CYGINT_KERNEL_SCHEDULER {
    display  "Number of schedulers in this configuration"
    requires 1 == CYGINT_KERNEL_SCHEDULER
}</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3653"
></A
><H2
>See Also</H2
><P
>Property <A
HREF="ref.implements.html"
><SPAN
CLASS="PROPERTY"
>implements</SPAN
></A
>,
command <A
HREF="ref.cdl-option.html"
><TT
CLASS="LITERAL"
>cdl_option</TT
></A
>.
command <A
HREF="ref.cdl-component.html"
><TT
CLASS="LITERAL"
>cdl_component</TT
></A
>,
command <A
HREF="ref.cdl-package.html"
><TT
CLASS="LITERAL"
>cdl_package</TT
></A
>.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="ref.cdl-package.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="cdl-guide.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="ref.active-if.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><TT
CLASS="LITERAL"
>cdl_package</TT
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="reference.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><SPAN
CLASS="PROPERTY"
>active_if</SPAN
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区中文字幕| 精品区一区二区| 国产精品你懂的在线欣赏| 国产成人在线色| 中文文精品字幕一区二区| 成人综合婷婷国产精品久久免费| 久久嫩草精品久久久精品| 国产99久久久国产精品潘金| 国产精品―色哟哟| 欧美图区在线视频| 日本午夜一区二区| 国产三级一区二区| 91亚洲精品久久久蜜桃网站| 性做久久久久久久免费看| 日韩精品一区二区三区在线| 国产不卡免费视频| 亚洲最新视频在线播放| 制服丝袜在线91| 国产suv一区二区三区88区| 国产精品久久久久久久午夜片| 色国产综合视频| 青青草精品视频| 国产精品全国免费观看高清| 欧美午夜精品久久久久久孕妇| 久久国产乱子精品免费女| 婷婷久久综合九色综合绿巨人 | 91搞黄在线观看| 秋霞国产午夜精品免费视频| 国产精品入口麻豆九色| 欧美日韩在线三区| 国产乱子轮精品视频| 亚洲精品欧美综合四区| 欧美成人aa大片| 色哟哟国产精品免费观看| 日本女人一区二区三区| 中文字幕一区二区三区四区不卡| 欧美一区二区三区免费视频| 成人免费电影视频| 热久久久久久久| 亚洲乱码日产精品bd| 久久色中文字幕| 欧美放荡的少妇| av一区二区久久| 国产在线视频一区二区| 亚洲国产欧美一区二区三区丁香婷| 久久久久国色av免费看影院| 欧美日精品一区视频| 成人看片黄a免费看在线| 捆绑变态av一区二区三区| 亚洲人成影院在线观看| 国产欧美一区二区精品久导航| 欧美乱熟臀69xxxxxx| 色综合天天在线| 成人免费va视频| 国产揄拍国内精品对白| 视频一区二区国产| 一区二区理论电影在线观看| 亚洲欧美在线视频观看| 久久精品一区四区| 欧美成人国产一区二区| 欧美精品视频www在线观看 | 久久午夜羞羞影院免费观看| 欧美日韩在线播放| 欧美优质美女网站| 91色porny蝌蚪| 成人av电影免费在线播放| 国产在线国偷精品免费看| 麻豆极品一区二区三区| 日韩中文字幕亚洲一区二区va在线| 亚洲自拍偷拍九九九| 亚洲男人的天堂av| 中文字幕日韩一区| 国产精品三级久久久久三级| 国产欧美日韩精品一区| 国产欧美日韩视频在线观看| 久久久天堂av| 久久精品视频一区二区| 久久久久久**毛片大全| 国产情人综合久久777777| 欧美国产日韩精品免费观看| 国产日韩精品视频一区| 国产精品色眯眯| 中文字幕综合网| 亚洲精品高清在线| 一区二区三区国产| 午夜欧美一区二区三区在线播放| 亚洲国产精品一区二区www| 亚洲午夜一二三区视频| 日韩激情一区二区| 久久疯狂做爰流白浆xx| 欧美日韩不卡一区| 4438亚洲最大| 欧美成人高清电影在线| 日本一区二区视频在线| 国产精品国产成人国产三级| 国产精品久久久久精k8| 一区二区三区中文字幕电影| 亚洲成人av电影| 精品一区二区三区香蕉蜜桃| 国产精品 日产精品 欧美精品| 成人教育av在线| 91福利视频在线| 日韩欧美国产精品一区| 国产欧美日韩卡一| 亚洲国产美女搞黄色| 美日韩一区二区| 成人av网站在线| 欧美人与z0zoxxxx视频| 欧美精品一区二| 中文字幕制服丝袜成人av| 亚洲国产另类av| 国产美女久久久久| 日本黄色一区二区| 日韩欧美一二区| 亚洲欧美日韩中文播放| 欧美aaaaaa午夜精品| 成人永久免费视频| 欧美日韩电影在线| 中文在线资源观看网站视频免费不卡 | 久久国产日韩欧美精品| av不卡一区二区三区| 欧美一级片在线看| 国产精品久久久久久久久久免费看 | 日韩精品午夜视频| 国产成人在线看| 在线播放国产精品二区一二区四区 | 国产精品系列在线| 午夜精品福利一区二区三区蜜桃| 国产一区二区免费看| 欧美日韩中文国产| 日韩一区在线免费观看| 久久99日本精品| 欧亚一区二区三区| 国产欧美精品一区二区色综合| 亚州成人在线电影| 99久久99久久精品免费看蜜桃| 日韩欧美国产综合一区| 亚洲午夜免费视频| 91丝袜国产在线播放| 久久这里都是精品| 日本vs亚洲vs韩国一区三区| 91黄视频在线观看| 国产精品午夜久久| 国产乱理伦片在线观看夜一区| 欧美网站一区二区| 亚洲精品欧美专区| 91在线视频免费91| 国产人久久人人人人爽| 黑人巨大精品欧美一区| 欧美精品v国产精品v日韩精品| 亚洲日本电影在线| 国产成人午夜视频| 久久综合狠狠综合久久激情| 午夜欧美电影在线观看| 色吊一区二区三区| 亚洲欧美日韩一区二区| 国产盗摄女厕一区二区三区| 精品盗摄一区二区三区| 日本少妇一区二区| 91精品国产综合久久久久久| 亚洲成人精品影院| 精品视频在线免费看| 激情综合色综合久久综合| 欧美一级高清片| 日本不卡在线视频| 欧美一区二区三区思思人| 日韩在线一二三区| 欧美高清激情brazzers| 午夜国产不卡在线观看视频| 欧美视频一区二区三区| 亚洲成人免费影院| 欧美丰满一区二区免费视频| 婷婷开心久久网| 日韩一区二区影院| 精品一区二区三区在线播放视频 | 国产精品一线二线三线| 久久久久九九视频| 懂色av一区二区三区蜜臀| 国产色产综合色产在线视频| 国产激情一区二区三区桃花岛亚洲| 国产性天天综合网| caoporn国产精品| 亚洲综合在线观看视频| 欧美色大人视频| 久久99精品视频| 国产精品私房写真福利视频| 91视频一区二区| 亚洲电影一级片| 欧美成人r级一区二区三区| 国产精品亚洲人在线观看| 国产精品萝li| 欧美日韩一二三| 久久精品国产亚洲高清剧情介绍| 久久欧美一区二区| 9久草视频在线视频精品| 亚洲国产日韩a在线播放性色| 日韩三级精品电影久久久| 成人永久看片免费视频天堂| 亚洲午夜免费电影| 久久先锋资源网|