From 494a0ee4ac99ee6603a1b8be8ff7af7efe6c9d50 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Tue, 14 Oct 2008 09:56:38 +0000 Subject: [PATCH] Added ec_slave_config_find_voe_handler(). --- master/slave_config.c | 20 ++++++++++++++++++++ master/slave_config.h | 2 ++ 2 files changed, 22 insertions(+) diff --git a/master/slave_config.c b/master/slave_config.c index 915ca0bd..77c30b42 100644 --- a/master/slave_config.c +++ b/master/slave_config.c @@ -364,6 +364,26 @@ const ec_sdo_request_t *ec_slave_config_get_sdo_by_pos_const( return NULL; } +/*****************************************************************************/ + +/** Finds a VoE handler via its position in the list. + */ +ec_voe_handler_t *ec_slave_config_find_voe_handler( + ec_slave_config_t *sc, /**< Slave configuration. */ + unsigned int pos /**< Position in the list. */ + ) +{ + ec_voe_handler_t *voe; + + list_for_each_entry(voe, &sc->voe_handlers, list) { + if (pos--) + continue; + return voe; + } + + return NULL; +} + /****************************************************************************** * Realtime interface *****************************************************************************/ diff --git a/master/slave_config.h b/master/slave_config.h index 9ef850c7..2ed2c9b1 100644 --- a/master/slave_config.h +++ b/master/slave_config.h @@ -89,6 +89,8 @@ void ec_slave_config_load_default_sync_config(ec_slave_config_t *); unsigned int ec_slave_config_sdo_count(const ec_slave_config_t *); const ec_sdo_request_t *ec_slave_config_get_sdo_by_pos_const( const ec_slave_config_t *, unsigned int); +ec_voe_handler_t *ec_slave_config_find_voe_handler(ec_slave_config_t *, + unsigned int); /*****************************************************************************/