refactor constraint matrix handling
diff --git a/libasn1parser/asn1p_class.h b/libasn1parser/asn1p_class.h
index 3fd27ef..4c6ed2f 100644
--- a/libasn1parser/asn1p_class.h
+++ b/libasn1parser/asn1p_class.h
@@ -15,12 +15,22 @@
int new_ref;
} *column;
size_t columns;
- size_t max_identifier_length;
} asn1p_ioc_row_t;
asn1p_ioc_row_t *asn1p_ioc_row_new(struct asn1p_expr_s *oclass);
+size_t asn1p_ioc_row_max_identifier_length(asn1p_ioc_row_t *);
void asn1p_ioc_row_delete(asn1p_ioc_row_t *);
+typedef struct asn1p_ioc_table_s {
+ asn1p_ioc_row_t **row;
+ size_t rows;
+} asn1p_ioc_table_t;
+
+asn1p_ioc_table_t *asn1p_ioc_table_new(void);
+void asn1p_ioc_table_add(asn1p_ioc_table_t *, asn1p_ioc_row_t *row);
+size_t asn1p_ioc_table_max_identifier_length(asn1p_ioc_table_t *);
+void asn1p_ioc_table_free(asn1p_ioc_table_t *);
+
/*
* Match is similar to a comparison,
* but -1 means error and 1 means not equal. 0 is OK