tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

PMLSTransaction.ipdl (3449B)


      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 include protocol PBackground;
      6 using struct mozilla::security::mls::GkGroupIdEpoch from "mozilla/dom/MLSTransactionMessage.h";
      7 using struct mozilla::security::mls::GkMlsCommitOutput from "mozilla/dom/MLSTransactionMessage.h";
      8 using struct mozilla::security::mls::GkGroupDetails from "mozilla/dom/MLSTransactionMessage.h";
      9 using struct mozilla::security::mls::GkExporterOutput from "mozilla/dom/MLSTransactionMessage.h";
     10 using struct mozilla::security::mls::GkReceived from "mozilla/dom/MLSTransactionMessage.h";
     11 
     12 namespace mozilla {
     13 namespace dom {
     14 
     15 /* This type exists because we cannot write uint8_t[]? */
     16 struct RawBytes {
     17   uint8_t[] data;
     18 };
     19 
     20 [ChildProc=anydom]
     21 async protocol PMLSTransaction
     22 {
     23 parent:
     24   async RequestStateDelete() returns (bool result);
     25   async RequestGroupStateDelete(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkGroupIdEpoch? result);
     26   async RequestGenerateIdentityKeypair() returns (RawBytes? result);
     27   async RequestGenerateCredentialBasic(uint8_t[] credName) returns (RawBytes? result);
     28   async RequestGenerateKeyPackage(uint8_t[] identity, uint8_t[] credential) returns (RawBytes? result);
     29   async RequestGroupCreate(uint8_t[] identifier, uint8_t[] credential, uint8_t[] inOptGroupIdentifier) returns (GkGroupIdEpoch? result);
     30   async RequestGroupJoin(uint8_t[] identifier, uint8_t[] welcome) returns (GkGroupIdEpoch? result);
     31   async RequestGroupAdd(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] keyPackage) returns (GkMlsCommitOutput? result);
     32   async RequestGroupProposeAdd(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] keyPackage) returns (RawBytes? result);
     33   async RequestGroupRemove(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] remIdentifier) returns (GkMlsCommitOutput? result);
     34   async RequestGroupProposeRemove(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] remIdentifier) returns (RawBytes? result);
     35   async RequestGroupClose(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkMlsCommitOutput? result);
     36   async RequestGroupDetails(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkGroupDetails? result);
     37   async RequestSend(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] message) returns (RawBytes? result);
     38   async RequestReceive(uint8_t[] identifier, uint8_t[] message) returns (GkReceived result);
     39   async RequestHasPendingProposals(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result);
     40   async RequestClearPendingProposals(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result);
     41   async RequestHasPendingCommit(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result);
     42   async RequestClearPendingCommit(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result);
     43   async RequestApplyPendingCommit(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkReceived result);
     44   async RequestExportSecret(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] label, uint8_t[] content, uint64_t len) returns (GkExporterOutput? result);
     45   async RequestGetGroupIdentifier(uint8_t[] message) returns (RawBytes? result);
     46   async RequestGetGroupEpoch(uint8_t[] message) returns (RawBytes? result);
     47 };
     48 
     49 } // namespace dom
     50 } // namespace mozilla