1645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez// Copyright 2016 The Chromium Authors. All rights reserved.
2645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez// Use of this source code is governed by a BSD-style license that can be
3645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez// found in the LICENSE file.
4645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
5645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez#include "mojo/edk/system/ports/name.h"
6645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
7645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chaveznamespace mojo {
8645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chaveznamespace edk {
9645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chaveznamespace ports {
10645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
11cfc1eaa913db3974e56c87b5489bda0a2bf36d93Jay Civelliextern const PortName kInvalidPortName = {0, 0};
12cfc1eaa913db3974e56c87b5489bda0a2bf36d93Jay Civelli
13cfc1eaa913db3974e56c87b5489bda0a2bf36d93Jay Civelliextern const NodeName kInvalidNodeName = {0, 0};
14cfc1eaa913db3974e56c87b5489bda0a2bf36d93Jay Civelli
15645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavezstd::ostream& operator<<(std::ostream& stream, const Name& name) {
16645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  std::ios::fmtflags flags(stream.flags());
17645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  stream << std::hex << std::uppercase << name.v1;
18645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  if (name.v2 != 0)
19645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez    stream << '.' << name.v2;
20645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  stream.flags(flags);
21645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez  return stream;
22645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez}
23645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez
24645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez}  // namespace ports
25645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez}  // namespace edk
26645501c2ab19a559ce82a1d5a29ced159a4c30fbLuis Hector Chavez}  // namespace mojo
27