summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--unit/test-stkutil.c2035
1 files changed, 2035 insertions, 0 deletions
diff --git a/unit/test-stkutil.c b/unit/test-stkutil.c
index dc331838..2fa449d8 100644
--- a/unit/test-stkutil.c
+++ b/unit/test-stkutil.c
@@ -87,6 +87,13 @@ static void check_item(const struct stk_item *command,
g_assert(g_str_equal(command->text, test->text));
}
+/* Defined in TS 102.223 Section 8.10 */
+static inline void check_item_id(const unsigned char command,
+ const unsigned char test)
+{
+ check_common_byte(command, test);
+}
+
static void check_items(GSList *command, const struct stk_item *test)
{
struct stk_item *si;
@@ -5471,6 +5478,1937 @@ static void test_setup_menu(gconstpointer data)
stk_command_free(command);
}
+struct select_item_test {
+ const unsigned char *pdu;
+ unsigned int pdu_len;
+ unsigned char qualifier;
+ char *alpha_id;
+ struct stk_item items[MAX_ITEM];
+ struct stk_items_next_action_indicator next_act;
+ unsigned char item_id;
+ struct stk_icon_id icon_id;
+ struct stk_item_icon_id_list item_icon_id_list;
+ struct stk_text_attribute text_attr;
+ struct stk_item_text_attribute_list item_text_attr_list;
+ struct stk_frame_id frame_id;
+};
+
+static unsigned char select_item_111[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0E, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x8F, 0x07, 0x01, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x31,
+ 0x8F, 0x07, 0x02, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x32, 0x8F,
+ 0x07, 0x03, 0x49, 0x74, 0x65,
+ 0x6D, 0x20, 0x33, 0x8F, 0x07,
+ 0x04, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x34 };
+
+static unsigned char select_item_121[] = { 0xD0, 0x81, 0xFC, 0x81, 0x03, 0x01,
+ 0x24, 0x00, 0x82, 0x02, 0x81,
+ 0x82, 0x85, 0x0A, 0x4C, 0x61,
+ 0x72, 0x67, 0x65, 0x4D, 0x65,
+ 0x6E, 0x75, 0x31, 0x8F, 0x05,
+ 0x50, 0x5A, 0x65, 0x72, 0x6F,
+ 0x8F, 0x04, 0x4F, 0x4F, 0x6E,
+ 0x65, 0x8F, 0x04, 0x4E, 0x54,
+ 0x77, 0x6F, 0x8F, 0x06, 0x4D,
+ 0x54, 0x68, 0x72, 0x65, 0x65,
+ 0x8F, 0x05, 0x4C, 0x46, 0x6F,
+ 0x75, 0x72, 0x8F, 0x05, 0x4B,
+ 0x46, 0x69, 0x76, 0x65, 0x8F,
+ 0x04, 0x4A, 0x53, 0x69, 0x78,
+ 0x8F, 0x06, 0x49, 0x53, 0x65,
+ 0x76, 0x65, 0x6E, 0x8F, 0x06,
+ 0x48, 0x45, 0x69, 0x67, 0x68,
+ 0x74, 0x8F, 0x05, 0x47, 0x4E,
+ 0x69, 0x6E, 0x65, 0x8F, 0x06,
+ 0x46, 0x41, 0x6C, 0x70, 0x68,
+ 0x61, 0x8F, 0x06, 0x45, 0x42,
+ 0x72, 0x61, 0x76, 0x6F, 0x8F,
+ 0x08, 0x44, 0x43, 0x68, 0x61,
+ 0x72, 0x6C, 0x69, 0x65, 0x8F,
+ 0x06, 0x43, 0x44, 0x65, 0x6C,
+ 0x74, 0x61, 0x8F, 0x05, 0x42,
+ 0x45, 0x63, 0x68, 0x6F, 0x8F,
+ 0x09, 0x41, 0x46, 0x6F, 0x78,
+ 0x2D, 0x74, 0x72, 0x6F, 0x74,
+ 0x8F, 0x06, 0x40, 0x42, 0x6C,
+ 0x61, 0x63, 0x6B, 0x8F, 0x06,
+ 0x3F, 0x42, 0x72, 0x6F, 0x77,
+ 0x6E, 0x8F, 0x04, 0x3E, 0x52,
+ 0x65, 0x64, 0x8F, 0x07, 0x3D,
+ 0x4F, 0x72, 0x61, 0x6E, 0x67,
+ 0x65, 0x8F, 0x07, 0x3C, 0x59,
+ 0x65, 0x6C, 0x6C, 0x6F, 0x77,
+ 0x8F, 0x06, 0x3B, 0x47, 0x72,
+ 0x65, 0x65, 0x6E, 0x8F, 0x05,
+ 0x3A, 0x42, 0x6C, 0x75, 0x65,
+ 0x8F, 0x07, 0x39, 0x56, 0x69,
+ 0x6F, 0x6C, 0x65, 0x74, 0x8F,
+ 0x05, 0x38, 0x47, 0x72, 0x65,
+ 0x79, 0x8F, 0x06, 0x37, 0x57,
+ 0x68, 0x69, 0x74, 0x65, 0x8F,
+ 0x06, 0x36, 0x6D, 0x69, 0x6C,
+ 0x6C, 0x69, 0x8F, 0x06, 0x35,
+ 0x6D, 0x69, 0x63, 0x72, 0x6F,
+ 0x8F, 0x05, 0x34, 0x6E, 0x61,
+ 0x6E, 0x6F, 0x8F, 0x05, 0x33,
+ 0x70, 0x69, 0x63, 0x6F };
+
+static unsigned char select_item_131[] = { 0xD0, 0x81, 0xFB, 0x81, 0x03, 0x01,
+ 0x24, 0x00, 0x82, 0x02, 0x81,
+ 0x82, 0x85, 0x0A, 0x4C, 0x61,
+ 0x72, 0x67, 0x65, 0x4D, 0x65,
+ 0x6E, 0x75, 0x32, 0x8F, 0x1E,
+ 0xFF, 0x43, 0x61, 0x6C, 0x6C,
+ 0x20, 0x46, 0x6F, 0x72, 0x77,
+ 0x61, 0x72, 0x64, 0x69, 0x6E,
+ 0x67, 0x20, 0x55, 0x6E, 0x63,
+ 0x6F, 0x6E, 0x64, 0x69, 0x74,
+ 0x69, 0x6F, 0x6E, 0x61, 0x6C,
+ 0x8F, 0x1D, 0xFE, 0x43, 0x61,
+ 0x6C, 0x6C, 0x20, 0x46, 0x6F,
+ 0x72, 0x77, 0x61, 0x72, 0x64,
+ 0x69, 0x6E, 0x67, 0x20, 0x4F,
+ 0x6E, 0x20, 0x55, 0x73, 0x65,
+ 0x72, 0x20, 0x42, 0x75, 0x73,
+ 0x79, 0x8F, 0x1C, 0xFD, 0x43,
+ 0x61, 0x6C, 0x6C, 0x20, 0x46,
+ 0x6F, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x69, 0x6E, 0x67, 0x20,
+ 0x4F, 0x6E, 0x20, 0x4E, 0x6F,
+ 0x20, 0x52, 0x65, 0x70, 0x6C,
+ 0x79, 0x8F, 0x26, 0xFC, 0x43,
+ 0x61, 0x6C, 0x6C, 0x20, 0x46,
+ 0x6F, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x69, 0x6E, 0x67, 0x20,
+ 0x4F, 0x6E, 0x20, 0x55, 0x73,
+ 0x65, 0x72, 0x20, 0x4E, 0x6F,
+ 0x74, 0x20, 0x52, 0x65, 0x61,
+ 0x63, 0x68, 0x61, 0x62, 0x6C,
+ 0x65, 0x8F, 0x1E, 0xFB, 0x42,
+ 0x61, 0x72, 0x72, 0x69, 0x6E,
+ 0x67, 0x20, 0x4F, 0x66, 0x20,
+ 0x41, 0x6C, 0x6C, 0x20, 0x4F,
+ 0x75, 0x74, 0x67, 0x6F, 0x69,
+ 0x6E, 0x67, 0x20, 0x43, 0x61,
+ 0x6C, 0x6C, 0x73, 0x8F, 0x2C,
+ 0xFA, 0x42, 0x61, 0x72, 0x72,
+ 0x69, 0x6E, 0x67, 0x20, 0x4F,
+ 0x66, 0x20, 0x41, 0x6C, 0x6C,
+ 0x20, 0x4F, 0x75, 0x74, 0x67,
+ 0x6F, 0x69, 0x6E, 0x67, 0x20,
+ 0x49, 0x6E, 0x74, 0x65, 0x72,
+ 0x6E, 0x61, 0x74, 0x69, 0x6F,
+ 0x6E, 0x61, 0x6C, 0x20, 0x43,
+ 0x61, 0x6C, 0x6C, 0x73, 0x8F,
+ 0x11, 0xF9, 0x43, 0x4C, 0x49,
+ 0x20, 0x50, 0x72, 0x65, 0x73,
+ 0x65, 0x6E, 0x74, 0x61, 0x74,
+ 0x69, 0x6F, 0x6E };
+
+static unsigned char select_item_141[] = { 0xD0, 0x22, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0B, 0x53, 0x65, 0x6C,
+ 0x65, 0x63, 0x74, 0x20, 0x49,
+ 0x74, 0x65, 0x6D, 0x8F, 0x04,
+ 0x11, 0x4F, 0x6E, 0x65, 0x8F,
+ 0x04, 0x12, 0x54, 0x77, 0x6F };
+
+static unsigned char select_item_151[] = { 0xD0, 0x81, 0xFD, 0x81, 0x03, 0x01,
+ 0x24, 0x00, 0x82, 0x02, 0x81,
+ 0x82, 0x85, 0x81, 0xED, 0x54,
+ 0x68, 0x65, 0x20, 0x53, 0x49,
+ 0x4D, 0x20, 0x73, 0x68, 0x61,
+ 0x6C, 0x6C, 0x20, 0x73, 0x75,
+ 0x70, 0x70, 0x6C, 0x79, 0x20,
+ 0x61, 0x20, 0x73, 0x65, 0x74,
+ 0x20, 0x6F, 0x66, 0x20, 0x69,
+ 0x74, 0x65, 0x6D, 0x73, 0x20,
+ 0x66, 0x72, 0x6F, 0x6D, 0x20,
+ 0x77, 0x68, 0x69, 0x63, 0x68,
+ 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x75, 0x73, 0x65, 0x72, 0x20,
+ 0x6D, 0x61, 0x79, 0x20, 0x63,
+ 0x68, 0x6F, 0x6F, 0x73, 0x65,
+ 0x20, 0x6F, 0x6E, 0x65, 0x2E,
+ 0x20, 0x45, 0x61, 0x63, 0x68,
+ 0x20, 0x69, 0x74, 0x65, 0x6D,
+ 0x20, 0x63, 0x6F, 0x6D, 0x70,
+ 0x72, 0x69, 0x73, 0x65, 0x73,
+ 0x20, 0x61, 0x20, 0x73, 0x68,
+ 0x6F, 0x72, 0x74, 0x20, 0x69,
+ 0x64, 0x65, 0x6E, 0x74, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x20,
+ 0x28, 0x75, 0x73, 0x65, 0x64,
+ 0x20, 0x74, 0x6F, 0x20, 0x69,
+ 0x6E, 0x64, 0x69, 0x63, 0x61,
+ 0x74, 0x65, 0x20, 0x74, 0x68,
+ 0x65, 0x20, 0x73, 0x65, 0x6C,
+ 0x65, 0x63, 0x74, 0x69, 0x6F,
+ 0x6E, 0x29, 0x20, 0x61, 0x6E,
+ 0x64, 0x20, 0x61, 0x20, 0x74,
+ 0x65, 0x78, 0x74, 0x20, 0x73,
+ 0x74, 0x72, 0x69, 0x6E, 0x67,
+ 0x2E, 0x20, 0x4F, 0x70, 0x74,
+ 0x69, 0x6F, 0x6E, 0x61, 0x6C,
+ 0x6C, 0x79, 0x20, 0x74, 0x68,
+ 0x65, 0x20, 0x53, 0x49, 0x4D,
+ 0x20, 0x6D, 0x61, 0x79, 0x20,
+ 0x69, 0x6E, 0x63, 0x6C, 0x75,
+ 0x64, 0x65, 0x20, 0x61, 0x6E,
+ 0x20, 0x61, 0x6C, 0x70, 0x68,
+ 0x61, 0x20, 0x69, 0x64, 0x65,
+ 0x6E, 0x74, 0x69, 0x66, 0x69,
+ 0x65, 0x72, 0x2E, 0x20, 0x54,
+ 0x68, 0x65, 0x20, 0x61, 0x6C,
+ 0x70, 0x68, 0x61, 0x20, 0x69,
+ 0x64, 0x65, 0x6E, 0x74, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x20,
+ 0x69, 0x8F, 0x02, 0x01, 0x59 };
+
+static unsigned char select_item_161[] = { 0xD0, 0x81, 0xF3, 0x81, 0x03, 0x01,
+ 0x24, 0x00, 0x82, 0x02, 0x81,
+ 0x82, 0x85, 0x0A, 0x30, 0x4C,
+ 0x61, 0x72, 0x67, 0x65, 0x4D,
+ 0x65, 0x6E, 0x75, 0x8F, 0x1D,
+ 0xFF, 0x31, 0x20, 0x43, 0x61,
+ 0x6C, 0x6C, 0x20, 0x46, 0x6F,
+ 0x72, 0x77, 0x61, 0x72, 0x64,
+ 0x20, 0x55, 0x6E, 0x63, 0x6F,
+ 0x6E, 0x64, 0x69, 0x74, 0x69,
+ 0x6F, 0x6E, 0x61, 0x6C, 0x8F,
+ 0x1C, 0xFE, 0x32, 0x20, 0x43,
+ 0x61, 0x6C, 0x6C, 0x20, 0x46,
+ 0x6F, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x20, 0x4F, 0x6E, 0x20,
+ 0x55, 0x73, 0x65, 0x72, 0x20,
+ 0x42, 0x75, 0x73, 0x79, 0x8F,
+ 0x1B, 0xFD, 0x33, 0x20, 0x43,
+ 0x61, 0x6C, 0x6C, 0x20, 0x46,
+ 0x6F, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x20, 0x4F, 0x6E, 0x20,
+ 0x4E, 0x6F, 0x20, 0x52, 0x65,
+ 0x70, 0x6C, 0x79, 0x8F, 0x25,
+ 0xFC, 0x34, 0x20, 0x43, 0x61,
+ 0x6C, 0x6C, 0x20, 0x46, 0x6F,
+ 0x72, 0x77, 0x61, 0x72, 0x64,
+ 0x20, 0x4F, 0x6E, 0x20, 0x55,
+ 0x73, 0x65, 0x72, 0x20, 0x4E,
+ 0x6F, 0x74, 0x20, 0x52, 0x65,
+ 0x61, 0x63, 0x68, 0x61, 0x62,
+ 0x6C, 0x65, 0x8F, 0x20, 0xFB,
+ 0x35, 0x20, 0x42, 0x61, 0x72,
+ 0x72, 0x69, 0x6E, 0x67, 0x20,
+ 0x4F, 0x66, 0x20, 0x41, 0x6C,
+ 0x6C, 0x20, 0x4F, 0x75, 0x74,
+ 0x67, 0x6F, 0x69, 0x6E, 0x67,
+ 0x20, 0x43, 0x61, 0x6C, 0x6C,
+ 0x73, 0x8F, 0x24, 0xFA, 0x36,
+ 0x20, 0x42, 0x61, 0x72, 0x72,
+ 0x69, 0x6E, 0x67, 0x20, 0x4F,
+ 0x66, 0x20, 0x41, 0x6C, 0x6C,
+ 0x20, 0x4F, 0x75, 0x74, 0x67,
+ 0x6F, 0x69, 0x6E, 0x67, 0x20,
+ 0x49, 0x6E, 0x74, 0x20, 0x43,
+ 0x61, 0x6C, 0x6C, 0x73, 0x8F,
+ 0x13, 0xF9, 0x37, 0x20, 0x43,
+ 0x4C, 0x49, 0x20, 0x50, 0x72,
+ 0x65, 0x73, 0x65, 0x6E, 0x74,
+ 0x61, 0x74, 0x69, 0x6F, 0x6E };
+
+static unsigned char select_item_211[] = { 0xD0, 0x39, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0E, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x8F, 0x07, 0x01, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x31,
+ 0x8F, 0x07, 0x02, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x32, 0x8F,
+ 0x07, 0x03, 0x49, 0x74, 0x65,
+ 0x6D, 0x20, 0x33, 0x18, 0x03,
+ 0x13, 0x10, 0x26 };
+
+static unsigned char select_item_311[] = { 0xD0, 0x37, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0E, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x8F, 0x07, 0x01, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x31,
+ 0x8F, 0x07, 0x02, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x32, 0x8F,
+ 0x07, 0x03, 0x49, 0x74, 0x65,
+ 0x6D, 0x20, 0x33, 0x90, 0x01,
+ 0x02 };
+
+static unsigned char select_item_411[] = { 0xD0, 0x34, 0x81, 0x03, 0x01, 0x24,
+ 0x80, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0E, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x8F, 0x07, 0x01, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x31,
+ 0x8F, 0x07, 0x02, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x32, 0x8F,
+ 0x07, 0x03, 0x49, 0x74, 0x65,
+ 0x6D, 0x20, 0x33 };
+
+static unsigned char select_item_511[] = { 0xD0, 0x3E, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0E, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x8F, 0x07, 0x01, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x31,
+ 0x8F, 0x07, 0x02, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x32, 0x8F,
+ 0x07, 0x03, 0x49, 0x74, 0x65,
+ 0x6D, 0x20, 0x33, 0x9E, 0x02,
+ 0x01, 0x01, 0x9F, 0x04, 0x01,
+ 0x05, 0x05, 0x05 };
+
+static unsigned char select_item_521[] = { 0xD0, 0x3E, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0E, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x8F, 0x07, 0x01, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x31,
+ 0x8F, 0x07, 0x02, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x32, 0x8F,
+ 0x07, 0x03, 0x49, 0x74, 0x65,
+ 0x6D, 0x20, 0x33, 0x9E, 0x02,
+ 0x00, 0x01, 0x9F, 0x04, 0x00,
+ 0x05, 0x05, 0x05 };
+
+static unsigned char select_item_611[] = { 0xD0, 0x34, 0x81, 0x03, 0x01, 0x24,
+ 0x03, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0E, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x8F, 0x07, 0x01, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x31,
+ 0x8F, 0x07, 0x02, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x32, 0x8F,
+ 0x07, 0x03, 0x49, 0x74, 0x65,
+ 0x6D, 0x20, 0x33 };
+
+static unsigned char select_item_621[] = { 0xD0, 0x34, 0x81, 0x03, 0x01, 0x24,
+ 0x01, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0E, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x8F, 0x07, 0x01, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x31,
+ 0x8F, 0x07, 0x02, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x32, 0x8F,
+ 0x07, 0x03, 0x49, 0x74, 0x65,
+ 0x6D, 0x20, 0x33 };
+
+static unsigned char select_item_711[] = { 0xD0, 0x2B, 0x81, 0x03, 0x01, 0x24,
+ 0x04, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0E, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x8F, 0x07, 0x01, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x31,
+ 0x8F, 0x07, 0x02, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x32 };
+
+static unsigned char select_item_811[] = { 0xD0, 0x30, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0A, 0x3C, 0x54, 0x49,
+ 0x4D, 0x45, 0x2D, 0x4F, 0x55,
+ 0x54, 0x3E, 0x8F, 0x07, 0x01,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x31, 0x8F, 0x07, 0x02, 0x49,
+ 0x74, 0x65, 0x6D, 0x20, 0x32,
+ 0x8F, 0x07, 0x03, 0x49, 0x74,
+ 0x65, 0x6D, 0x20, 0x33 };
+
+static unsigned char select_item_911[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x00, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x00, 0xB4, 0x00, 0x06,
+ 0x00, 0xB4 };
+
+static unsigned char select_item_912[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34 };
+
+static unsigned char select_item_921[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x01, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x01, 0xB4, 0x00, 0x06,
+ 0x01, 0xB4 };
+
+static unsigned char select_item_922[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34 };
+
+static unsigned char select_item_931[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x02, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x02, 0xB4, 0x00, 0x06,
+ 0x02, 0xB4 };
+
+static unsigned char select_item_932[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34 };
+
+static unsigned char select_item_941[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x04, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x04, 0xB4, 0x00, 0x06,
+ 0x04, 0xB4 };
+
+static unsigned char select_item_942[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34, 0xD0, 0x04, 0x00, 0x10,
+ 0x00, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x00, 0xB4, 0x00, 0x06,
+ 0x00, 0xB4 };
+
+static unsigned char select_item_943[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x33, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x35, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x36 };
+
+static unsigned char select_item_951[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x08, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x08, 0xB4, 0x00, 0x06,
+ 0x08, 0xB4 };
+
+static unsigned char select_item_952[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34, 0xD0, 0x04, 0x00, 0x10,
+ 0x00, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x00, 0xB4, 0x00, 0x06,
+ 0x00, 0xB4 };
+
+static unsigned char select_item_953[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x33, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x35, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x36 };
+
+static unsigned char select_item_961[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x10, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x10, 0xB4, 0x00, 0x06,
+ 0x10, 0xB4 };
+
+static unsigned char select_item_962[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34, 0xD0, 0x04, 0x00, 0x10,
+ 0x00, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x00, 0xB4, 0x00, 0x06,
+ 0x00, 0xB4 };
+
+static unsigned char select_item_963[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x33, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x35, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x36 };
+
+static unsigned char select_item_971[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x20, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x20, 0xB4, 0x00, 0x06,
+ 0x20, 0xB4 };
+
+static unsigned char select_item_972[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34, 0xD0, 0x04, 0x00, 0x10,
+ 0x00, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x00, 0xB4, 0x00, 0x06,
+ 0x00, 0xB4 };
+
+static unsigned char select_item_973[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x33, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x35, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x36 };
+
+static unsigned char select_item_981[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x40, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x40, 0xB4, 0x00, 0x06,
+ 0x40, 0xB4 };
+
+static unsigned char select_item_982[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34, 0xD0, 0x04, 0x00, 0x10,
+ 0x00, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x00, 0xB4, 0x00, 0x06,
+ 0x00, 0xB4 };
+
+static unsigned char select_item_983[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x33, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x35, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x36 };
+
+static unsigned char select_item_991[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x80, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x80, 0xB4, 0x00, 0x06,
+ 0x80, 0xB4 };
+
+static unsigned char select_item_992[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34, 0xD0, 0x04, 0x00, 0x10,
+ 0x00, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x00, 0xB4, 0x00, 0x06,
+ 0x00, 0xB4 };
+
+static unsigned char select_item_993[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x33, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x35, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x36 };
+
+static unsigned char select_item_9101[] = { 0xD0, 0x3D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x31, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x31, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x32, 0xD0, 0x04, 0x00, 0x10,
+ 0x00, 0xB4, 0xD1, 0x08, 0x00,
+ 0x06, 0x00, 0xB4, 0x00, 0x06,
+ 0x00, 0xB4 };
+
+static unsigned char select_item_9102[] = { 0xD0, 0x2D, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x54, 0x6F, 0x6F,
+ 0x6C, 0x6B, 0x69, 0x74, 0x20,
+ 0x53, 0x65, 0x6C, 0x65, 0x63,
+ 0x74, 0x20, 0x32, 0x8F, 0x07,
+ 0x01, 0x49, 0x74, 0x65, 0x6D,
+ 0x20, 0x33, 0x8F, 0x07, 0x02,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x34 };
+
+static unsigned char select_item_1011[] = { 0xD0, 0x7E, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x19, 0x80, 0x04, 0x17,
+ 0x04, 0x14, 0x04, 0x20, 0x04,
+ 0x10, 0x04, 0x12, 0x04, 0x21,
+ 0x04, 0x22, 0x04, 0x12, 0x04,
+ 0x23, 0x04, 0x19, 0x04, 0x22,
+ 0x04, 0x15, 0x8F, 0x1C, 0x01,
+ 0x80, 0x04, 0x17, 0x04, 0x14,
+ 0x04, 0x20, 0x04, 0x10, 0x04,
+ 0x12, 0x04, 0x21, 0x04, 0x22,
+ 0x04, 0x12, 0x04, 0x23, 0x04,
+ 0x19, 0x04, 0x22, 0x04, 0x15,
+ 0x00, 0x31, 0x8F, 0x1C, 0x02,
+ 0x80, 0x04, 0x17, 0x04, 0x14,
+ 0x04, 0x20, 0x04, 0x10, 0x04,
+ 0x12, 0x04, 0x21, 0x04, 0x22,
+ 0x04, 0x12, 0x04, 0x23, 0x04,
+ 0x19, 0x04, 0x22, 0x04, 0x15,
+ 0x00, 0x32, 0x8F, 0x1C, 0x03,
+ 0x80, 0x04, 0x17, 0x04, 0x14,
+ 0x04, 0x20, 0x04, 0x10, 0x04,
+ 0x12, 0x04, 0x21, 0x04, 0x22,
+ 0x04, 0x12, 0x04, 0x23, 0x04,
+ 0x19, 0x04, 0x22, 0x04, 0x15,
+ 0x00, 0x33 };
+
+static unsigned char select_item_1021[] = { 0xD0, 0x53, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0F, 0x81, 0x0C, 0x08,
+ 0x97, 0x94, 0xA0, 0x90, 0x92,
+ 0xA1, 0xA2, 0x92, 0xA3, 0x99,
+ 0xA2, 0x95, 0x8F, 0x11, 0x01,
+ 0x81, 0x0D, 0x08, 0x97, 0x94,
+ 0xA0, 0x90, 0x92, 0xA1, 0xA2,
+ 0x92, 0xA3, 0x99, 0xA2, 0x95,
+ 0x31, 0x8F, 0x11, 0x02, 0x81,
+ 0x0D, 0x08, 0x97, 0x94, 0xA0,
+ 0x90, 0x92, 0xA1, 0xA2, 0x92,
+ 0xA3, 0x99, 0xA2, 0x95, 0x32,
+ 0x8F, 0x11, 0x03, 0x81, 0x0D,
+ 0x08, 0x97, 0x94, 0xA0, 0x90,
+ 0x92, 0xA1, 0xA2, 0x92, 0xA3,
+ 0x99, 0xA2, 0x95, 0x33 };
+
+static unsigned char select_item_1031[] = { 0xD0, 0x57, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x10, 0x82, 0x0C, 0x04,
+ 0x10, 0x87, 0x84, 0x90, 0x80,
+ 0x82, 0x91, 0x92, 0x82, 0x93,
+ 0x89, 0x92, 0x85, 0x8F, 0x12,
+ 0x01, 0x82, 0x0D, 0x04, 0x10,
+ 0x87, 0x84, 0x90, 0x80, 0x82,
+ 0x91, 0x92, 0x82, 0x93, 0x89,
+ 0x92, 0x85, 0x31, 0x8F, 0x12,
+ 0x02, 0x82, 0x0D, 0x04, 0x10,
+ 0x87, 0x84, 0x90, 0x80, 0x82,
+ 0x91, 0x92, 0x82, 0x93, 0x89,
+ 0x92, 0x85, 0x32, 0x8F, 0x12,
+ 0x03, 0x82, 0x0D, 0x04, 0x10,
+ 0x87, 0x84, 0x90, 0x80, 0x82,
+ 0x91, 0x92, 0x82, 0x93, 0x89,
+ 0x92, 0x85, 0x33 };
+
+static unsigned char select_item_1111[] = { 0xD0, 0x3E, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x0B, 0x80, 0x5D, 0xE5,
+ 0x51, 0x77, 0x7B, 0xB1, 0x90,
+ 0x09, 0x62, 0xE9, 0x8F, 0x08,
+ 0x01, 0x80, 0x98, 0x79, 0x76,
+ 0xEE, 0x4E, 0x00, 0x8F, 0x08,
+ 0x02, 0x80, 0x98, 0x79, 0x76,
+ 0xEE, 0x4E, 0x8C, 0x8F, 0x08,
+ 0x03, 0x80, 0x98, 0x79, 0x76,
+ 0xEE, 0x4E, 0x09, 0x8F, 0x08,
+ 0x04, 0x80, 0x98, 0x79, 0x76,
+ 0xEE, 0x56, 0xDB };
+
+static unsigned char select_item_1211[] = { 0xD0, 0x38, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x09, 0x80, 0x00, 0x38,
+ 0x00, 0x30, 0x30, 0xEB, 0x00,
+ 0x30, 0x8F, 0x0A, 0x01, 0x80,
+ 0x00, 0x38, 0x00, 0x30, 0x30,
+ 0xEB, 0x00, 0x31, 0x8F, 0x0A,
+ 0x02, 0x80, 0x00, 0x38, 0x00,
+ 0x30, 0x30, 0xEB, 0x00, 0x32,
+ 0x8F, 0x0A, 0x03, 0x80, 0x00,
+ 0x38, 0x00, 0x30, 0x30, 0xEB,
+ 0x00, 0x33 };
+
+static unsigned char select_item_1221[] = { 0xD0, 0x30, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x07, 0x81, 0x04, 0x61,
+ 0x38, 0x31, 0xEB, 0x30, 0x8F,
+ 0x08, 0x01, 0x81, 0x04, 0x61,
+ 0x38, 0x31, 0xEB, 0x31, 0x8F,
+ 0x08, 0x02, 0x81, 0x04, 0x61,
+ 0x38, 0x31, 0xEB, 0x32, 0x8F,
+ 0x08, 0x03, 0x81, 0x04, 0x61,
+ 0x38, 0x31, 0xEB, 0x33 };
+
+static unsigned char select_item_1231[] = { 0xD0, 0x34, 0x81, 0x03, 0x01, 0x24,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x08, 0x82, 0x04, 0x30,
+ 0xA0, 0x38, 0x32, 0xCB, 0x30,
+ 0x8F, 0x09, 0x01, 0x82, 0x04,
+ 0x30, 0xA0, 0x38, 0x32, 0xCB,
+ 0x31, 0x8F, 0x09, 0x02, 0x82,
+ 0x04, 0x30, 0xA0, 0x38, 0x32,
+ 0xCB, 0x32, 0x8F, 0x09, 0x03,
+ 0x82, 0x04, 0x30, 0xA0, 0x38,
+ 0x32, 0xCB, 0x33 };
+
+static struct select_item_test select_item_data_111 = {
+ .pdu = select_item_111,
+ .pdu_len = sizeof(select_item_111),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "Item 3"
+ },
+ .items[3] = {
+ .id = 4,
+ .text = "Item 4"
+ }
+};
+
+static struct select_item_test select_item_data_121 = {
+ .pdu = select_item_121,
+ .pdu_len = sizeof(select_item_121),
+ .qualifier = 0x00,
+ .alpha_id = "LargeMenu1",
+ .items[0] = {
+ .id = 0x50,
+ .text = "Zero"
+ },
+ .items[1] = {
+ .id = 0x4F,
+ .text = "One"
+ },
+ .items[2] = {
+ .id = 0x4E,
+ .text = "Two"
+ },
+ .items[3] = {
+ .id = 0x4D,
+ .text = "Three"
+ },
+ .items[4] = {
+ .id = 0x4C,
+ .text = "Four"
+ },
+ .items[5] = {
+ .id = 0x4B,
+ .text = "Five"
+ },
+ .items[6] = {
+ .id = 0x4A,
+ .text = "Six"
+ },
+ .items[7] = {
+ .id = 0x49,
+ .text = "Seven"
+ },
+ .items[8] = {
+ .id = 0x48,
+ .text = "Eight"
+ },
+ .items[9] = {
+ .id = 0x47,
+ .text = "Nine"
+ },
+ .items[10] = {
+ .id = 0x46,
+ .text = "Alpha"
+ },
+ .items[11] = {
+ .id = 0x45,
+ .text = "Bravo"
+ },
+ .items[12] = {
+ .id = 0x44,
+ .text = "Charlie"
+ },
+ .items[13] = {
+ .id = 0x43,
+ .text = "Delta"
+ },
+ .items[14] = {
+ .id = 0x42,
+ .text = "Echo"
+ },
+ .items[15] = {
+ .id = 0x41,
+ .text = "Fox-trot"
+ },
+ .items[16] = {
+ .id = 0x40,
+ .text = "Black"
+ },
+ .items[17] = {
+ .id = 0x3F,
+ .text = "Brown"
+ },
+ .items[18] = {
+ .id = 0x3E,
+ .text = "Red"
+ },
+ .items[19] = {
+ .id = 0x3D,
+ .text = "Orange"
+ },
+ .items[20] = {
+ .id = 0x3C,
+ .text = "Yellow"
+ },
+ .items[21] = {
+ .id = 0x3B,
+ .text = "Green"
+ },
+ .items[22] = {
+ .id = 0x3A,
+ .text = "Blue"
+ },
+ .items[23] = {
+ .id = 0x39,
+ .text = "Violet"
+ },
+ .items[24] = {
+ .id = 0x38,
+ .text = "Grey"
+ },
+ .items[25] = {
+ .id = 0x37,
+ .text = "White"
+ },
+ .items[26] = {
+ .id = 0x36,
+ .text = "milli"
+ },
+ .items[27] = {
+ .id = 0x35,
+ .text = "micro"
+ },
+ .items[28] = {
+ .id = 0x34,
+ .text = "nano"
+ },
+ .items[29] = {
+ .id = 0x33,
+ .text = "pico"
+ }
+};
+
+static struct select_item_test select_item_data_131 = {
+ .pdu = select_item_131,
+ .pdu_len = sizeof(select_item_131),
+ .qualifier = 0x00,
+ .alpha_id = "LargeMenu2",
+ .items[0] = {
+ .id = 0xFF,
+ .text = "Call Forwarding Unconditional"
+ },
+ .items[1] = {
+ .id = 0xFE,
+ .text = "Call Forwarding On User Busy"
+ },
+ .items[2] = {
+ .id = 0xFD,
+ .text = "Call Forwarding On No Reply"
+ },
+ .items[3] = {
+ .id = 0xFC,
+ .text = "Call Forwarding On User Not Reachable"
+ },
+ .items[4] = {
+ .id = 0xFB,
+ .text = "Barring Of All Outgoing Calls"
+ },
+ .items[5] = {
+ .id = 0xFA,
+ .text = "Barring Of All Outgoing International Calls"
+ },
+ .items[6] = {
+ .id = 0xF9,
+ .text = "CLI Presentation"
+ }
+};
+
+static struct select_item_test select_item_data_141 = {
+ .pdu = select_item_141,
+ .pdu_len = sizeof(select_item_141),
+ .qualifier = 0x00,
+ .alpha_id = "Select Item",
+ .items[0] = {
+ .id = 0x11,
+ .text = "One"
+ },
+ .items[1] = {
+ .id = 0x12,
+ .text = "Two"
+ }
+};
+
+static struct select_item_test select_item_data_151 = {
+ .pdu = select_item_151,
+ .pdu_len = sizeof(select_item_151),
+ .qualifier = 0x00,
+ .alpha_id = "The SIM shall supply a set of items from which the user "
+ "may choose one. Each item comprises a short identifier (used "
+ "to indicate the selection) and a text string. Optionally the "
+ "SIM may include an alpha identifier. The alpha identifier i",
+ .items[0] = {
+ .id = 0x01,
+ .text = "Y"
+ }
+};
+
+static struct select_item_test select_item_data_161 = {
+ .pdu = select_item_161,
+ .pdu_len = sizeof(select_item_161),
+ .qualifier = 0x00,
+ .alpha_id = "0LargeMenu",
+ .items[0] = {
+ .id = 0xFF,
+ .text = "1 Call Forward Unconditional"
+ },
+ .items[1] = {
+ .id = 0xFE,
+ .text = "2 Call Forward On User Busy"
+ },
+ .items[2] = {
+ .id = 0xFD,
+ .text = "3 Call Forward On No Reply"
+ },
+ .items[3] = {
+ .id = 0xFC,
+ .text = "4 Call Forward On User Not Reachable"
+ },
+ .items[4] = {
+ .id = 0xFB,
+ .text = "5 Barring Of All Outgoing Calls"
+ },
+ .items[5] = {
+ .id = 0xFA,
+ .text = "6 Barring Of All Outgoing Int Calls"
+ },
+ .items[6] = {
+ .id = 0xF9,
+ .text = "7 CLI Presentation"
+ }
+};
+
+static struct select_item_test select_item_data_211 = {
+ .pdu = select_item_211,
+ .pdu_len = sizeof(select_item_211),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "Item 3"
+ },
+ .next_act = {
+ .list = { STK_COMMAND_TYPE_SEND_SMS,
+ STK_COMMAND_TYPE_SETUP_CALL,
+ STK_COMMAND_TYPE_PROVIDE_LOCAL_INFO},
+ .len = 3
+ }
+};
+
+static struct select_item_test select_item_data_311 = {
+ .pdu = select_item_311,
+ .pdu_len = sizeof(select_item_311),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "Item 3"
+ },
+ .item_id = 0x02
+};
+
+static struct select_item_test select_item_data_411 = {
+ .pdu = select_item_411,
+ .pdu_len = sizeof(select_item_411),
+ .qualifier = 0x80,
+ .alpha_id = "Toolkit Select",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "Item 3"
+ }
+};
+
+static struct select_item_test select_item_data_511 = {
+ .pdu = select_item_511,
+ .pdu_len = sizeof(select_item_511),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "Item 3"
+ },
+ .icon_id = {
+ .qualifier = STK_ICON_QUALIFIER_TYPE_NON_SELF_EXPLANATORY,
+ .id = 1
+ },
+ .item_icon_id_list = {
+ .qualifier = STK_ICON_QUALIFIER_TYPE_NON_SELF_EXPLANATORY,
+ .list = { 5, 5, 5 },
+ .len = 3
+ }
+};
+
+static struct select_item_test select_item_data_521 = {
+ .pdu = select_item_521,
+ .pdu_len = sizeof(select_item_521),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "Item 3"
+ },
+ .icon_id = {
+ .qualifier = STK_ICON_QUALIFIER_TYPE_SELF_EXPLANATORY,
+ .id = 1
+ },
+ .item_icon_id_list = {
+ .qualifier = STK_ICON_QUALIFIER_TYPE_SELF_EXPLANATORY,
+ .list = { 5, 5, 5 },
+ .len = 3
+ }
+};
+
+static struct select_item_test select_item_data_611 = {
+ .pdu = select_item_611,
+ .pdu_len = sizeof(select_item_611),
+ .qualifier = 0x03,
+ .alpha_id = "Toolkit Select",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "Item 3"
+ }
+};
+
+static struct select_item_test select_item_data_621 = {
+ .pdu = select_item_621,
+ .pdu_len = sizeof(select_item_621),
+ .qualifier = 0x01,
+ .alpha_id = "Toolkit Select",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "Item 3"
+ }
+};
+
+static struct select_item_test select_item_data_711 = {
+ .pdu = select_item_711,
+ .pdu_len = sizeof(select_item_711),
+ .qualifier = 0x04,
+ .alpha_id = "Toolkit Select",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ }
+};
+
+static struct select_item_test select_item_data_811 = {
+ .pdu = select_item_811,
+ .pdu_len = sizeof(select_item_811),
+ .qualifier = 0x00,
+ .alpha_id = "<TIME-OUT>",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "Item 3"
+ }
+};
+
+static struct select_item_test select_item_data_911 = {
+ .pdu = select_item_911,
+ .pdu_len = sizeof(select_item_911),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x00, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x00, 0xB4, 0x00, 0x06, 0x00, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_912 = {
+ .pdu = select_item_912,
+ .pdu_len = sizeof(select_item_912),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ }
+};
+
+static struct select_item_test select_item_data_921 = {
+ .pdu = select_item_921,
+ .pdu_len = sizeof(select_item_921),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x01, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x01, 0xB4, 0x00, 0x06, 0x01, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_922 = {
+ .pdu = select_item_922,
+ .pdu_len = sizeof(select_item_922),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ }
+};
+
+static struct select_item_test select_item_data_931 = {
+ .pdu = select_item_931,
+ .pdu_len = sizeof(select_item_931),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x02, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x02, 0xB4, 0x00, 0x06, 0x02, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_932 = {
+ .pdu = select_item_932,
+ .pdu_len = sizeof(select_item_932),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ }
+};
+
+static struct select_item_test select_item_data_941 = {
+ .pdu = select_item_941,
+ .pdu_len = sizeof(select_item_941),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x04, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x04, 0xB4, 0x00, 0x06, 0x04, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_942 = {
+ .pdu = select_item_942,
+ .pdu_len = sizeof(select_item_942),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x00, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x00, 0xB4, 0x00, 0x06, 0x00, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_943 = {
+ .pdu = select_item_943,
+ .pdu_len = sizeof(select_item_943),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 3",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 5"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 6"
+ }
+};
+
+static struct select_item_test select_item_data_951 = {
+ .pdu = select_item_951,
+ .pdu_len = sizeof(select_item_951),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x08, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x08, 0xB4, 0x00, 0x06, 0x08, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_952 = {
+ .pdu = select_item_952,
+ .pdu_len = sizeof(select_item_952),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x00, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x00, 0xB4, 0x00, 0x06, 0x00, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_953 = {
+ .pdu = select_item_953,
+ .pdu_len = sizeof(select_item_953),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 3",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 5"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 6"
+ }
+};
+
+static struct select_item_test select_item_data_961 = {
+ .pdu = select_item_961,
+ .pdu_len = sizeof(select_item_961),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x10, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x10, 0xB4, 0x00, 0x06, 0x10, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_962 = {
+ .pdu = select_item_962,
+ .pdu_len = sizeof(select_item_962),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x00, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x00, 0xB4, 0x00, 0x06, 0x00, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_963 = {
+ .pdu = select_item_963,
+ .pdu_len = sizeof(select_item_963),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 3",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 5"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 6"
+ }
+};
+
+static struct select_item_test select_item_data_971 = {
+ .pdu = select_item_971,
+ .pdu_len = sizeof(select_item_971),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x20, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x20, 0xB4, 0x00, 0x06, 0x20, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_972 = {
+ .pdu = select_item_972,
+ .pdu_len = sizeof(select_item_972),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x00, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x00, 0xB4, 0x00, 0x06, 0x00, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_973 = {
+ .pdu = select_item_973,
+ .pdu_len = sizeof(select_item_973),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 3",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 5"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 6"
+ }
+};
+
+static struct select_item_test select_item_data_981 = {
+ .pdu = select_item_981,
+ .pdu_len = sizeof(select_item_981),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x40, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x40, 0xB4, 0x00, 0x06, 0x40, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_982 = {
+ .pdu = select_item_982,
+ .pdu_len = sizeof(select_item_982),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x00, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x00, 0xB4, 0x00, 0x06, 0x00, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_983 = {
+ .pdu = select_item_983,
+ .pdu_len = sizeof(select_item_983),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 3",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 5"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 6"
+ }
+};
+
+static struct select_item_test select_item_data_991 = {
+ .pdu = select_item_991,
+ .pdu_len = sizeof(select_item_991),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x80, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x80, 0xB4, 0x00, 0x06, 0x80, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_992 = {
+ .pdu = select_item_992,
+ .pdu_len = sizeof(select_item_992),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x00, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x00, 0xB4, 0x00, 0x06, 0x00, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_993 = {
+ .pdu = select_item_993,
+ .pdu_len = sizeof(select_item_993),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 3",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 5"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 6"
+ }
+};
+
+static struct select_item_test select_item_data_9101 = {
+ .pdu = select_item_9101,
+ .pdu_len = sizeof(select_item_9101),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 1",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 2"
+ },
+ .text_attr = {
+ .len = 4,
+ .attributes = { 0x00, 0x10, 0x00, 0xB4 }
+ },
+ .item_text_attr_list = {
+ .len = 8,
+ .list = { 0x00, 0x06, 0x00, 0xB4, 0x00, 0x06, 0x00, 0xB4 }
+ }
+};
+
+static struct select_item_test select_item_data_9102 = {
+ .pdu = select_item_9102,
+ .pdu_len = sizeof(select_item_9102),
+ .qualifier = 0x00,
+ .alpha_id = "Toolkit Select 2",
+ .items[0] = {
+ .id = 1,
+ .text = "Item 3"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "Item 4"
+ }
+};
+
+static struct select_item_test select_item_data_1011 = {
+ .pdu = select_item_1011,
+ .pdu_len = sizeof(select_item_1011),
+ .qualifier = 0x00,
+ .alpha_id = "ЗДРАВСТВУЙТЕ",
+ .items[0] = {
+ .id = 1,
+ .text = "ЗДРАВСТВУЙТЕ1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "ЗДРАВСТВУЙТЕ2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "ЗДРАВСТВУЙТЕ3"
+ }
+};
+
+static struct select_item_test select_item_data_1021 = {
+ .pdu = select_item_1021,
+ .pdu_len = sizeof(select_item_1021),
+ .qualifier = 0x00,
+ .alpha_id = "ЗДРАВСТВУЙТЕ",
+ .items[0] = {
+ .id = 1,
+ .text = "ЗДРАВСТВУЙТЕ1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "ЗДРАВСТВУЙТЕ2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "ЗДРАВСТВУЙТЕ3"
+ }
+};
+
+static struct select_item_test select_item_data_1031 = {
+ .pdu = select_item_1031,
+ .pdu_len = sizeof(select_item_1031),
+ .qualifier = 0x00,
+ .alpha_id = "ЗДРАВСТВУЙТЕ",
+ .items[0] = {
+ .id = 1,
+ .text = "ЗДРАВСТВУЙТЕ1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "ЗДРАВСТВУЙТЕ2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "ЗДРАВСТВУЙТЕ3"
+ }
+};
+
+static struct select_item_test select_item_data_1111 = {
+ .pdu = select_item_1111,
+ .pdu_len = sizeof(select_item_1111),
+ .qualifier = 0x00,
+ .alpha_id = "工具箱选择",
+ .items[0] = {
+ .id = 1,
+ .text = "项目一"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "项目二"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "项目三"
+ },
+ .items[3] = {
+ .id = 4,
+ .text = "项目四"
+ }
+};
+
+static struct select_item_test select_item_data_1211 = {
+ .pdu = select_item_1211,
+ .pdu_len = sizeof(select_item_1211),
+ .qualifier = 0x00,
+ .alpha_id = "80ル0",
+ .items[0] = {
+ .id = 1,
+ .text = "80ル1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "80ル2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "80ル3"
+ }
+};
+
+static struct select_item_test select_item_data_1221 = {
+ .pdu = select_item_1221,
+ .pdu_len = sizeof(select_item_1221),
+ .qualifier = 0x00,
+ .alpha_id = "81ル0",
+ .items[0] = {
+ .id = 1,
+ .text = "81ル1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "81ル2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "81ル3"
+ }
+};
+
+static struct select_item_test select_item_data_1231 = {
+ .pdu = select_item_1231,
+ .pdu_len = sizeof(select_item_1231),
+ .qualifier = 0x00,
+ .alpha_id = "82ル0",
+ .items[0] = {
+ .id = 1,
+ .text = "82ル1"
+ },
+ .items[1] = {
+ .id = 2,
+ .text = "82ル2"
+ },
+ .items[2] = {
+ .id = 3,
+ .text = "82ル3"
+ }
+};
+
+static void test_select_item(gconstpointer data)
+{
+ const struct select_item_test *test = data;
+ struct stk_command *command;
+
+ command = stk_command_new_from_pdu(test->pdu, test->pdu_len);
+
+ g_assert(command);
+
+ g_assert(command->number == 1);
+ g_assert(command->type == STK_COMMAND_TYPE_SELECT_ITEM);
+ g_assert(command->qualifier == test->qualifier);
+
+ g_assert(command->src == STK_DEVICE_IDENTITY_TYPE_UICC);
+ g_assert(command->dst == STK_DEVICE_IDENTITY_TYPE_TERMINAL);
+
+ check_common_text(command->select_item.alpha_id, test->alpha_id);
+ check_items(command->select_item.items, test->items);
+ check_items_next_action_indicator(&command->select_item.next_act,
+ &test->next_act);
+ check_item_id(command->select_item.item_id, test->item_id);
+ check_icon_id(&command->select_item.icon_id, &test->icon_id);
+ check_item_icon_id_list(&command->select_item.item_icon_id_list,
+ &test->item_icon_id_list);
+ check_text_attr(&command->select_item.text_attr, &test->text_attr);
+ check_item_text_attribute_list(
+ &command->select_item.item_text_attr_list,
+ &test->item_text_attr_list);
+ check_frame_id(&command->select_item.frame_id, &test->frame_id);
+
+ stk_command_free(command);
+}
+
struct send_sms_test {
const unsigned char *pdu;
unsigned int pdu_len;
@@ -5983,6 +7921,103 @@ int main(int argc, char **argv)
g_test_add_data_func("/teststk/Setup Menu 9.1.3",
&setup_menu_data_913, test_setup_menu);
+ g_test_add_data_func("/teststk/Select Item 1.1.1",
+ &select_item_data_111, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 1.2.1",
+ &select_item_data_121, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 1.3.1",
+ &select_item_data_131, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 1.4.1",
+ &select_item_data_141, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 1.5.1",
+ &select_item_data_151, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 1.6.1",
+ &select_item_data_161, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 2.1.1",
+ &select_item_data_211, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 3.1.1",
+ &select_item_data_311, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 4.1.1",
+ &select_item_data_411, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 5.1.1",
+ &select_item_data_511, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 5.2.1",
+ &select_item_data_521, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 6.1.1",
+ &select_item_data_611, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 6.2.1",
+ &select_item_data_621, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 7.1.1",
+ &select_item_data_711, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 8.1.1",
+ &select_item_data_811, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.1.1",
+ &select_item_data_911, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.1.2",
+ &select_item_data_912, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.2.1",
+ &select_item_data_921, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.2.2",
+ &select_item_data_922, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.3.1",
+ &select_item_data_931, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.3.2",
+ &select_item_data_932, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.4.1",
+ &select_item_data_941, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.4.2",
+ &select_item_data_942, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.4.3",
+ &select_item_data_943, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.5.1",
+ &select_item_data_951, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.5.2",
+ &select_item_data_952, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.5.3",
+ &select_item_data_953, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.6.1",
+ &select_item_data_961, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.6.2",
+ &select_item_data_962, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.6.3",
+ &select_item_data_963, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.7.1",
+ &select_item_data_971, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.7.2",
+ &select_item_data_972, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.7.3",
+ &select_item_data_973, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.8.1",
+ &select_item_data_981, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.8.2",
+ &select_item_data_982, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.8.3",
+ &select_item_data_983, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.9.1",
+ &select_item_data_991, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.9.2",
+ &select_item_data_992, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.9.3",
+ &select_item_data_993, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.10.1",
+ &select_item_data_9101, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 9.10.2",
+ &select_item_data_9102, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 10.1.1",
+ &select_item_data_1011, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 10.2.1",
+ &select_item_data_1021, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 10.3.1",
+ &select_item_data_1031, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 11.1.1",
+ &select_item_data_1111, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 12.1.1",
+ &select_item_data_1211, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 12.2.1",
+ &select_item_data_1221, test_select_item);
+ g_test_add_data_func("/teststk/Select Item 12.3.1",
+ &select_item_data_1231, test_select_item);
+
g_test_add_data_func("/teststk/Send SMS 1.1",
&send_sms_data_11, test_send_sms);