
[
  // *********************************************************************************
  {  "name"    : "UIM",
     "type"    : "Service" },

  // *********************************************************************************
  {  "name"    : "QMI Client UIM",
     "type"    : "Client" },

  // *********************************************************************************
  {  "name"    : "QMI Message UIM",
     "type"    : "Message-ID-Enum" },

  // *********************************************************************************
  {  "name"    : "Reset",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x0000",
     "version" : "1.0",
     "output"  : [ { "common-ref" : "Operation Result" } ] },

  // *********************************************************************************
  {  "name"    : "Get Supported Messages",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x001E",
     "version" : "1.28",
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"               : "List",
                     "id"                 : "0x10",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint16",
                     "array-element"      : { "format" : "guint8" },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Read Transparent",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x0020",
     "version" : "1.0",
     "input"   : [ { "name"      : "Session Information",
                     "id"        : "0x01",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Session Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimSessionType" },
                                     { "name"   : "Application Identifier",
                                       "format" : "string" } ] },
                   { "name"      : "File",
                     "id"        : "0x02",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "File ID",
                                       "format" : "guint16" },
                                     { "name"   : "File Path",
                                       "format" : "array",
                                       "array-element" : { "format" : "guint8" } } ] },
                   { "name"      : "Read Information",
                     "id"        : "0x03",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "Offset",
                                       "format" : "guint16" },
                                     { "name"   : "Length",
                                       "format" : "guint16" } ] },
                   { "name"      : "Response In Indication Token",
                     "id"        : "0x10",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "guint32" },
                   { "name"          : "Encrypt Data",
                     "id"            : "0x11",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint8",
                     "public-format" : "gboolean" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"          : "Card result",
                     "id"            : "0x10",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "SW1",
                                           "format" : "guint8" },
                                         { "name"   : "SW2",
                                           "format" : "guint8" } ] },
                   { "name"               : "Read result",
                     "id"                 : "0x11",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint16",
                     "array-element"      : { "format" : "guint8" },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Response In Indication Token",
                     "id"            : "0x12",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint32",
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Encrypted Data",
                     "id"            : "0x13",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint8",
                     "public-format" : "gboolean",
                     "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Read Record",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x0021",
     "version" : "1.0",
     "input"   : [ { "name"      : "Session Information",
                     "id"        : "0x01",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Session Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimSessionType" },
                                     { "name"   : "Application Identifier",
                                       "format" : "string" } ] },
                   { "name"      : "File",
                     "id"        : "0x02",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "File ID",
                                       "format" : "guint16" },
                                     { "name"   : "File Path",
                                       "format" : "array",
                                       "array-element" : { "format" : "guint8" } } ] },
                   { "name"      : "Record",
                     "id"        : "0x03",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "Record Number",
                                       "format" : "guint16" },
                                     { "name"   : "Record Length",
                                       "format" : "guint16" } ] },
                   { "name"      : "Last Record",
                     "id"        : "0x10",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "guint16" },
                   { "name"      : "Response In Indication Token",
                     "id"        : "0x11",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "guint32" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"          : "Card result",
                     "id"            : "0x10",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "SW1",
                                           "format" : "guint8" },
                                         { "name"   : "SW2",
                                           "format" : "guint8" } ] },
                   { "name"               : "Read Result",
                     "id"                 : "0x11",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint16",
                     "array-element"      : { "format" : "guint8" },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"               : "Additional Read Result",
                     "id"                 : "0x12",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint16",
                     "array-element"      : { "format" : "guint8" },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Response In Indication Token",
                     "id"            : "0x13",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint32",
                     "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Get File Attributes",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x0024",
     "version" : "1.0",
     "input"   : [ { "name"      : "Session Information",
                     "id"        : "0x01",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Session Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimSessionType" },
                                     { "name"   : "Application Identifier",
                                       "format" : "string" } ] },
                   { "name"      : "File",
                     "id"        : "0x02",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "File ID",
                                       "format" : "guint16" },
                                     { "name"   : "File Path",
                                       "format" : "array",
                                       "array-element" : { "format" : "guint8" } } ] },
                   { "name"      : "Response In Indication Token",
                     "id"        : "0x10",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "guint32" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"          : "Card result",
                     "id"            : "0x10",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "SW1",
                                           "format" : "guint8" },
                                         { "name"   : "SW2",
                                           "format" : "guint8" } ] },
                   { "name"               : "File Attributes",
                     "id"                 : "0x11",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "sequence",
                     "contents"           : [ { "name"   : "File Size",
                                                "format" : "guint16" },
                                              { "name"   : "File ID",
                                                "format" : "guint16" },
                                              { "name"          : "File Type",
                                                "format"        : "guint8",
                                                "public-format" : "QmiUimFileType" },
                                              { "name"   : "Record Size",
                                                "format" : "guint16" },
                                              { "name"   : "Record Count",
                                                "format" : "guint16" },
                                              { "name"          : "Read Security Attributes Logic",
                                                "format"        : "guint8",
                                                "public-format" : "QmiUimSecurityAttributeLogic" },
                                              { "name"          : "Read Security Attributes",
                                                "format"        : "guint16",
                                                "public-format" : "QmiUimSecurityAttribute" },
                                              { "name"          : "Write Security Attributes Logic",
                                                "format"        : "guint8",
                                                "public-format" : "QmiUimSecurityAttributeLogic" },
                                              { "name"          : "Write Security Attributes",
                                                "format"        : "guint16",
                                                "public-format" : "QmiUimSecurityAttribute" },
                                              { "name"          : "Increase Security Attributes Logic",
                                                "format"        : "guint8",
                                                "public-format" : "QmiUimSecurityAttributeLogic" },
                                              { "name"          : "Increase Security Attributes",
                                                "format"        : "guint16",
                                                "public-format" : "QmiUimSecurityAttribute" },
                                              { "name"          : "Deactivate Security Attributes Logic",
                                                "format"        : "guint8",
                                                "public-format" : "QmiUimSecurityAttributeLogic" },
                                              { "name"          : "Deactivate Security Attributes",
                                                "format"        : "guint16",
                                                "public-format" : "QmiUimSecurityAttribute" },
                                              { "name"          : "Activate Security Attributes Logic",
                                                "format"        : "guint8",
                                                "public-format" : "QmiUimSecurityAttributeLogic" },
                                              { "name"          : "Activate Security Attributes",
                                                "format"        : "guint16",
                                                "public-format" : "QmiUimSecurityAttribute" },
                                              { "name"               : "Raw Data",
                                                "format"             : "array",
                                                "size-prefix-format" : "guint16",
                                                "array-element"      : { "format" : "guint8" } } ],
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Response In Indication Token",
                     "id"            : "0x12",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint32",
                     "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Set PIN Protection",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x0025",
     "version" : "1.0",
     "input"   : [ { "name"      : "Session Information",
                     "id"        : "0x01",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Session Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimSessionType" },
                                     { "name"   : "Application Identifier",
                                       "format" : "string" } ] },
                   { "name"      : "Info",
                     "id"        : "0x02",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "PIN ID",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimPinId" },
                                     { "name"          : "PIN enabled",
                                       "format"        : "guint8",
                                       "public-format" : "gboolean" },
                                     { "name"          : "PIN Value",
                                       "format"        : "string" } ] },
                   { "name"      : "Response In Indication Token",
                     "id"        : "0x11",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "guint32" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"      : "Retries Remaining",
                     "id"        : "0x10",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "Verify Retries Left",
                                       "format" : "guint8" },
                                     { "name"   : "Unblock Retries Left",
                                       "format" : "guint8" } ],
                     "prerequisites": [ { "common-ref" : "No Success" } ] },
                   { "name"          : "Response In Indication Token",
                     "id"            : "0x12",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint32",
                     "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Verify PIN",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x0026",
     "version" : "1.0",
     "input"   : [ { "name"      : "Session Information",
                     "id"        : "0x01",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Session Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimSessionType" },
                                     { "name"   : "Application Identifier",
                                       "format" : "string" } ] },
                   { "name"      : "Info",
                     "id"        : "0x02",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "PIN ID",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimPinId" },
                                     { "name"          : "PIN Value",
                                       "format"        : "string" } ] },
                   { "name"      : "Response In Indication Token",
                     "id"        : "0x12",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "guint32" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"      : "Retries Remaining",
                     "id"        : "0x10",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "Verify Retries Left",
                                       "format" : "guint8" },
                                     { "name"   : "Unblock Retries Left",
                                       "format" : "guint8" } ],
                     "prerequisites": [ { "common-ref" : "No Success" } ] },
                   { "name"          : "Response In Indication Token",
                     "id"            : "0x12",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint32",
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"      : "Card Result",
                     "id"        : "0x13",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "SW1",
                                       "format" : "guint8" },
                                     { "name"   : "SW2",
                                       "format" : "guint8" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Unblock PIN",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x0027",
     "version" : "1.0",
     "input"   : [ { "name"      : "Session Information",
                     "id"        : "0x01",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Session Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimSessionType" },
                                     { "name"   : "Application Identifier",
                                       "format" : "string" } ] },
                   { "name"      : "Info",
                     "id"        : "0x02",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "PIN ID",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimPinId" },
                                     { "name"          : "PUK",
                                       "format"        : "string" },
                                     { "name"          : "New PIN",
                                       "format"        : "string" } ] },
                   { "name"      : "Response In Indication Token",
                     "id"        : "0x11",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "guint32" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"      : "Retries Remaining",
                     "id"        : "0x10",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "Verify Retries Left",
                                       "format" : "guint8" },
                                     { "name"   : "Unblock Retries Left",
                                       "format" : "guint8" } ],
                     "prerequisites": [ { "common-ref" : "No Success" } ] },
                   { "name"          : "Response In Indication Token",
                     "id"            : "0x12",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint32",
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"      : "Card Result",
                     "id"        : "0x13",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "SW1",
                                       "format" : "guint8" },
                                     { "name"   : "SW2",
                                       "format" : "guint8" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Change PIN",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x0028",
     "version" : "1.0",
     "input"   : [ { "name"      : "Session Information",
                     "id"        : "0x01",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Session Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimSessionType" },
                                     { "name"   : "Application Identifier",
                                       "format" : "string" } ] },
                   { "name"      : "Info",
                     "id"        : "0x02",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "PIN ID",
                                       "format"        : "guint8",
                                       "public-format" : "QmiUimPinId" },
                                     { "name"          : "Old PIN",
                                       "format"        : "string" },
                                     { "name"          : "New PIN",
                                       "format"        : "string" } ] },
                   { "name"      : "Response In Indication Token",
                     "id"        : "0x11",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "guint32" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"      : "Retries Remaining",
                     "id"        : "0x10",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "Verify Retries Left",
                                       "format" : "guint8" },
                                     { "name"   : "Unblock Retries Left",
                                       "format" : "guint8" } ],
                     "prerequisites": [ { "common-ref" : "No Success" } ] },
                   { "name"          : "Response In Indication Token",
                     "id"            : "0x12",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint32",
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"      : "Card Result",
                     "id"        : "0x13",
                     "mandatory" : "no",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "SW1",
                                       "format" : "guint8" },
                                     { "name"   : "SW2",
                                       "format" : "guint8" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Get Card Status",
     "type"    : "Message",
     "service" : "UIM",
     "id"      : "0x002F",
     "version" : "1.0",
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"          : "Card Status",
                     "id"            : "0x10",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "Index GW Primary",
                                           "format" : "guint16" },
					                     { "name"   : "Index 1x Primary",
                                           "format" : "guint16" },
					                     { "name"   : "Index GW Secondary ",
					                       "format" : "guint16" },
					                     { "name"   : "Index 1x Secondary",
                                           "format" : "guint16" },
                                         { "name"               : "Cards",
                                           "format"             : "array",
                                           "size-prefix-format" : "guint8",
                                           "array-element"      : { "name"   : "Element",
								                                    "format" : "struct",
								                                    "contents" : [ { "name"          : "Card State",
										                                             "format"        : "guint8",
                                                                                     "public-format" : "QmiUimCardState" },
										                                           { "name"          : "UPIN State",
										                                             "format"        : "guint8",
                                                                                     "public-format" : "QmiUimPinState" },
										                                           { "name"   : "UPIN Retries",
										                                             "format" : "guint8" },
										                                           { "name"   : "UPUK Retries",
										                                             "format" : "guint8" },
										                                           { "name"          : "Error code",
										                                             "format"        : "guint8",
                                                                                     "public-format" : "QmiUimCardError" },
										                                           { "name"               : "Applications",
										                                             "format"             : "array",
										                                             "size-prefix-format" : "guint8",
										                                             "array-element"      : { "name"   : "Element",
													                                                          "format" : "struct",
													                                                          "contents" : [ { "name"          : "Type",
															                                                                   "format"        : "guint8",
                                                                                                                               "public-format" : "QmiUimCardApplicationType" },
															                                                                 { "name"          : "State",
															                                                                   "format"        : "guint8",
                                                                                                                               "public-format" : "QmiUimCardApplicationState" },
															                                                                 { "name"          : "Personalization State",
															                                                                   "format"        : "guint8",
                                                                                                                               "public-format" : "QmiUimCardApplicationPersonalizationState" },
															                                                                 { "name"          : "Personalization Feature",
															                                                                   "format"        : "guint8",
                                                                                                                               "public-format" : "QmiUimCardApplicationPersonalizationFeature" },
															                                                                 { "name"   : "Personalization Retries",
															                                                                   "format" : "guint8" },
															                                                                 { "name"   : "Personalization Unblock Retries",
															                                                                   "format" : "guint8" },
															                                                                 { "name"               : "Application Identifier Value",
															                                                                   "format"             : "array",
															                                                                   "size-prefix-format" : "guint8",
															                                                                   "array-element"      : { "format" : "guint8" } },
															                                                                 { "name"          : "UPIN replaces PIN1",
															                                                                   "format"        : "guint8",
															                                                                   "public-format" : "gboolean" },
															                                                                 { "name"          : "PIN1 State",
															                                                                   "format"        : "guint8",
                                                                                                                               "public-format" : "QmiUimPinState" },
															                                                                 { "name"   : "PIN1 Retries",
															                                                                   "format" : "guint8" },
															                                                                 { "name"   : "PUK1 Retries",
															                                                                   "format" : "guint8" },
															                                                                 { "name"          : "PIN2 State",
															                                                                   "format"        : "guint8",
                                                                                                                               "public-format" : "QmiUimPinState" },
															                                                                 { "name"   : "PIN2 Retries",
															                                                                   "format" : "guint8" },
															                                                                 { "name"   : "PUK2 Retries",
															                                                                   "format" : "guint8" } ] } } ] } } ] } ] }

]
