master/voe_handler.c
changeset 1226 afb189516fcf
parent 1224 784bb76105cd
child 1264 e7882f246d7a
--- a/master/voe_handler.c	Tue Sep 30 07:34:55 2008 +0000
+++ b/master/voe_handler.c	Tue Sep 30 07:50:34 2008 +0000
@@ -111,7 +111,7 @@
  * Application interface.
  ****************************************************************************/
 
-void ecrt_voe_handler_header(ec_voe_handler_t *voe, uint32_t vendor_id,
+void ecrt_voe_handler_send_header(ec_voe_handler_t *voe, uint32_t vendor_id,
         uint16_t vendor_type)
 {
     voe->vendor_id = vendor_id;
@@ -120,6 +120,19 @@
 
 /*****************************************************************************/
 
+void ecrt_voe_handler_received_header(const ec_voe_handler_t *voe,
+        uint32_t *vendor_id, uint16_t *vendor_type)
+{
+    uint8_t *header = voe->datagram.data + EC_MBOX_HEADER_SIZE;
+
+    if (vendor_id)
+        *vendor_id = EC_READ_U32(header);
+    if (vendor_type)
+        *vendor_type = EC_READ_U16(header + 4);
+}
+
+/*****************************************************************************/
+
 uint8_t *ecrt_voe_handler_data(ec_voe_handler_t *voe)
 {
     return voe->datagram.data + EC_MBOX_HEADER_SIZE + EC_VOE_HEADER_SIZE;
@@ -405,7 +418,8 @@
 
 /** \cond */
 
-EXPORT_SYMBOL(ecrt_voe_handler_header);
+EXPORT_SYMBOL(ecrt_voe_handler_send_header);
+EXPORT_SYMBOL(ecrt_voe_handler_received_header);
 EXPORT_SYMBOL(ecrt_voe_handler_data);
 EXPORT_SYMBOL(ecrt_voe_handler_data_size);
 EXPORT_SYMBOL(ecrt_voe_handler_read);