[
  {
    "interfaces": [
      {
        "base": "nsIInputStream",
        "callable": false,
        "consts": [
          {
            "name": "WAIT_CLOSURE_ONLY",
            "value": 1
          }
        ],
        "enums": [],
        "id": "nsIAsyncInputStream",
        "members": [
          {
            "args": [
              {
                "name": "aStatus",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "closeWithStatus",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsIInputStreamCallback"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aRequestedCount",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aEventTarget",
                "optional": false,
                "type": "nsIEventTarget"
              }
            ],
            "iid_is": null,
            "name": "asyncWait",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIInputStreamCallback",
        "members": [
          {
            "args": [
              {
                "name": "aStream",
                "optional": false,
                "type": "nsIAsyncInputStream"
              }
            ],
            "iid_is": null,
            "name": "onInputStreamReady",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIAsyncInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIOutputStream",
        "callable": false,
        "consts": [
          {
            "name": "WAIT_CLOSURE_ONLY",
            "value": 1
          }
        ],
        "enums": [],
        "id": "nsIAsyncOutputStream",
        "members": [
          {
            "args": [
              {
                "name": "reason",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "closeWithStatus",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsIOutputStreamCallback"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aRequestedCount",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aEventTarget",
                "optional": false,
                "type": "nsIEventTarget"
              }
            ],
            "iid_is": null,
            "name": "asyncWait",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIOutputStreamCallback",
        "members": [
          {
            "args": [
              {
                "name": "aStream",
                "optional": false,
                "type": "nsIAsyncOutputStream"
              }
            ],
            "iid_is": null,
            "name": "onOutputStreamReady",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIAsyncOutputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIInputStream",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIBinaryInputStream",
        "members": [
          {
            "args": [
              {
                "name": "aInputStream",
                "optional": false,
                "type": "nsIInputStream"
              }
            ],
            "iid_is": null,
            "name": "setInputStream",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "readBoolean",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "read8",
            "type": "u8"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "read16",
            "type": "u16"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "read32",
            "type": "u32"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "read64",
            "type": "u64"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "readFloat",
            "type": "float"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "readDouble",
            "type": "double"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "readCString",
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "readString",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aLength",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "readBytes",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aLength",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "readByteArray",
            "type": "u8[]"
          },
          {
            "args": [
              {
                "name": "aLength",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "aArrayBuffer",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "readArrayBuffer",
            "type": "u64"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIBinaryInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIOutputStream",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIBinaryOutputStream",
        "members": [
          {
            "args": [
              {
                "name": "aOutputStream",
                "optional": false,
                "type": "nsIOutputStream"
              }
            ],
            "iid_is": null,
            "name": "setOutputStream",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aBoolean",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "writeBoolean",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aByte",
                "optional": false,
                "type": "u8"
              }
            ],
            "iid_is": null,
            "name": "write8",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "a16",
                "optional": false,
                "type": "u16"
              }
            ],
            "iid_is": null,
            "name": "write16",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "a32",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "write32",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "a64",
                "optional": false,
                "type": "u64"
              }
            ],
            "iid_is": null,
            "name": "write64",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFloat",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "writeFloat",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aDouble",
                "optional": false,
                "type": "double"
              }
            ],
            "iid_is": null,
            "name": "writeDouble",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aString",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "writeStringZ",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aString",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "writeWStringZ",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aString",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "writeUtf8Z",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aString",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aLength",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "writeBytes",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aBytes",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "writeByteArray",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIBinaryOutputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICloneableInputStream",
        "members": [
          {
            "name": "cloneable",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clone",
            "type": "nsIInputStream"
          }
        ]
      },
      {
        "base": "nsICloneableInputStream",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICloneableInputStreamWithRange",
        "members": [
          {
            "args": [
              {
                "name": "start",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "length",
                "optional": false,
                "type": "u64"
              }
            ],
            "iid_is": null,
            "name": "cloneWithRange",
            "type": "nsIInputStream"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsICloneableInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIUnicharInputStream",
        "callable": false,
        "consts": [
          {
            "name": "DEFAULT_REPLACEMENT_CHARACTER",
            "value": 65533
          },
          {
            "name": "ERRORS_ARE_FATAL",
            "value": 0
          }
        ],
        "enums": [],
        "id": "nsIConverterInputStream",
        "members": [
          {
            "args": [
              {
                "name": "aStream",
                "optional": false,
                "type": "nsIInputStream"
              },
              {
                "name": "aCharset",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aBufferSize",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aReplacementChar",
                "optional": false,
                "type": "u16"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIConverterInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIUnicharOutputStream",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIConverterOutputStream",
        "members": [
          {
            "args": [
              {
                "name": "aOutStream",
                "optional": false,
                "type": "nsIOutputStream"
              },
              {
                "name": "aCharset",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIConverterOutputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISimpleEnumerator",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDirectoryEnumerator",
        "members": [
          {
            "name": "nextFile",
            "readonly": true,
            "type": "nsIFile"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "close",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIDirectoryEnumerator.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDirectoryServiceProvider",
        "members": [
          {
            "args": [
              {
                "name": "prop",
                "optional": false,
                "type": "string"
              },
              {
                "name": "persistent",
                "optional": false,
                "type": "OutParam<boolean>"
              }
            ],
            "iid_is": null,
            "name": "getFile",
            "type": "nsIFile"
          }
        ]
      },
      {
        "base": "nsIDirectoryServiceProvider",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDirectoryServiceProvider2",
        "members": [
          {
            "args": [
              {
                "name": "prop",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getFiles",
            "type": "nsISimpleEnumerator"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDirectoryService",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "init",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "prov",
                "optional": false,
                "type": "nsIDirectoryServiceProvider"
              }
            ],
            "iid_is": null,
            "name": "registerProvider",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "prov",
                "optional": false,
                "type": "nsIDirectoryServiceProvider"
              }
            ],
            "iid_is": null,
            "name": "unregisterProvider",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIDirectoryService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "NORMAL_FILE_TYPE",
            "value": 0
          },
          {
            "name": "DIRECTORY_TYPE",
            "value": 1
          },
          {
            "name": "OS_READAHEAD",
            "value": 1073741824
          },
          {
            "name": "DELETE_ON_CLOSE",
            "value": 2147483648
          }
        ],
        "enums": [],
        "id": "nsIFile",
        "members": [
          {
            "args": [
              {
                "name": "node",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "append",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "normalize",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "permissions",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "skipAncestors",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "create",
            "type": "void"
          },
          {
            "name": "leafName",
            "readonly": false,
            "type": "string"
          },
          {
            "name": "displayName",
            "readonly": true,
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "hostPath",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "newParentDir",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "newName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "copyTo",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "newParentDir",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "newName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "copyToFollowingLinks",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "newParentDir",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "newName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "moveTo",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "newParentDir",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "newName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "moveToFollowingLinks",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "newParentDir",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "newName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "renameTo",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "recursive",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "removeCount",
                "optional": true,
                "type": "InOutParam<u32>"
              }
            ],
            "iid_is": null,
            "name": "remove",
            "type": "void"
          },
          {
            "name": "permissions",
            "readonly": false,
            "type": "u32"
          },
          {
            "name": "permissionsOfLink",
            "readonly": false,
            "type": "u32"
          },
          {
            "name": "lastAccessedTime",
            "readonly": false,
            "type": "PRTime"
          },
          {
            "name": "lastAccessedTimeOfLink",
            "readonly": false,
            "type": "PRTime"
          },
          {
            "name": "lastModifiedTime",
            "readonly": false,
            "type": "PRTime"
          },
          {
            "name": "lastModifiedTimeOfLink",
            "readonly": false,
            "type": "PRTime"
          },
          {
            "name": "creationTime",
            "readonly": true,
            "type": "PRTime"
          },
          {
            "name": "creationTimeOfLink",
            "readonly": true,
            "type": "PRTime"
          },
          {
            "name": "fileSize",
            "readonly": false,
            "type": "i64"
          },
          {
            "name": "fileSizeOfLink",
            "readonly": true,
            "type": "i64"
          },
          {
            "name": "target",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "path",
            "readonly": true,
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "exists",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isWritable",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isReadable",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isExecutable",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isHidden",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isDirectory",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isFile",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isSymlink",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isSpecial",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "permissions",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "createUnique",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clone",
            "type": "nsIFile"
          },
          {
            "args": [
              {
                "name": "inFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "equals",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "inFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "contains",
            "type": "boolean"
          },
          {
            "name": "parent",
            "readonly": true,
            "type": "nsIFile"
          },
          {
            "name": "directoryEntries",
            "readonly": true,
            "type": "nsIDirectoryEnumerator"
          },
          {
            "args": [
              {
                "name": "filePath",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "initWithPath",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "initWithFile",
            "type": "void"
          },
          {
            "name": "diskSpaceAvailable",
            "readonly": true,
            "type": "i64"
          },
          {
            "name": "diskCapacity",
            "readonly": true,
            "type": "i64"
          },
          {
            "args": [
              {
                "name": "relativeFilePath",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "appendRelativePath",
            "type": "void"
          },
          {
            "name": "persistentDescriptor",
            "readonly": false,
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "reveal",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "launch",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "fromFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "getRelativeDescriptor",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "fromFile",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "relativeDesc",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "setRelativeDescriptor",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "fromFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "getRelativePath",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "fromFile",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "relativeDesc",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "setRelativePath",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIFile.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIIOUtil",
        "members": [
          {
            "args": [
              {
                "name": "aStream",
                "optional": false,
                "type": "nsIInputStream"
              }
            ],
            "iid_is": null,
            "name": "inputStreamIsBuffered",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aStream",
                "optional": false,
                "type": "nsIOutputStream"
              }
            ],
            "iid_is": null,
            "name": "outputStreamIsBuffered",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIIOUtil.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIInputStream",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "close",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "available",
            "type": "u64"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "streamStatus",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isNonBlocking",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [],
    "path": "xpcom/io/nsIInputStreamLength.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIInputStreamPriority",
        "members": [
          {
            "name": "priority",
            "readonly": false,
            "type": "u32"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIInputStreamPriority.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIInputStream",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIInputStreamTee",
        "members": [
          {
            "name": "source",
            "readonly": false,
            "type": "nsIInputStream"
          },
          {
            "name": "sink",
            "readonly": false,
            "type": "nsIOutputStream"
          },
          {
            "name": "eventTarget",
            "readonly": false,
            "type": "nsIEventTarget"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIInputStreamTee.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsILineInputStream",
        "members": [
          {
            "args": [
              {
                "name": "aLine",
                "optional": false,
                "type": "OutParam<string>"
              }
            ],
            "iid_is": null,
            "name": "readLine",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsILineInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIFile",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsILocalFileWin",
        "members": [
          {
            "args": [
              {
                "name": "aCommandLine",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "initWithCommandLine",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aField",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getVersionInfoField",
            "type": "string"
          },
          {
            "name": "readOnly",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "useDOSDevicePathSyntax",
            "readonly": false,
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsILocalFileWin.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIMultiplexInputStream",
        "members": [
          {
            "name": "count",
            "readonly": true,
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "stream",
                "optional": false,
                "type": "nsIInputStream"
              }
            ],
            "iid_is": null,
            "name": "appendStream",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "index",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "getStream",
            "type": "nsIInputStream"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIMultiplexInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIBinaryInputStream",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIObjectInputStream",
        "members": [
          {
            "args": [
              {
                "name": "aIsStrongRef",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "readObject",
            "type": "nsISupports"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIObjectInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIBinaryOutputStream",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIObjectOutputStream",
        "members": [
          {
            "args": [
              {
                "name": "aObject",
                "optional": false,
                "type": "nsISupports"
              },
              {
                "name": "aIsStrongRef",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "writeObject",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aObject",
                "optional": false,
                "type": "nsISupports"
              }
            ],
            "iid_is": null,
            "name": "writeSingleRefObject",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aObject",
                "optional": false,
                "type": "nsISupports"
              },
              {
                "name": "aIID",
                "optional": false,
                "type": "nsID"
              },
              {
                "name": "aIsStrongRef",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "writeCompoundObject",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aID",
                "optional": false,
                "type": "nsID"
              }
            ],
            "iid_is": null,
            "name": "writeID",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIObjectOutputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIOutputStream",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "close",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "flush",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "streamStatus",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aBuf",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aCount",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "write",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aFromStream",
                "optional": false,
                "type": "nsIInputStream"
              },
              {
                "name": "aCount",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "writeFrom",
            "type": "u32"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isNonBlocking",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIOutputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIPipe",
        "members": [
          {
            "args": [
              {
                "name": "nonBlockingInput",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "nonBlockingOutput",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "segmentSize",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "segmentCount",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "void"
          },
          {
            "name": "inputStream",
            "readonly": true,
            "type": "nsIAsyncInputStream"
          },
          {
            "name": "outputStream",
            "readonly": true,
            "type": "nsIAsyncOutputStream"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIPipe.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISeekableStream",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIRandomAccessStream",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "getInputStream",
            "type": "nsIInputStream"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getOutputStream",
            "type": "nsIOutputStream"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIRandomAccessStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsISafeOutputStream",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "finish",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsISafeOutputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIScriptableBase64Encoder",
        "members": [
          {
            "args": [
              {
                "name": "stream",
                "optional": false,
                "type": "nsIInputStream"
              },
              {
                "name": "length",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "encodeToCString",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "stream",
                "optional": false,
                "type": "nsIInputStream"
              },
              {
                "name": "length",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "encodeToString",
            "type": "string"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIScriptableBase64Encoder.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIScriptableInputStream",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "close",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aInputStream",
                "optional": false,
                "type": "nsIInputStream"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "available",
            "type": "u64"
          },
          {
            "args": [
              {
                "name": "aCount",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "read",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aCount",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "readBytes",
            "type": "string"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIScriptableInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsITellableStream",
        "callable": false,
        "consts": [
          {
            "name": "NS_SEEK_SET",
            "value": 0
          },
          {
            "name": "NS_SEEK_CUR",
            "value": 1
          },
          {
            "name": "NS_SEEK_END",
            "value": 2
          }
        ],
        "enums": [],
        "id": "nsISeekableStream",
        "members": [
          {
            "args": [
              {
                "name": "whence",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "offset",
                "optional": false,
                "type": "i64"
              }
            ],
            "iid_is": null,
            "name": "seek",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "setEOF",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsISeekableStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIStorageStream",
        "members": [
          {
            "args": [
              {
                "name": "segmentSize",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "maxSize",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "startPosition",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "getOutputStream",
            "type": "nsIOutputStream"
          },
          {
            "args": [
              {
                "name": "startPosition",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "newInputStream",
            "type": "nsIInputStream"
          },
          {
            "name": "length",
            "readonly": false,
            "type": "u32"
          },
          {
            "name": "writeInProgress",
            "readonly": true,
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIStorageStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIStreamBufferAccess",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "disableBuffering",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "enableBuffering",
            "type": "void"
          },
          {
            "name": "unbufferedStream",
            "readonly": true,
            "type": "nsISupports"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIStreamBufferAccess.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIInputStream",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIStringInputStream",
        "members": [
          {
            "args": [
              {
                "name": "data",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "setByteStringData",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "data",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "setUTF8Data",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIStringStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsITellableStream",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "tell",
            "type": "i64"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsITellableStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIUnicharInputStream",
        "members": [
          {
            "args": [
              {
                "name": "aCount",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aString",
                "optional": false,
                "type": "OutParam<string>"
              }
            ],
            "iid_is": null,
            "name": "readString",
            "type": "u32"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "close",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIUnicharInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIUnicharLineInputStream",
        "members": [
          {
            "args": [
              {
                "name": "aLine",
                "optional": false,
                "type": "OutParam<string>"
              }
            ],
            "iid_is": null,
            "name": "readLine",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIUnicharLineInputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIUnicharOutputStream",
        "members": [
          {
            "args": [
              {
                "name": "aCount",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "c",
                "optional": false,
                "type": "u16[]"
              }
            ],
            "iid_is": null,
            "name": "write",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "str",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "writeString",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "flush",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "close",
            "type": "void"
          }
        ]
      }
    ],
    "path": "xpcom/io/nsIUnicharOutputStream.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]