summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/api/diagnostics.idl
blob: b498dbb2303930b3eb6c496f7147106d0df5800b (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
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Use the <code>chrome.diagnostics</code> API to query various properties of
// the environment that may be useful for diagnostics.
namespace diagnostics {
  dictionary SendPacketOptions {
    // Target IP address.
    DOMString ip;
    // Packet time to live value. If omitted, the system default value will be
    // used.
    long? ttl;
    // Packet timeout in seconds. If omitted, the system default value will be
    // used.
    long? timeout;
    // Size of the payload. If omitted, the system default value will be used.
    long? size;
  };

  dictionary SendPacketResult {
    // The IP of the host which we recieves the ICMP reply from.
    // The IP may differs from our target IP if the packet's ttl is used up.
    DOMString ip;

    // Latency in millisenconds.
    double latency;
  };

  callback SendPacketCallback = void(SendPacketResult result);

  interface Functions {
    // Send a packet of the given type with the given parameters.
    static void sendPacket(SendPacketOptions options,
                           SendPacketCallback callback);
  };
};