[
  // *********************************************************************************
  { "type" : "Service",
    "name" : "Ms Basic Connect Extensions" },

  // *********************************************************************************
  { "name"     : "MbimPcoValue",
    "type"     : "Struct",
    "since"    : "1.18",
    "contents" : [ { "name"             : "SessionId",
                     "format"           : "guint32" },
                   { "name"             : "PcoDataSize",
                     "format"           : "guint32" },
                   { "name"             : "PcoDataType",
                     "format"           : "guint32",
                     "public-format"    : "MbimPcoType" },
                   { "name"             : "PcoDataBuffer",
                     "format"           : "ref-byte-array-no-offset",
                     "array-size-field" : "PcoDataSize" } ] },

  { "name"         : "PCO",
    "service"      : "Ms Basic Connect Extensions",
    "type"         : "Command",
    "since"        : "1.18",
    "query"        : [ { "name"        : "PcoValue",
                         "format"      : "struct",
                         "struct-type" : "MbimPcoValue" } ],
    "response"     : [ { "name"        : "PcoValue",
                         "format"      : "struct",
                         "struct-type" : "MbimPcoValue" } ],
    "notification" : [ { "name"        : "PcoValue",
                         "format"      : "struct",
                         "struct-type" : "MbimPcoValue" } ] },

  // *********************************************************************************

  { "name"     : "MbimLteAttachConfiguration",
    "type"     : "Struct",
    "since"    : "1.18",
    "contents" : [ { "name"          : "IpType",
                     "format"        : "guint32",
                     "public-format" : "MbimContextIpType" },
                   { "name"          : "Roaming",
                     "format"        : "guint32",
                     "public-format" : "MbimLteAttachContextRoamingControl" },
                   { "name"          : "Source",
                     "format"        : "guint32",
                     "public-format" : "MbimContextSource" },
                   { "name"   : "AccessString",
                     "format" : "string" },
                   { "name"   : "UserName",
                     "format" : "string" },
                   { "name"   : "Password",
                     "format" : "string" },
                   { "name"          : "Compression",
                     "format"        : "guint32",
                     "public-format" : "MbimCompression" },
                   { "name"          : "AuthProtocol",
                     "format"        : "guint32",
                     "public-format" : "MbimAuthProtocol" } ] },

  { "name"         : "Lte Attach Configuration",
    "service"      : "Ms Basic Connect Extensions",
    "type"         : "Command",
    "since"        : "1.18",
    "set"          : [ { "name"          : "Operation",
                         "format"        : "guint32",
                         "public-format" : "MbimLteAttachContextOperation" },
                       { "name"   : "ConfigurationCount",
                         "format" : "guint32" },
                       { "name"             : "Configurations",
                         "format"           : "ref-struct-array" ,
                         "struct-type"      : "MbimLteAttachConfiguration",
                         "array-size-field" : "ConfigurationCount" } ],
    "query"        : [],
    "response"     : [ { "name"   : "ConfigurationCount",
                         "format" : "guint32" },
                       { "name"             : "Configurations",
                         "format"           : "ref-struct-array" ,
                         "struct-type"      : "MbimLteAttachConfiguration",
                         "array-size-field" : "ConfigurationCount" } ],
    "notification" : [ { "name"   : "ConfigurationCount",
                         "format" : "guint32" },
                       { "name"             : "Configurations",
                         "format"           : "ref-struct-array" ,
                         "struct-type"      : "MbimLteAttachConfiguration",
                         "array-size-field" : "ConfigurationCount" } ] },

  // *********************************************************************************

  { "name"         : "Lte Attach Info",
    "service"      : "Ms Basic Connect Extensions",
    "type"         : "Command",
    "since"        : "1.26",
    "query"        : [],
    "response"     : [ { "name"          : "LteAttachState",
                         "format"        : "guint32",
                         "public-format" : "MbimLteAttachState" },
                       { "name"          : "IpType",
                         "format"        : "guint32",
                         "public-format" : "MbimContextIpType" },
                       { "name"   : "AccessString",
                         "format" : "string" },
                       { "name"   : "UserName",
                         "format" : "string" },
                       { "name"   : "Password",
                         "format" : "string" },
                       { "name"          : "Compression",
                         "format"        : "guint32",
                         "public-format" : "MbimCompression" },
                       { "name"          : "AuthProtocol",
                         "format"        : "guint32",
                         "public-format" : "MbimAuthProtocol" } ],
    "notification" : [ { "name"          : "LteAttachState",
                         "format"        : "guint32",
                         "public-format" : "MbimLteAttachState" },
                       { "name"          : "IpType",
                         "format"        : "guint32",
                         "public-format" : "MbimContextIpType" },
                       { "name"   : "AccessString",
                         "format" : "string" },
                       { "name"   : "UserName",
                         "format" : "string" },
                       { "name"   : "Password",
                         "format" : "string" },
                       { "name"          : "Compression",
                         "format"        : "guint32",
                         "public-format" : "MbimCompression" },
                       { "name"          : "AuthProtocol",
                         "format"        : "guint32",
                         "public-format" : "MbimAuthProtocol" } ] },

  //**********************************************************************************

  { "name"     : "Sys Caps",
    "service"  : "Ms Basic Connect Extensions",
    "type"     : "Command",
    "since"    : "1.26",
    "query"    : [],
    "response" : [ { "name"   : "NumberOfExecutors",
                     "format" : "guint32" },
                   { "name"   : "NumberOfSlots",
                     "format" : "guint32" },
                   { "name"   : "Concurrency",
                     "format" : "guint32" },
                   { "name"   : "ModemId",
                     "format" : "guint64" } ] },

  //**********************************************************************************

  { "name"         : "Slot Info Status",
    "service"      : "Ms Basic Connect Extensions",
    "type"         : "Command",
    "since"        : "1.26",
    "query"        : [ { "name"          : "SlotIndex",
                         "format"        : "guint32" } ],
    "response"     : [ { "name"          : "SlotIndex",
                         "format"        : "guint32" },
                       { "name"          : "State",
                         "format"        : "guint32",
                         "public-format" : "MbimUiccSlotState" } ],
    "notification" : [ { "name"          : "SlotIndex",
                         "format"        : "guint32" },
                       { "name"          : "State",
                         "format"        : "guint32",
                         "public-format" : "MbimUiccSlotState" } ] },

//************************************************************************************

  { "name"     : "MbimSlot",
    "type"     : "Struct",
    "since"    : "1.26",
    "contents" : [ { "name"   : "Slot",
                     "format" : "guint32" } ] },

  { "name"     : "Device Slot Mappings",
    "service"  : "Ms Basic Connect Extensions",
    "type"     : "Command",
    "since"    : "1.26",
    "set"      : [ { "name"             : "MapCount",
                     "format"           : "guint32" },
                   { "name"             : "SlotMap",
                     "format"           : "ref-struct-array",
                     "struct-type"      : "MbimSlot",
                     "array-size-field" : "MapCount" } ],
    "query"    : [],
    "response" : [ { "name"             : "MapCount",
                     "format"           : "guint32" },
                   { "name"             : "SlotMap",
                     "format"           : "ref-struct-array",
                     "struct-type"      : "MbimSlot",
                     "array-size-field" : "MapCount" } ] },

//************************************************************************************

  { "name"     : "Device Caps",
    "service"  : "Ms Basic Connect Extensions",
    "type"     : "Command",
    "since"    : "1.26",
    "query"    : [],
    "response" : [ { "name"          : "DeviceType",
                     "format"        : "guint32",
                     "public-format" : "MbimDeviceType" },
                   { "name"          : "CellularClass",
                     "format"        : "guint32",
                     "public-format" : "MbimCellularClass" },
                   { "name"          : "VoiceClass",
                     "format"        : "guint32",
                     "public-format" : "MbimVoiceClass" },
                   { "name"          : "SmsClass",
                     "format"        : "guint32",
                     "public-format" : "MbimSimClass" },
                   { "name"          : "DataClass",
                     "format"        : "guint32",
                     "public-format" : "MbimDataClass" },
                   { "name"          : "SmsCaps",
                     "format"        : "guint32",
                     "public-format" : "MbimSmsCaps" },
                   { "name"          : "ControlCaps",
                     "format"        : "guint32",
                     "public-format" : "MbimCtrlCaps" },
                   { "name"   : "MaxSessions",
                     "format" : "guint32" },
                   { "name"     : "CustomDataClass",
                     "format"   : "string",
                     "max-size" : "22" },
                   { "name"     : "DeviceId",
                     "format"   : "string",
                     "max-size" : "36" },
                   { "name"     : "FirmwareInfo",
                     "format"   : "string",
                     "max-size" : "60" },
                   { "name"     : "HardwareInfo",
                     "format"   : "string",
                     "max-size" : "60" },
                   { "name"   : "ExecutorIndex",
                     "format" : "guint32" } ] }

]
