[
  {
    "consts": [
      {
        "name": "PROXY_RESOLVES_HOST",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "ANONYMOUS_CONNECT",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      },
      {
        "name": "NO_PERMANENT_STORAGE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "BE_CONSERVATIVE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "ANONYMOUS_CONNECT_ALLOW_CLIENT_CERT",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 16
      },
      {
        "name": "IS_SPECULATIVE_CONNECTION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32
      },
      {
        "name": "DONT_TRY_ECH",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1024
      },
      {
        "name": "IS_RETRY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2048
      },
      {
        "name": "USED_PRIVATE_DNS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4096
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hidden"
        ],
        "name": "newSocket",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIProxyInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsITLSSocketControl",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "addToSocket",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIProxyInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsITLSSocketControl",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsISocketProvider",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "508d5469-9e1e-4a08-b5b0-7cfebba1e51a"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "getSocketProvider",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsISocketProvider",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsISocketProviderService",
    "needs_scriptable": [
      "nsISocketProvider"
    ],
    "parent": "nsISupports",
    "uuid": "8f8a23d0-5472-11d3-bbc8-0000861d1237"
  }
]