blob: a05f8f07861b2c2cc48b2b0767c5dbc2e7033f6b [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.lowpan;
type Identity = table {
/// The raw bytes for the network name.
/// This is typically a [StringPrep'd][1] UTF8 encoding.
///
/// Note that extra care must be taken when displaying
/// this value to users, since there are many ways
/// to make visually similar UTF8 strings that
/// have differing bytecode representations.
///
/// [1]: https://tools.ietf.org/html/rfc3454
1: raw_name bytes:63;
/// Extended PANID.
2: xpanid bytes:8;
/// String identifying the type of network.
///
/// Well-known protocol ids are associated with
/// specific string values (like "org.threadgroup.std.thread"
/// or "org.zigbee.std.zigbee-ip"). For unknown protocol ids,
/// the string will map to something like
/// `fuchsia.lowpan.net_type.802.15.4.pid.XX`, where `XX` is
/// the value of the protocol id from a 802.14.5 beacon.
/// This field is optional when joining, forming, or provisioning.
3: net_type string:MAX_NET_TYPE_LEN;
/// Channel Index.
4: channel ChannelIndex;
/// PANID for 802.14.5-based networks (or the equivalent).
5: panid uint16;
/// IPv6 Mesh-local prefix.
///
/// This parameter allows you to determine the mesh-local
/// IPv6 prefix for the current network, or to specify one
/// when provisioning the interface for a network or forming
/// a new network.
///
/// The prefix length is always 64 bits, so only the upper
/// 64 bits of the value are used: the least significant bits
/// must be ignored when read and zero when set.
///
/// This field is ignored when supplied to `JoinNetwork()`.
6: mesh_local_prefix Ipv6Prefix;
};