]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/ref/compat-uitron-sync-and-comm-functions.html
d9832307ca2d517439ca171f1954d3c14c0359d9
[karo-tx-redboot.git] / doc / html / ref / compat-uitron-sync-and-comm-functions.html
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.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >         Synchronization and Communication Functions</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="eCos Reference Manual"
20 HREF="ecos-ref.html"><LINK
21 REL="UP"
22 TITLE="µITRON API"
23 HREF="compat-uitron-microitron-api.html"><LINK
24 REL="PREVIOUS"
25 TITLE="Task-Dependent Synchronization Functions"
26 HREF="compat-uitron-task-dependent-synch-functions.html"><LINK
27 REL="NEXT"
28 TITLE="Extended Synchronization and Communication Functions"
29 HREF="compat-uitron-extended-sync-comm-functions.html"></HEAD
30 ><BODY
31 CLASS="SECT1"
32 BGCOLOR="#FFFFFF"
33 TEXT="#000000"
34 LINK="#0000FF"
35 VLINK="#840084"
36 ALINK="#0000FF"
37 ><DIV
38 CLASS="NAVHEADER"
39 ><TABLE
40 SUMMARY="Header navigation table"
41 WIDTH="100%"
42 BORDER="0"
43 CELLPADDING="0"
44 CELLSPACING="0"
45 ><TR
46 ><TH
47 COLSPAN="3"
48 ALIGN="center"
49 >eCos Reference Manual</TH
50 ></TR
51 ><TR
52 ><TD
53 WIDTH="10%"
54 ALIGN="left"
55 VALIGN="bottom"
56 ><A
57 HREF="compat-uitron-task-dependent-synch-functions.html"
58 ACCESSKEY="P"
59 >Prev</A
60 ></TD
61 ><TD
62 WIDTH="80%"
63 ALIGN="center"
64 VALIGN="bottom"
65 >Chapter 32. &micro;ITRON API</TD
66 ><TD
67 WIDTH="10%"
68 ALIGN="right"
69 VALIGN="bottom"
70 ><A
71 HREF="compat-uitron-extended-sync-comm-functions.html"
72 ACCESSKEY="N"
73 >Next</A
74 ></TD
75 ></TR
76 ></TABLE
77 ><HR
78 ALIGN="LEFT"
79 WIDTH="100%"></DIV
80 ><DIV
81 CLASS="SECT1"
82 ><H1
83 CLASS="SECT1"
84 ><A
85 NAME="COMPAT-UITRON-SYNC-AND-COMM-FUNCTIONS">Synchronization and Communication Functions</H1
86 ><P
87 >These functions are fully supported in this release: </P
88 ><TABLE
89 BORDER="5"
90 BGCOLOR="#E0E0F0"
91 WIDTH="70%"
92 ><TR
93 ><TD
94 ><PRE
95 CLASS="PROGRAMLISTING"
96 >ER <TT
97 CLASS="FUNCTION"
98 >sig_sem</TT
99 >( 
100     ID <SPAN
101 CLASS="emphasis"
102 ><I
103 CLASS="EMPHASIS"
104 >semid</I
105 ></SPAN
106 > )</PRE
107 ></TD
108 ></TR
109 ></TABLE
110 ><TABLE
111 BORDER="5"
112 BGCOLOR="#E0E0F0"
113 WIDTH="70%"
114 ><TR
115 ><TD
116 ><PRE
117 CLASS="PROGRAMLISTING"
118 >ER <TT
119 CLASS="FUNCTION"
120 >wai_sem</TT
121 >( 
122     ID <SPAN
123 CLASS="emphasis"
124 ><I
125 CLASS="EMPHASIS"
126 >semid</I
127 ></SPAN
128 > )</PRE
129 ></TD
130 ></TR
131 ></TABLE
132 ><TABLE
133 BORDER="5"
134 BGCOLOR="#E0E0F0"
135 WIDTH="70%"
136 ><TR
137 ><TD
138 ><PRE
139 CLASS="PROGRAMLISTING"
140 >ER <TT
141 CLASS="FUNCTION"
142 >preq_sem</TT
143 >( 
144     ID <SPAN
145 CLASS="emphasis"
146 ><I
147 CLASS="EMPHASIS"
148 >semid</I
149 ></SPAN
150 > )</PRE
151 ></TD
152 ></TR
153 ></TABLE
154 ><TABLE
155 BORDER="5"
156 BGCOLOR="#E0E0F0"
157 WIDTH="70%"
158 ><TR
159 ><TD
160 ><PRE
161 CLASS="PROGRAMLISTING"
162 >ER <TT
163 CLASS="FUNCTION"
164 >twai_sem</TT
165 >( 
166     ID <SPAN
167 CLASS="emphasis"
168 ><I
169 CLASS="EMPHASIS"
170 >semid,</I
171 ></SPAN
172 >    TMO <SPAN
173 CLASS="emphasis"
174 ><I
175 CLASS="EMPHASIS"
176 >tmout</I
177 ></SPAN
178 > )</PRE
179 ></TD
180 ></TR
181 ></TABLE
182 ><TABLE
183 BORDER="5"
184 BGCOLOR="#E0E0F0"
185 WIDTH="70%"
186 ><TR
187 ><TD
188 ><PRE
189 CLASS="PROGRAMLISTING"
190 >ER <TT
191 CLASS="FUNCTION"
192 >ref_sem</TT
193 >( 
194     T_RSEM *<SPAN
195 CLASS="emphasis"
196 ><I
197 CLASS="EMPHASIS"
198 >pk_rsem ,</I
199 ></SPAN
200 >    ID <SPAN
201 CLASS="emphasis"
202 ><I
203 CLASS="EMPHASIS"
204 >semid</I
205 ></SPAN
206 > )</PRE
207 ></TD
208 ></TR
209 ></TABLE
210 ><TABLE
211 BORDER="5"
212 BGCOLOR="#E0E0F0"
213 WIDTH="70%"
214 ><TR
215 ><TD
216 ><PRE
217 CLASS="PROGRAMLISTING"
218 >ER <TT
219 CLASS="FUNCTION"
220 >set_flg</TT
221 >( 
222     ID <SPAN
223 CLASS="emphasis"
224 ><I
225 CLASS="EMPHASIS"
226 >flgid,</I
227 ></SPAN
228 >    UINT <SPAN
229 CLASS="emphasis"
230 ><I
231 CLASS="EMPHASIS"
232 >setptn</I
233 ></SPAN
234 > )</PRE
235 ></TD
236 ></TR
237 ></TABLE
238 ><TABLE
239 BORDER="5"
240 BGCOLOR="#E0E0F0"
241 WIDTH="70%"
242 ><TR
243 ><TD
244 ><PRE
245 CLASS="PROGRAMLISTING"
246 >ER <TT
247 CLASS="FUNCTION"
248 >clr_flg</TT
249 >( 
250     ID <SPAN
251 CLASS="emphasis"
252 ><I
253 CLASS="EMPHASIS"
254 >flgid,</I
255 ></SPAN
256 >    UINT <SPAN
257 CLASS="emphasis"
258 ><I
259 CLASS="EMPHASIS"
260 >clrptn</I
261 ></SPAN
262 > )</PRE
263 ></TD
264 ></TR
265 ></TABLE
266 ><TABLE
267 BORDER="5"
268 BGCOLOR="#E0E0F0"
269 WIDTH="70%"
270 ><TR
271 ><TD
272 ><PRE
273 CLASS="PROGRAMLISTING"
274 >ER <TT
275 CLASS="FUNCTION"
276 >wai_flg</TT
277 >( 
278     UINT *<SPAN
279 CLASS="emphasis"
280 ><I
281 CLASS="EMPHASIS"
282 >p_flgptn,</I
283 ></SPAN
284 >    ID <SPAN
285 CLASS="emphasis"
286 ><I
287 CLASS="EMPHASIS"
288 >flgid ,</I
289 ></SPAN
290 >
291     UINT <SPAN
292 CLASS="emphasis"
293 ><I
294 CLASS="EMPHASIS"
295 >waiptn ,</I
296 ></SPAN
297 >    UINT <SPAN
298 CLASS="emphasis"
299 ><I
300 CLASS="EMPHASIS"
301 >wfmode</I
302 ></SPAN
303 > )</PRE
304 ></TD
305 ></TR
306 ></TABLE
307 ><TABLE
308 BORDER="5"
309 BGCOLOR="#E0E0F0"
310 WIDTH="70%"
311 ><TR
312 ><TD
313 ><PRE
314 CLASS="PROGRAMLISTING"
315 >ER <TT
316 CLASS="FUNCTION"
317 >pol_flg</TT
318 >( 
319     UINT *<SPAN
320 CLASS="emphasis"
321 ><I
322 CLASS="EMPHASIS"
323 >p_flgptn,</I
324 ></SPAN
325 >    ID <SPAN
326 CLASS="emphasis"
327 ><I
328 CLASS="EMPHASIS"
329 >flgid ,</I
330 ></SPAN
331 >
332     UINT <SPAN
333 CLASS="emphasis"
334 ><I
335 CLASS="EMPHASIS"
336 >waiptn ,</I
337 ></SPAN
338 >    UINT <SPAN
339 CLASS="emphasis"
340 ><I
341 CLASS="EMPHASIS"
342 >wfmode</I
343 ></SPAN
344 > )</PRE
345 ></TD
346 ></TR
347 ></TABLE
348 ><TABLE
349 BORDER="5"
350 BGCOLOR="#E0E0F0"
351 WIDTH="70%"
352 ><TR
353 ><TD
354 ><PRE
355 CLASS="PROGRAMLISTING"
356 >ER <TT
357 CLASS="FUNCTION"
358 >twai_flg</TT
359 >( 
360     UINT *<SPAN
361 CLASS="emphasis"
362 ><I
363 CLASS="EMPHASIS"
364 >p_flgptn</I
365 ></SPAN
366 >    ID <SPAN
367 CLASS="emphasis"
368 ><I
369 CLASS="EMPHASIS"
370 >flgid ,</I
371 ></SPAN
372 >
373     UINT <SPAN
374 CLASS="emphasis"
375 ><I
376 CLASS="EMPHASIS"
377 >waiptn ,</I
378 ></SPAN
379 >    UINT <SPAN
380 CLASS="emphasis"
381 ><I
382 CLASS="EMPHASIS"
383 >wfmode,</I
384 ></SPAN
385 >    TMO <SPAN
386 CLASS="emphasis"
387 ><I
388 CLASS="EMPHASIS"
389 >tmout</I
390 ></SPAN
391 > )</PRE
392 ></TD
393 ></TR
394 ></TABLE
395 ><TABLE
396 BORDER="5"
397 BGCOLOR="#E0E0F0"
398 WIDTH="70%"
399 ><TR
400 ><TD
401 ><PRE
402 CLASS="PROGRAMLISTING"
403 >ER <TT
404 CLASS="FUNCTION"
405 >ref_flg</TT
406 >( 
407     T_RFLG *<SPAN
408 CLASS="emphasis"
409 ><I
410 CLASS="EMPHASIS"
411 >pk_rflg,</I
412 ></SPAN
413 >    ID <SPAN
414 CLASS="emphasis"
415 ><I
416 CLASS="EMPHASIS"
417 >flgid</I
418 ></SPAN
419 > )</PRE
420 ></TD
421 ></TR
422 ></TABLE
423 ><TABLE
424 BORDER="5"
425 BGCOLOR="#E0E0F0"
426 WIDTH="70%"
427 ><TR
428 ><TD
429 ><PRE
430 CLASS="PROGRAMLISTING"
431 >ER <TT
432 CLASS="FUNCTION"
433 >snd_msg</TT
434 >( 
435     ID <SPAN
436 CLASS="emphasis"
437 ><I
438 CLASS="EMPHASIS"
439 >mbxid,</I
440 ></SPAN
441 >    T_MSG <SPAN
442 CLASS="emphasis"
443 ><I
444 CLASS="EMPHASIS"
445 >*pk_msg</I
446 ></SPAN
447 > )</PRE
448 ></TD
449 ></TR
450 ></TABLE
451 ><TABLE
452 BORDER="5"
453 BGCOLOR="#E0E0F0"
454 WIDTH="70%"
455 ><TR
456 ><TD
457 ><PRE
458 CLASS="PROGRAMLISTING"
459 >ER <TT
460 CLASS="FUNCTION"
461 >rcv_msg</TT
462 >( 
463     T_MSG **<SPAN
464 CLASS="emphasis"
465 ><I
466 CLASS="EMPHASIS"
467 >ppk_msg,</I
468 ></SPAN
469 >    ID <SPAN
470 CLASS="emphasis"
471 ><I
472 CLASS="EMPHASIS"
473 >mbxid</I
474 ></SPAN
475 > )</PRE
476 ></TD
477 ></TR
478 ></TABLE
479 ><TABLE
480 BORDER="5"
481 BGCOLOR="#E0E0F0"
482 WIDTH="70%"
483 ><TR
484 ><TD
485 ><PRE
486 CLASS="PROGRAMLISTING"
487 >ER <TT
488 CLASS="FUNCTION"
489 >prcv_msg</TT
490 >( 
491     T_MSG **<SPAN
492 CLASS="emphasis"
493 ><I
494 CLASS="EMPHASIS"
495 >ppk_msg,</I
496 ></SPAN
497 >    ID <SPAN
498 CLASS="emphasis"
499 ><I
500 CLASS="EMPHASIS"
501 >mbxid</I
502 ></SPAN
503 > )</PRE
504 ></TD
505 ></TR
506 ></TABLE
507 ><TABLE
508 BORDER="5"
509 BGCOLOR="#E0E0F0"
510 WIDTH="70%"
511 ><TR
512 ><TD
513 ><PRE
514 CLASS="PROGRAMLISTING"
515 >ER <TT
516 CLASS="FUNCTION"
517 >trcv_msg</TT
518 >( 
519     T_MSG **<SPAN
520 CLASS="emphasis"
521 ><I
522 CLASS="EMPHASIS"
523 >ppk_msg,</I
524 ></SPAN
525 >    ID <SPAN
526 CLASS="emphasis"
527 ><I
528 CLASS="EMPHASIS"
529 >mbxid ,</I
530 ></SPAN
531 >    TMO <SPAN
532 CLASS="emphasis"
533 ><I
534 CLASS="EMPHASIS"
535 >tmout</I
536 ></SPAN
537 > )</PRE
538 ></TD
539 ></TR
540 ></TABLE
541 ><TABLE
542 BORDER="5"
543 BGCOLOR="#E0E0F0"
544 WIDTH="70%"
545 ><TR
546 ><TD
547 ><PRE
548 CLASS="PROGRAMLISTING"
549 >ER <TT
550 CLASS="FUNCTION"
551 >ref_mbx</TT
552 >( 
553     T_RMBX *<SPAN
554 CLASS="emphasis"
555 ><I
556 CLASS="EMPHASIS"
557 >pk_rmbx,</I
558 ></SPAN
559 >    ID <SPAN
560 CLASS="emphasis"
561 ><I
562 CLASS="EMPHASIS"
563 >mbxid</I
564 ></SPAN
565 > )</PRE
566 ></TD
567 ></TR
568 ></TABLE
569 ><P
570 >The following functions are supported in this release (with
571 some restrictions) if enabled with the appropriate configuration
572 option for the object type (for example 
573 <TT
574 CLASS="LITERAL"
575 >CYGPKG_UITRON_SEMAS_CREATE_DELETE</TT
576 >):</P
577 ><TABLE
578 BORDER="5"
579 BGCOLOR="#E0E0F0"
580 WIDTH="70%"
581 ><TR
582 ><TD
583 ><PRE
584 CLASS="PROGRAMLISTING"
585 >ER <TT
586 CLASS="FUNCTION"
587 >cre_sem</TT
588 >( 
589     ID <SPAN
590 CLASS="emphasis"
591 ><I
592 CLASS="EMPHASIS"
593 >semid,</I
594 ></SPAN
595 >    T_CSEM *<SPAN
596 CLASS="emphasis"
597 ><I
598 CLASS="EMPHASIS"
599 >pk_csem</I
600 ></SPAN
601 > )</PRE
602 ></TD
603 ></TR
604 ></TABLE
605 ><TABLE
606 BORDER="5"
607 BGCOLOR="#E0E0F0"
608 WIDTH="70%"
609 ><TR
610 ><TD
611 ><PRE
612 CLASS="PROGRAMLISTING"
613 >ER <TT
614 CLASS="FUNCTION"
615 >del_sem</TT
616 >( 
617     ID <SPAN
618 CLASS="emphasis"
619 ><I
620 CLASS="EMPHASIS"
621 >semid</I
622 ></SPAN
623 > )</PRE
624 ></TD
625 ></TR
626 ></TABLE
627 ><TABLE
628 BORDER="5"
629 BGCOLOR="#E0E0F0"
630 WIDTH="70%"
631 ><TR
632 ><TD
633 ><PRE
634 CLASS="PROGRAMLISTING"
635 >ER <TT
636 CLASS="FUNCTION"
637 >cre_flg</TT
638 >( 
639     ID <SPAN
640 CLASS="emphasis"
641 ><I
642 CLASS="EMPHASIS"
643 >flgid,</I
644 ></SPAN
645 >    T_CFLG *<SPAN
646 CLASS="emphasis"
647 ><I
648 CLASS="EMPHASIS"
649 >pk_cflg</I
650 ></SPAN
651 > )</PRE
652 ></TD
653 ></TR
654 ></TABLE
655 ><TABLE
656 BORDER="5"
657 BGCOLOR="#E0E0F0"
658 WIDTH="70%"
659 ><TR
660 ><TD
661 ><PRE
662 CLASS="PROGRAMLISTING"
663 >ER <TT
664 CLASS="FUNCTION"
665 >del_flg</TT
666 >( 
667     ID <SPAN
668 CLASS="emphasis"
669 ><I
670 CLASS="EMPHASIS"
671 >flgid</I
672 ></SPAN
673 > )</PRE
674 ></TD
675 ></TR
676 ></TABLE
677 ><TABLE
678 BORDER="5"
679 BGCOLOR="#E0E0F0"
680 WIDTH="70%"
681 ><TR
682 ><TD
683 ><PRE
684 CLASS="PROGRAMLISTING"
685 >ER <TT
686 CLASS="FUNCTION"
687 >cre_mbx</TT
688 >( 
689     ID <SPAN
690 CLASS="emphasis"
691 ><I
692 CLASS="EMPHASIS"
693 >mbxid,</I
694 ></SPAN
695 >    T_CMBX *<SPAN
696 CLASS="emphasis"
697 ><I
698 CLASS="EMPHASIS"
699 >pk_cmbx</I
700 ></SPAN
701 > )</PRE
702 ></TD
703 ></TR
704 ></TABLE
705 ><TABLE
706 BORDER="5"
707 BGCOLOR="#E0E0F0"
708 WIDTH="70%"
709 ><TR
710 ><TD
711 ><PRE
712 CLASS="PROGRAMLISTING"
713 >ER <TT
714 CLASS="FUNCTION"
715 >del_mbx</TT
716 >( 
717     ID <SPAN
718 CLASS="emphasis"
719 ><I
720 CLASS="EMPHASIS"
721 >mbxid</I
722 ></SPAN
723 > )</PRE
724 ></TD
725 ></TR
726 ></TABLE
727 ><P
728 >In general the queueing order when waiting on a synchronization
729 object depends on the underlying kernel configuration. The multi-level
730 queue scheduler is required for strict &micro;ITRON
731 conformance and it queues tasks in FIFO order, so requests to create
732 an object with priority queueing of tasks (<TT
733 CLASS="LITERAL"
734 >pk_cxxx-&gt;xxxatr = TA_TPRI</TT
735 >)
736 are rejected with E_RSATR. Additional undefined bits in
737 the attributes fields must be zero. </P
738 ><P
739 >In general, extended information (pk_cxxx-&gt;exinf)
740 is ignored. </P
741 ><P
742 >For semaphores, the initial semaphore count (pk_csem-&gt;isemcnt)
743 is supported; the new semaphore's count is set. The maximum
744 count is not supported, and is not in fact defined in type pk_csem. </P
745 ><P
746 >For flags, multiple tasks are allowed to wait. Because single
747 task waiting is a subset of this, the W bit (TA_WMUL) of
748 the flag attributes is ignored; all other bits must be zero. The
749 initial flag value is supported. </P
750 ><P
751 >For mailboxes, the buffer count is defined statically by kernel
752 configuration option 
753 <TT
754 CLASS="LITERAL"
755 >CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE</TT
756 >;
757 therefore the buffer count field is not supported and is not in
758 fact defined in type pk_cmbx. Queueing of messages is FIFO
759 ordered only, so TA_MPRI (in pk_cmbx-&gt;mbxatr)
760 is not supported. </P
761 ><DIV
762 CLASS="SECT2"
763 ><H2
764 CLASS="SECT2"
765 ><A
766 NAME="AEN13716">Error checking</H2
767 ><P
768 >The following conditions are only checked for, and only return
769 errors if 
770 <TT
771 CLASS="LITERAL"
772 >CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
773 >
774 is enabled:</P
775 ><P
776 ></P
777 ><UL
778 ><LI
779 ><P
780 >invalid object id; less than 1 or greater than 
781 <TT
782 CLASS="LITERAL"
783 >CYGNUM_UITRON_TASKS/SEMAS/MBOXES</TT
784 >
785 as appropriate returns E_ID</P
786 ></LI
787 ><LI
788 ><P
789 >dispatching is enabled in any call which can sleep, or
790 E_CTX</P
791 ></LI
792 ><LI
793 ><P
794 >tmout must be positive, otherwise E_PAR</P
795 ></LI
796 ><LI
797 ><P
798 >pk_cxxx pointers in 
799 <TT
800 CLASS="FUNCTION"
801 >cre_xxx()</TT
802 >
803  must be valid pointers, or E_PAR</P
804 ></LI
805 ><LI
806 ><P
807 >return value pointer in 
808 <TT
809 CLASS="FUNCTION"
810 >ref_xxx()</TT
811 >
812  is valid pointer, or E_PAR</P
813 ></LI
814 ><LI
815 ><P
816 >flag wait pattern must be non-zero, and mode must be valid,
817 or E_PAR</P
818 ></LI
819 ><LI
820 ><P
821 >return value pointer in flag wait calls is a valid pointer,
822 or E_PAR</P
823 ></LI
824 ></UL
825 ><P
826 >The following conditions are checked for, and can return error
827 codes, regardless of the setting of
828 <TT
829 CLASS="LITERAL"
830 >CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
831 >
832 :</P
833 ><P
834 ></P
835 ><UL
836 ><LI
837 ><P
838 >When create and delete functions 
839 <TT
840 CLASS="FUNCTION"
841 >cre_xxx()</TT
842 >
843  and 
844 <TT
845 CLASS="FUNCTION"
846 >del_xxx()</TT
847 >
848  are supported, all calls which use a valid object ID number check
849 that the object exists. If not, E_NOEXS is returned.</P
850 ></LI
851 ><LI
852 ><P
853 >In create functions 
854 <TT
855 CLASS="FUNCTION"
856 >cre_xxx()</TT
857 >
858 , when supported, if the object already exists, then E_OBJ</P
859 ></LI
860 ><LI
861 ><P
862 >In any call which can sleep, such as 
863 <TT
864 CLASS="FUNCTION"
865 >twai_sem()</TT
866 >
867 : return codes E_TMOUT, E_RLWAI, E_DLT
868 or of course E_OK are returned depending on the reason
869 for terminating the sleep</P
870 ></LI
871 ><LI
872 ><P
873 >In polling functions such as 
874 <TT
875 CLASS="FUNCTION"
876 >preq_sem()</TT
877 >
878 return codes E_TMOUT or E_OK are returned depending
879 on the state of the synchronization object</P
880 ></LI
881 ><LI
882 ><P
883 >In creation functions, the attributes must be compatible
884 with the selected underlying kernel configuration: in 
885 <TT
886 CLASS="FUNCTION"
887 >cre_sem()</TT
888 >
889  <TT
890 CLASS="LITERAL"
891 >pk_csem-&gt;sematr</TT
892 >
893  must be equal to 
894 <TT
895 CLASS="LITERAL"
896 >TA_TFIFO</TT
897 >
898  else E_RSATR.</P
899 ></LI
900 ><LI
901 ><P
902 >In 
903 <TT
904 CLASS="FUNCTION"
905 >cre_flg()</TT
906 >
907  <TT
908 CLASS="LITERAL"
909 >pk_cflg-&gt;flgatr</TT
910 >
911  must be either 
912 <TT
913 CLASS="VARNAME"
914 >TA_WMUL</TT
915 >
916  or 
917 <TT
918 CLASS="VARNAME"
919 >TA_WSGL</TT
920 >
921  else <TT
922 CLASS="VARNAME"
923 >E_RSATR</TT
924 >.</P
925 ></LI
926 ><LI
927 ><P
928 >In 
929 <TT
930 CLASS="FUNCTION"
931 >cre_mbx()</TT
932 >
933  
934 <TT
935 CLASS="LITERAL"
936 >pk_cmbx-&gt;mbxatr</TT
937 >
938  must be 
939 <TT
940 CLASS="LITERAL"
941 >TA_TFIFO &#0043; TA_MFIFO</TT
942 >
943  else E_RSATR.</P
944 ></LI
945 ></UL
946 ></DIV
947 ></DIV
948 ><DIV
949 CLASS="NAVFOOTER"
950 ><HR
951 ALIGN="LEFT"
952 WIDTH="100%"><TABLE
953 SUMMARY="Footer navigation table"
954 WIDTH="100%"
955 BORDER="0"
956 CELLPADDING="0"
957 CELLSPACING="0"
958 ><TR
959 ><TD
960 WIDTH="33%"
961 ALIGN="left"
962 VALIGN="top"
963 ><A
964 HREF="compat-uitron-task-dependent-synch-functions.html"
965 ACCESSKEY="P"
966 >Prev</A
967 ></TD
968 ><TD
969 WIDTH="34%"
970 ALIGN="center"
971 VALIGN="top"
972 ><A
973 HREF="ecos-ref.html"
974 ACCESSKEY="H"
975 >Home</A
976 ></TD
977 ><TD
978 WIDTH="33%"
979 ALIGN="right"
980 VALIGN="top"
981 ><A
982 HREF="compat-uitron-extended-sync-comm-functions.html"
983 ACCESSKEY="N"
984 >Next</A
985 ></TD
986 ></TR
987 ><TR
988 ><TD
989 WIDTH="33%"
990 ALIGN="left"
991 VALIGN="top"
992 >Task-Dependent Synchronization Functions</TD
993 ><TD
994 WIDTH="34%"
995 ALIGN="center"
996 VALIGN="top"
997 ><A
998 HREF="compat-uitron-microitron-api.html"
999 ACCESSKEY="U"
1000 >Up</A
1001 ></TD
1002 ><TD
1003 WIDTH="33%"
1004 ALIGN="right"
1005 VALIGN="top"
1006 >Extended Synchronization and Communication Functions</TD
1007 ></TR
1008 ></TABLE
1009 ></DIV
1010 ></BODY
1011 ></HTML
1012 >