RTEMS Logo

RTEMS 4.7.1 On-Line Library


Eventflags Manager cre_flg - Create Eventflag

PREV UP NEXT Bookshelf RTEMS ITRON 3.0 API User's Guide

4.4.1: cre_flg - Create Eventflag

CALLING SEQUENCE:

ER cre_flg(
  ID flgid,
  T_CFLG *pk_cflg
);

STATUS CODES:

E_OK - Normal Completion

E_NOMEM - Insufficient memory (Memory for control block cannot be allocated)

E_ID - Invalid ID number (flgid was invalid or could not be used)

E_RSATR - Reserved attribute (flgatr was invalid or could not be used)

E_OBJ - Invalid object state (an eventflag of the same ID already exists)

E_OACV - Object access violation (A flgid less than -4 was specified from a user task. This is implementation dependent.)

E_PAR - Parameter error (pk_cflg is invalid)

EN_OBJNO - An object number which could not be accessed on the target node is specified.

EN_CTXID - Specified an object on another node when the system call was issued from a task in dispatch disabled state or from a task-independent portion

EN_PAR- A value outside the range supported by the target node and/or transmission packet format was specified as a parameter (a value outside supported range was specified for exinf, flgatr and/or iflgptn)

DESCRIPTION:

This system call creates the eventflag specified by flgid. Specifically, a control block for the eventflag to be created is allocated and the associated flag pattern is initialized using iflgptn. A single eventflag handles one word's worth of bits of the processor in question as a group. All operations are done in single word units.

User eventflags have positive ID numbers, while system eventflags have negative ID numbers. User tasks (tasks having positive task IDs) cannot access system eventflags. An E_OACV error will result if a user task issues a system call on a system eventflag, but error detection is implementation dependent.

Eventflags having ID numbers from -4 through 0 cannot be created. An E_ID error will result if a value in this range is specified for flgid.

The system attribute part of flgatr may be specified as TA_WSGL (Wait Single Task) or TA_WMUL (Wait Multiple Tasks)

NOTES:

Multiprocessing is not supported. Thus none of the "EN_" status codes will be returned.

All memory is preallocated for RTEMS ITRON objects. Thus, no dynamic memory allocation is performed by cre_flg and the E_NOMEM error can not be returned.


PREV UP NEXT Bookshelf RTEMS ITRON 3.0 API User's Guide

Copyright © 1988-2004 OAR Corporation