diff -r 4d5b739edcb5 -r afb189516fcf master/voe_handler.c --- 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);