зеркало из https://github.com/mozilla/gecko-dev.git
87 строки
1.5 KiB
Plaintext
87 строки
1.5 KiB
Plaintext
/* 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 ProtocolTypes;
|
|
|
|
using struct mozilla::void_t
|
|
from "ipc/IPCMessageUtils.h";
|
|
|
|
namespace mozilla {
|
|
namespace ipc {
|
|
|
|
struct HeaderEntry
|
|
{
|
|
nsCString name;
|
|
nsCString value;
|
|
};
|
|
|
|
struct StringInputStreamParams
|
|
{
|
|
nsCString data;
|
|
};
|
|
|
|
struct FileInputStreamParams
|
|
{
|
|
uint32_t fileDescriptorIndex;
|
|
int32_t behaviorFlags;
|
|
int32_t ioFlags;
|
|
};
|
|
|
|
struct MultiplexInputStreamParams
|
|
{
|
|
InputStreamParams[] streams;
|
|
uint32_t currentStream;
|
|
nsresult status;
|
|
bool startedReadingCurrent;
|
|
};
|
|
|
|
struct SlicedInputStreamParams
|
|
{
|
|
InputStreamParams stream;
|
|
uint64_t start;
|
|
uint64_t length;
|
|
uint64_t curPos;
|
|
bool closed;
|
|
};
|
|
|
|
struct IPCBlobInputStreamParams
|
|
{
|
|
nsID id;
|
|
uint64_t start;
|
|
uint64_t length;
|
|
};
|
|
|
|
union InputStreamParams
|
|
{
|
|
StringInputStreamParams;
|
|
FileInputStreamParams;
|
|
BufferedInputStreamParams;
|
|
MIMEInputStreamParams;
|
|
MultiplexInputStreamParams;
|
|
SlicedInputStreamParams;
|
|
IPCBlobInputStreamParams;
|
|
};
|
|
|
|
union OptionalInputStreamParams
|
|
{
|
|
void_t;
|
|
InputStreamParams;
|
|
};
|
|
|
|
struct BufferedInputStreamParams
|
|
{
|
|
OptionalInputStreamParams optionalStream;
|
|
uint32_t bufferSize;
|
|
};
|
|
|
|
struct MIMEInputStreamParams
|
|
{
|
|
OptionalInputStreamParams optionalStream;
|
|
HeaderEntry[] headers;
|
|
bool startedReading;
|
|
};
|
|
|
|
} // namespace ipc
|
|
} // namespace mozilla
|