diff options
Diffstat (limited to 'ipc/glue/InputStreamParams.ipdlh')
-rw-r--r-- | ipc/glue/InputStreamParams.ipdlh | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/ipc/glue/InputStreamParams.ipdlh b/ipc/glue/InputStreamParams.ipdlh new file mode 100644 index 000000000..eb6869c17 --- /dev/null +++ b/ipc/glue/InputStreamParams.ipdlh @@ -0,0 +1,96 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +include protocol PBlob; +include ProtocolTypes; + +using struct mozilla::void_t + from "ipc/IPCMessageUtils.h"; + +namespace mozilla { +namespace ipc { + +struct StringInputStreamParams +{ + nsCString data; +}; + +struct FileInputStreamParams +{ + uint32_t fileDescriptorIndex; + int32_t behaviorFlags; + int32_t ioFlags; +}; + +struct PartialFileInputStreamParams +{ + FileInputStreamParams fileStreamParams; + uint64_t begin; + uint64_t length; +}; + +struct TemporaryFileInputStreamParams +{ + uint32_t fileDescriptorIndex; + uint64_t startPos; + uint64_t endPos; +}; + +struct MultiplexInputStreamParams +{ + InputStreamParams[] streams; + uint32_t currentStream; + nsresult status; + bool startedReadingCurrent; +}; + +struct RemoteInputStreamParams +{ + nsID id; +}; + +// XXX This may only be used for same-process inter-thread communication! The +// value should be reinterpret_cast'd to nsIInputStream. It carries a +// reference. +struct SameProcessInputStreamParams +{ + intptr_t addRefedInputStream; +}; + +union InputStreamParams +{ + StringInputStreamParams; + FileInputStreamParams; + PartialFileInputStreamParams; + TemporaryFileInputStreamParams; + BufferedInputStreamParams; + MIMEInputStreamParams; + MultiplexInputStreamParams; + RemoteInputStreamParams; + SameProcessInputStreamParams; +}; + +union OptionalInputStreamParams +{ + void_t; + InputStreamParams; +}; + +struct BufferedInputStreamParams +{ + OptionalInputStreamParams optionalStream; + uint32_t bufferSize; +}; + +struct MIMEInputStreamParams +{ + OptionalInputStreamParams optionalStream; + nsCString headers; + nsCString contentLength; + bool startedReading; + bool addContentLength; +}; + +} // namespace ipc +} // namespace mozilla |