Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Side by Side Diff: ppapi/c/private/ppb_network_list_private.h

Issue 23450012: Make NetworkList and NetworkMonitor APIs public (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /* Copyright (c) 2012 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
6 /* From private/ppb_network_list_private.idl,
7 * modified Wed Sep 4 11:42:02 2013.
8 */
9
10 #ifndef PPAPI_C_PRIVATE_PPB_NETWORK_LIST_PRIVATE_H_
11 #define PPAPI_C_PRIVATE_PPB_NETWORK_LIST_PRIVATE_H_
12
13 #include "ppapi/c/pp_array_output.h"
14 #include "ppapi/c/pp_bool.h"
15 #include "ppapi/c/pp_macros.h"
16 #include "ppapi/c/pp_resource.h"
17 #include "ppapi/c/pp_stdint.h"
18 #include "ppapi/c/pp_var.h"
19
20 #define PPB_NETWORKLIST_PRIVATE_INTERFACE_0_3 "PPB_NetworkList_Private;0.3"
21 #define PPB_NETWORKLIST_PRIVATE_INTERFACE PPB_NETWORKLIST_PRIVATE_INTERFACE_0_3
22
23 /**
24 * @file
25 * This file defines the <code>PPB_NetworkList_Private</code> interface.
26 */
27
28
29 /**
30 * @addtogroup Enums
31 * @{
32 */
33 /**
34 * Type of a network interface.
35 */
36 typedef enum {
37 /**
38 * Type of the network interface is not known.
39 */
40 PP_NETWORKLIST_UNKNOWN = 0,
41 /**
42 * Wired Ethernet network.
43 */
44 PP_NETWORKLIST_ETHERNET = 1,
45 /**
46 * Wireless Wi-Fi network.
47 */
48 PP_NETWORKLIST_WIFI = 2,
49 /**
50 * Cellular network (e.g. LTE).
51 */
52 PP_NETWORKLIST_CELLULAR = 3
53 } PP_NetworkListType_Private;
54 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_NetworkListType_Private, 4);
55
56 /**
57 * State of a network interface.
58 */
59 typedef enum {
60 /**
61 * Network interface is down.
62 */
63 PP_NETWORKLIST_DOWN = 0,
64 /**
65 * Network interface is up.
66 */
67 PP_NETWORKLIST_UP = 1
68 } PP_NetworkListState_Private;
69 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_NetworkListState_Private, 4);
70 /**
71 * @}
72 */
73
74 /**
75 * @addtogroup Interfaces
76 * @{
77 */
78 /**
79 * The <code>PPB_NetworkList_Private</code> is used to represent a
80 * list of network interfaces and their configuration. The content of
81 * the list is immutable. The current networks configuration can be
82 * received using the <code>PPB_NetworkMonitor_Private</code>
83 * interface.
84 */
85 struct PPB_NetworkList_Private_0_3 {
86 /**
87 * Determines if the specified <code>resource</code> is a
88 * <code>NetworkList</code> object.
89 *
90 * @param[in] resource A <code>PP_Resource</code> resource.
91 *
92 * @return Returns <code>PP_TRUE</code> if <code>resource</code> is
93 * a <code>PPB_NetworkList_Private</code>, <code>PP_FALSE</code>
94 * otherwise.
95 */
96 PP_Bool (*IsNetworkList)(PP_Resource resource);
97 /**
98 * Gets number of interfaces in the list.
99 *
100 * @param[in] resource A <code>PP_Resource</code> corresponding to a
101 * network list.
102 *
103 * @return Returns number of available network interfaces or 0 if
104 * the list has never been updated.
105 */
106 uint32_t (*GetCount)(PP_Resource resource);
107 /**
108 * Gets name of a network interface.
109 *
110 * @param[in] resource A <code>PP_Resource</code> corresponding to a
111 * network list.
112 * @param[in] index Index of the network interface.
113 *
114 * @return Returns name for the network interface with the specified
115 * <code>index</code>.
116 */
117 struct PP_Var (*GetName)(PP_Resource resource, uint32_t index);
118 /**
119 * Gets type of a network interface.
120 *
121 * @param[in] resource A <code>PP_Resource</code> corresponding to a
122 * network list.
123 * @param[in] index Index of the network interface.
124 *
125 * @return Returns type of the network interface with the specified
126 * <code>index</code>.
127 */
128 PP_NetworkListType_Private (*GetType)(PP_Resource resource, uint32_t index);
129 /**
130 * Gets state of a network interface.
131 *
132 * @param[in] resource A <code>PP_Resource</code> corresponding to a
133 * network list.
134 * @param[in] index Index of the network interface.
135 *
136 * @return Returns current state of the network interface with the
137 * specified <code>index</code>.
138 */
139 PP_NetworkListState_Private (*GetState)(PP_Resource resource, uint32_t index);
140 /**
141 * Gets list of IP addresses for a network interface.
142 *
143 * @param[in] resource A <code>PP_Resource</code> corresponding to a
144 * network list.
145 * @param[in] index Index of the network interface.
146 * @param[in] output An output array which will receive
147 * <code>PPB_NetAddress</code> resources on success. Please note that the
148 * ref count of those resources has already been increased by 1 for the
149 * caller.
150 *
151 * @return An error code from <code>pp_errors.h</code>.
152 */
153 int32_t (*GetIpAddresses)(PP_Resource resource,
154 uint32_t index,
155 struct PP_ArrayOutput output);
156 /**
157 * Gets display name of a network interface.
158 *
159 * @param[in] resource A <code>PP_Resource</code> corresponding to a
160 * network list.
161 * @param[in] index Index of the network interface.
162 *
163 * @return Returns display name for the network interface with the
164 * specified <code>index</code>.
165 */
166 struct PP_Var (*GetDisplayName)(PP_Resource resource, uint32_t index);
167 /**
168 * Gets MTU (Maximum Transmission Unit) of a network interface.
169 *
170 * @param[in] resource A <code>PP_Resource</code> corresponding to a
171 * network list.
172 * @param[in] index Index of the network interface.
173 *
174 * @return Returns MTU for the network interface with the specified
175 * <code>index</code> or 0 if MTU is unknown.
176 */
177 uint32_t (*GetMTU)(PP_Resource resource, uint32_t index);
178 };
179
180 typedef struct PPB_NetworkList_Private_0_3 PPB_NetworkList_Private;
181 /**
182 * @}
183 */
184
185 #endif /* PPAPI_C_PRIVATE_PPB_NETWORK_LIST_PRIVATE_H_ */
186
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698