1 <!-- Copyright (C) 2003 Red Hat, Inc. -->
2 <!-- This material may be distributed only subject to the terms -->
3 <!-- and conditions set forth in the Open Publication License, v1.0 -->
4 <!-- or later (the latest version is presently available at -->
5 <!-- http://www.opencontent.org/openpub/). -->
6 <!-- Distribution of the work or derivative of the work in any -->
7 <!-- standard (paper) book form is prohibited unless prior -->
8 <!-- permission is obtained from the copyright holder. -->
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
19 TITLE="The eCos Component Writer's Guide"
20 HREF="cdl-guide.html"><LINK
22 TITLE="CDL Language Specification"
23 HREF="reference.html"><LINK
26 HREF="ref.if-define.html"><LINK
29 HREF="ref.include-dir.html"></HEAD
40 SUMMARY="Header navigation table"
52 > Component Writer's Guide</TH
60 HREF="ref.if-define.html"
74 HREF="ref.include-dir.html"
85 NAME="REF.IMPLEMENTS"><SPAN
99 > -- Enabling this option provides one instance of a more
100 general interface.</DIV
102 CLASS="REFSYNOPSISDIV"
114 >cdl_option <name> {
115 implements <interface>
133 > interface concept provides an abstraction mechanism that can
134 be useful in many different circumstances. Essentially an interface is
135 a calculated option whose value is the number of active and enabled
136 options which implement that interface. For example the interface
139 >CYGINT_KERNEL_SCHEDULER</TT
140 > has a value corresponding
141 to the number of schedulers in the system, typically just one.</P
146 > property takes a single argument, which should be the
147 name of an interface. This interface may be defined in the same
148 package as the implementor or in some other package. In the latter
149 case it may sometimes be appropriate for the implementor or the
150 implementor's package to have a <SPAN
153 > property for the package
154 containing the interface. An option may contain multiple <SPAN
158 properties. It is possible for an option to implement a given
159 interface multiple times, and on occasion this is actually useful.</P
175 CLASS="PROGRAMLISTING"
176 >cdl_option CYGSEM_KERNEL_SCHED_MLQUEUE {
177 display "Multi-level queue scheduler"
179 implements CYGINT_KERNEL_SCHEDULER
195 HREF="ref.cdl-interface.html"
207 SUMMARY="Footer navigation table"
218 HREF="ref.if-define.html"
227 HREF="cdl-guide.html"
236 HREF="ref.include-dir.html"
255 HREF="reference.html"