Added entry access functions.

This commit is contained in:
Florian Pose 2008-06-02 10:49:44 +00:00
parent 940e559c3d
commit 12287e723e
2 changed files with 43 additions and 0 deletions

View File

@ -229,3 +229,43 @@ int ec_pdo_equal_entries(
}
/*****************************************************************************/
/**
*/
unsigned int ec_pdo_entry_count(
const ec_pdo_t *pdo /**< Pdo. */
)
{
const ec_pdo_entry_t *entry;
unsigned int num = 0;
list_for_each_entry(entry, &pdo->entries, list) {
num++;
}
return num;
}
/*****************************************************************************/
/** Finds a Pdo entry via its position in the list.
*
* Const version.
*/
const ec_pdo_entry_t *ec_pdo_find_entry_by_pos_const(
const ec_pdo_t *pdo, /**< Pdo. */
unsigned int pos /**< Position in the list. */
)
{
const ec_pdo_entry_t *entry;
list_for_each_entry(entry, &pdo->entries, list) {
if (pos--)
continue;
return entry;
}
return NULL;
}
/*****************************************************************************/

View File

@ -73,6 +73,9 @@ int ec_pdo_set_name(ec_pdo_t *, const char *);
ec_pdo_entry_t *ec_pdo_add_entry(ec_pdo_t *, uint16_t, uint8_t, uint8_t);
int ec_pdo_copy_entries(ec_pdo_t *, const ec_pdo_t *);
int ec_pdo_equal_entries(const ec_pdo_t *, const ec_pdo_t *);
unsigned int ec_pdo_entry_count(const ec_pdo_t *);
const ec_pdo_entry_t *ec_pdo_find_entry_by_pos_const(
const ec_pdo_t *, unsigned int);
/*****************************************************************************/