summaryrefslogtreecommitdiffstats
path: root/netwerk/dns/nsINativeDNSResolverOverride.idl
blob: 0a016af4373a88aca5de6e9a0ba86e6874afdf65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* 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 "nsISupports.idl"

[scriptable, builtinclass, uuid(8e38d536-5501-48c0-a412-6c450040c8c8)]
interface nsINativeDNSResolverOverride : nsISupports
{
  /**
   * Adds an IP override for this specific host.
   */
  void addIPOverride(in AUTF8String aHost, in ACString aIPLiteral);

  /**
   * Adds an HTTPS record override for this specific host.
   * The input needs to be the raw bytes of a DNS answer.
   */
  void addHTTPSRecordOverride(in AUTF8String aHost,
                              [array, size_is(aLength), const] in uint8_t aData,
                              in unsigned long aLength);

  /**
   * Sets a CNAME override for this specific host.
   */
  void setCnameOverride(in AUTF8String aHost, in ACString aCNAME);

  /**
   * Clears the overrides for this specific host
   */
  void clearHostOverride(in AUTF8String aHost);

  /**
   * Clears all the host overrides that were previously set.
   */
  void clearOverrides();
};