1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
7 include protocol PVerifySSLServerCert;
8 include protocol PSelectTLSClientAuthCert;
9 include protocol PIPCClientCerts;
10 include protocol PWebSocketConnection;
14 using mozilla::OriginAttributes from "mozilla/ipc/BackgroundUtils.h";
20 * PSocketProcessBackground is the top level IPC protocol between
21 * a background task queue in the socket process and the parent process.
22 * We use this to create several IPC protocols between the socket process
23 * and the parent process.
25 sync protocol PSocketProcessBackground
28 async InitVerifySSLServerCert(
29 Endpoint<PVerifySSLServerCertParent> aEndpoint,
30 ByteArray[] aPeerCertChain,
33 OriginAttributes aOriginAttributes,
34 ByteArray? aStapledOCSPResponse,
35 ByteArray? aSctsFromTLSExtension,
36 DelegatedCredentialInfoArg? aDcInfo,
37 uint32_t aProviderFlags,
38 uint32_t aCertVerifierFlags);
40 async InitSelectTLSClientAuthCert(
41 Endpoint<PSelectTLSClientAuthCertParent> aEndpoint,
43 OriginAttributes aOriginAttributes,
45 uint32_t aProviderFlags,
46 uint32_t aProviderTlsFlags,
47 ByteArray aServerCertBytes,
51 async InitIPCClientCerts(Endpoint<PIPCClientCertsParent> aEndpoint);
53 async InitWebSocketConnection(Endpoint<PWebSocketConnectionParent> aEndpoint,
54 uint32_t aListenerId);
58 } // namespace mozilla