+static inline struct marker_field *marker_get_field(struct marker_info *info,
+ guint i)
+{
+ return &g_array_index(info->fields, struct marker_field, i);
+}
+
+static inline unsigned int marker_get_num_fields(struct marker_info *info)
+{
+ return info->fields->len;
+}
+
+/*
+ * for_each_marker_field - iterate over fields of a marker
+ * @field: struct marker_field * to use as iterator
+ * @info: marker info pointer
+ */
+#define for_each_marker_field(field, info) \
+ for (field = marker_get_field(info, 0); \
+ field != marker_get_field(info, marker_get_num_fields(info)); \
+ field++)
+