Backed out changeset 1ecf6afb4dc7 for causing failures.
[gecko.git] / ipc / glue / InputStreamParams.ipdlh
blob2491c477af06331af34e52d1348e2b2247d40658
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 include ProtocolTypes;
7 using struct mozilla::void_t from "mozilla/ipc/IPCCore.h";
8 [RefCounted] using mozilla::ipc::DataPipeReceiver from "mozilla/ipc/DataPipe.h";
9 [RefCounted] using mozilla::RemoteLazyInputStream from "mozilla/RemoteLazyInputStream.h";
11 namespace mozilla {
12 namespace ipc {
14 struct HeaderEntry
16   nsCString name;
17   nsCString value;
20 struct StringInputStreamParams
22   nsCString data;
25 struct FileInputStreamParams
27   FileDescriptor fileDescriptor;
28   int32_t behaviorFlags;
29   int32_t ioFlags;
32 struct MultiplexInputStreamParams
34   InputStreamParams[] streams;
35   uint32_t currentStream;
36   nsresult status;
37   bool startedReadingCurrent;
40 struct SlicedInputStreamParams
42   InputStreamParams stream;
43   uint64_t start;
44   uint64_t length;
45   uint64_t curPos;
46   bool closed;
49 struct RemoteLazyInputStreamParams
51   RemoteLazyInputStream stream;
54 struct DataPipeReceiverStreamParams
56   DataPipeReceiver pipe;
59 union InputStreamParams
61   StringInputStreamParams;
62   FileInputStreamParams;
63   BufferedInputStreamParams;
64   MIMEInputStreamParams;
65   MultiplexInputStreamParams;
66   SlicedInputStreamParams;
67   RemoteLazyInputStreamParams;
68   InputStreamLengthWrapperParams;
69   EncryptedFileInputStreamParams;
70   DataPipeReceiverStreamParams;
73 struct EncryptedFileInputStreamParams
75   FileInputStreamParams fileInputStreamParams;
76   uint8_t[] key;
77   uint32_t blockSize;
80 struct BufferedInputStreamParams
82   InputStreamParams? optionalStream;
83   uint32_t bufferSize;
86 struct MIMEInputStreamParams
88   InputStreamParams? optionalStream;
89   HeaderEntry[] headers;
90   bool startedReading;
93 struct InputStreamLengthWrapperParams
95   InputStreamParams stream;
96   int64_t length;
97   bool consumed;
100 } // namespace ipc
101 } // namespace mozilla