From cc2174085eb321aa167308d3594793a3320f504c Mon Sep 17 00:00:00 2001 From: Florian Pose <fp@igh-essen.com> Date: Wed, 2 Jul 2008 09:22:55 +0000 Subject: [PATCH] Added ec_master_find_domain_const(). --- master/master.c | 27 +++++++++++++++++++++------ master/master.h | 2 ++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/master/master.c b/master/master.c index 327c6cc4..3b9dcde5 100644 --- a/master/master.c +++ b/master/master.c @@ -1124,20 +1124,35 @@ unsigned int ec_master_domain_count( /*****************************************************************************/ +#define EC_FIND_DOMAIN \ + do { \ + list_for_each_entry(domain, &master->domains, list) { \ + if (index--) \ + continue; \ + return domain; \ + } \ + \ + return NULL; \ + } while (0) + ec_domain_t *ec_master_find_domain( ec_master_t *master, /**< EtherCAT master. */ unsigned int index /**< Domain index. */ ) { ec_domain_t *domain; + EC_FIND_DOMAIN; +} - list_for_each_entry(domain, &master->domains, list) { - if (index--) - continue; - return domain; - } +/*****************************************************************************/ - return NULL; +const ec_domain_t *ec_master_find_domain_const( + const ec_master_t *master, /**< EtherCAT master. */ + unsigned int index /**< Domain index. */ + ) +{ + const ec_domain_t *domain; + EC_FIND_DOMAIN; } /*****************************************************************************/ diff --git a/master/master.h b/master/master.h index d5ccc6c5..8208aa12 100644 --- a/master/master.h +++ b/master/master.h @@ -203,6 +203,8 @@ const ec_slave_config_t *ec_master_get_config_const( const ec_master_t *, unsigned int); unsigned int ec_master_domain_count(const ec_master_t *); ec_domain_t *ec_master_find_domain(ec_master_t *, unsigned int); +const ec_domain_t *ec_master_find_domain_const(const ec_master_t *, + unsigned int); int ec_master_debug_level(ec_master_t *, int); -- GitLab