chromium/services/network/public/mojom/ip_address_space.mojom

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module network.mojom;

// Represents AddressSpace from the "Private Network Access" spec. The ordering
// is important, as it's used to determine whether preflights are required, as
// per https://wicg.github.io/private-network-access/#framework
enum IPAddressSpace {
  kLocal,    // contains the local host only. In other words, addresses whose
             // target differs for every device.

  kPrivate,  // contains addresses that have meaning only within the current
             // network. In other words, addresses whose target differs based
             // on network position.

  kPublic,   // contains all other addresses. In other words, addresses whose
             // target is the same for all devices globally on the IP network.

  kUnknown,  // For security checks, "unknown" will be treated as "public", as
             // that's the lowest-privilege value.
};