ipc/glue/InputStreamParams.ipdlh

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:c6e6fd1f13f7
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/. */
4
5
6 using struct mozilla::void_t from "ipc/IPCMessageUtils.h";
7 include protocol PBlob;
8 include protocol PFileDescriptorSet;
9
10 namespace mozilla {
11 namespace ipc {
12
13 struct StringInputStreamParams
14 {
15 nsCString data;
16 };
17
18 struct FileInputStreamParams
19 {
20 uint32_t fileDescriptorIndex;
21 int32_t behaviorFlags;
22 int32_t ioFlags;
23 };
24
25 struct PartialFileInputStreamParams
26 {
27 FileInputStreamParams fileStreamParams;
28 uint64_t begin;
29 uint64_t length;
30 };
31
32 struct MultiplexInputStreamParams
33 {
34 InputStreamParams[] streams;
35 uint32_t currentStream;
36 nsresult status;
37 bool startedReadingCurrent;
38 };
39
40 struct RemoteInputStreamParams
41 {
42 PBlob remoteBlob;
43 };
44
45 union InputStreamParams
46 {
47 StringInputStreamParams;
48 FileInputStreamParams;
49 PartialFileInputStreamParams;
50 BufferedInputStreamParams;
51 MIMEInputStreamParams;
52 MultiplexInputStreamParams;
53 RemoteInputStreamParams;
54 };
55
56 union OptionalInputStreamParams
57 {
58 void_t;
59 InputStreamParams;
60 };
61
62 struct BufferedInputStreamParams
63 {
64 OptionalInputStreamParams optionalStream;
65 uint32_t bufferSize;
66 };
67
68 struct MIMEInputStreamParams
69 {
70 OptionalInputStreamParams optionalStream;
71 nsCString headers;
72 nsCString contentLength;
73 bool startedReading;
74 bool addContentLength;
75 };
76
77 union OptionalFileDescriptorSet
78 {
79 PFileDescriptorSet;
80 void_t;
81 };
82
83 } // namespace ipc
84 } // namespace mozilla

mercurial