--- /dev/null
+/*\r
+ * Run-time support for Information Object Classes.\r
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>. All rights reserved.\r
+ * Redistribution and modifications are permitted subject to BSD license.\r
+ */\r
+#ifndef ASN_IOC_H\r
+#define ASN_IOC_H\r
+\r
+#include <asn_system.h> /* Platform-specific types */\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+struct asn_TYPE_descriptor_s;\r
+struct asn_ioc_cell_s;\r
+\r
+/*\r
+ * X.681, #13\r
+ */\r
+typedef struct asn_ioc_set_s {\r
+ size_t rows_count;\r
+ size_t columns_count;\r
+ const struct asn_ioc_cell_s *rows;\r
+} asn_ioc_set_t;\r
+\r
+\r
+typedef struct asn_ioc_cell_s {\r
+ const char *field_name; /* Is equal to corresponding column_name */\r
+ enum {\r
+ aioc__undefined = 0,\r
+ aioc__value,\r
+ aioc__type,\r
+ aioc__open_type,\r
+ } cell_kind;\r
+ struct asn_TYPE_descriptor_s *type_descriptor;\r
+ const void *value_sptr;\r
+ struct {\r
+ size_t types_count;\r
+ struct {\r
+ unsigned choice_position;\r
+ } *types;\r
+ } open_type;\r
+} asn_ioc_cell_t;\r
+\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif /* ASN_IOC_H */\r