aboutsummaryrefslogtreecommitdiff
path: root/include/odp/api/spec/event.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/odp/api/spec/event.h')
-rw-r--r--include/odp/api/spec/event.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/odp/api/spec/event.h b/include/odp/api/spec/event.h
index 9dc614329..65b5dd7ff 100644
--- a/include/odp/api/spec/event.h
+++ b/include/odp/api/spec/event.h
@@ -64,6 +64,22 @@ odp_event_type_t odp_event_types(odp_event_t event,
odp_event_subtype_t *subtype);
/**
+ * Event types and subtypes of multiple events
+ *
+ * Outputs the event types and subtypes (optional) of all given events into the
+ * output arrays. Application can pass NULL as 'subtype' parameter if subtype
+ * values are not required. The types are written in the same order as input
+ * events.
+ *
+ * @param event Array of event handles
+ * @param[out] type Event type array for output
+ * @param[out] subtype Event subtype array for output, or NULL
+ * @param num Number of events, event types, and optionally subtypes
+ */
+void odp_event_types_multi(const odp_event_t event[], odp_event_type_t type[],
+ odp_event_subtype_t subtype[], int num);
+
+/**
* Event type of multiple events
*
* Returns the number of first events in the array which have the same event
@@ -94,6 +110,28 @@ int odp_event_type_multi(const odp_event_t event[], int num,
void *odp_event_user_area(odp_event_t event);
/**
+ * Event user area and flag
+ *
+ * Returns pointer to the user area and outputs value of user flag associated
+ * with the event. The user area maps to the user area of underlying event type
+ * (e.g. odp_packet_user_area() for packets). If the event does not have user
+ * area, NULL is returned.
+ *
+ * The user flag maps to the user flag value of underlying event type (e.g.
+ * odp_packet_user_flag() for packets). If the event does not have user flag, a
+ * negative value is outputted.
+ *
+ * @param event Event handle
+ * @param[out] flag User flag value pointer for output. >0 if user flag is
+ * set, 0 if flags is not set, or <0 if event does not have
+ * user flag.
+ *
+ * @return Pointer to the user area of the event
+ * @retval NULL The event does not have user area
+ */
+void *odp_event_user_area_and_flag(odp_event_t event, int *flag);
+
+/**
* Filter and convert packet events
*
* Checks event type of all input events, converts all packet events and outputs