Put item in xList with value for Event Flag

nobody wrote on Sunday, February 11, 2007:

Hi, I’m trying to create an event flag kernel object.
Here is my object definition.

typedef struct FlagsDefinition
  portLONG ulFlags;
  xList xTasksWaitingForAny;
  xList xTasksWaitingForAll;

To do this, I need to be able to put the current task’s (pxCurrentTCB) event list item into either of the lists
(xTasksWaitingForAny or xTasksWaitingForAll )with the flag value it’s waiting for.

For example, if the current task is waiting for the flag to be 0xFFFF0000, I need to set pxCurrentTCB->xEventListItem.xItemValue
to 0xFFFF0000, and store this event list item into xTasksWaitingForAll;

How do I do this since pxCurrentTCB , and TCB block not accessible?. Do I need to move them to task.h or is there other cleaner way? Does using pxCurrentTCB->xEventListItem.xItemValue will mess up the priority i.e. waking up task in the event list will not be in prioritized order?

Sorry for the very confusing questions.

rtel wrote on Sunday, February 11, 2007:

Just call vTaskPlaceOnEventList()?