+/**
+ * \brief Account iterator opaque structure
+ *
+ * Opaque structure for account iterators returned by Bank_Iterator
+ * and used by Bank_IteratorNext and Bank_DelIterator
+ */
+typedef struct sAcctIterator tAcctIterator;
+
+/**
+ * \brief Iterator for a collection of items
+ */
+typedef struct sItemIterator tItemIterator;
+
+/**
+ * \brief Flag values for the \a Flags parameter to Bank_Iterator
+ */
+enum eBank_ItFlags
+{
+ BANK_ITFLAG_MINBALANCE = 0x01, //!< Balance value is Minium Balance
+ BANK_ITFLAG_MAXBALANCE = 0x02, //!< Balance value is Maximum Balance (higher priority)
+ BANK_ITFLAG_SEENAFTER = 0x04, //!< Last seen value is lower bound
+ BANK_ITFLAG_SEENBEFORE = 0x08, //!< Last seen value is upper bound (higher priority)
+
+ BANK_ITFLAG_SORT_NONE = 0x000, //!< No sorting (up to the implementation)
+ BANK_ITFLAG_SORT_NAME = 0x100, //!< Sort alphabetically ascending by name
+ BANK_ITFLAG_SORT_BAL = 0x200, //!< Sort by balance, ascending
+ BANK_ITFLAG_SORT_UNIXID = 0x300, //!< Sort by UnixUID (TODO: Needed?)
+ BANK_ITFLAG_SORT_LASTSEEN = 0x400, //!< Sort by last seen time (ascending)
+ BANK_ITFLAG_SORTMASK = 0x700, //!< Sort type mask
+ BANK_ITFLAG_REVSORT = 0x800 //!< Sort descending instead
+};
+
+/**
+ * \brief User flag values
+ *
+ * User flag values used by Bank_GetFlags and Bank_SetFlags
+ */