OLD | NEW |
| (Empty) |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 module mojo; | |
6 | |
7 enum NetAddressFamily { | |
8 UNSPECIFIED, | |
9 IPV4, | |
10 IPV6 | |
11 }; | |
12 | |
13 struct NetAddressIPv4 { | |
14 // The port number. This is in the local machine's endianness. | |
15 uint16 port; | |
16 | |
17 // The address is expressed in network byte order, so the most significant | |
18 // byte ("127" in the address "127.0.0.1") will be at index 0. | |
19 array<uint8, 4> addr; | |
20 }; | |
21 | |
22 // All members are expressed in network byte order. | |
23 struct NetAddressIPv6 { | |
24 // The port number. This is in the local machine's endianness. | |
25 uint16 port; | |
26 | |
27 // The address is expressed in network byte order, so the most significant | |
28 // byte is at index 0. | |
29 array<uint8, 16> addr; | |
30 }; | |
31 | |
32 struct NetAddress { | |
33 NetAddressFamily family = UNSPECIFIED; | |
34 | |
35 // At most one of the following fields is non-NULL depending on the value of | |
36 // |family|. | |
37 NetAddressIPv4? ipv4; | |
38 NetAddressIPv6? ipv6; | |
39 }; | |
OLD | NEW |