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

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

Issue 10735056: AllowBroadcast() is exposed to NaCl. (Closed) Base URL: http://git.chromium.org/chromium/src.git@udp_broadcast
Patch Set: Sync. Created 8 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
« no previous file with comments | « ppapi/api/private/ppb_udp_socket_private.idl ('k') | ppapi/cpp/private/udp_socket_private.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. 3 * found in the LICENSE file.
4 */ 4 */
5 5
6 /* From private/ppb_udp_socket_private.idl modified Wed Feb 8 18:02:19 2012. */ 6 /* From private/ppb_udp_socket_private.idl modified Thu Aug 23 12:32:12 2012. */
7 7
8 #ifndef PPAPI_C_PRIVATE_PPB_UDP_SOCKET_PRIVATE_H_ 8 #ifndef PPAPI_C_PRIVATE_PPB_UDP_SOCKET_PRIVATE_H_
9 #define PPAPI_C_PRIVATE_PPB_UDP_SOCKET_PRIVATE_H_ 9 #define PPAPI_C_PRIVATE_PPB_UDP_SOCKET_PRIVATE_H_
10 10
11 #include "ppapi/c/pp_bool.h" 11 #include "ppapi/c/pp_bool.h"
12 #include "ppapi/c/pp_completion_callback.h" 12 #include "ppapi/c/pp_completion_callback.h"
13 #include "ppapi/c/pp_instance.h" 13 #include "ppapi/c/pp_instance.h"
14 #include "ppapi/c/pp_macros.h" 14 #include "ppapi/c/pp_macros.h"
15 #include "ppapi/c/pp_resource.h" 15 #include "ppapi/c/pp_resource.h"
16 #include "ppapi/c/pp_stdint.h" 16 #include "ppapi/c/pp_stdint.h"
17 #include "ppapi/c/pp_var.h"
17 #include "ppapi/c/private/ppb_net_address_private.h" 18 #include "ppapi/c/private/ppb_net_address_private.h"
18 19
19 #define PPB_UDPSOCKET_PRIVATE_INTERFACE_0_2 "PPB_UDPSocket_Private;0.2" 20 #define PPB_UDPSOCKET_PRIVATE_INTERFACE_0_2 "PPB_UDPSocket_Private;0.2"
20 #define PPB_UDPSOCKET_PRIVATE_INTERFACE_0_3 "PPB_UDPSocket_Private;0.3" 21 #define PPB_UDPSOCKET_PRIVATE_INTERFACE_0_3 "PPB_UDPSocket_Private;0.3"
21 #define PPB_UDPSOCKET_PRIVATE_INTERFACE PPB_UDPSOCKET_PRIVATE_INTERFACE_0_3 22 #define PPB_UDPSOCKET_PRIVATE_INTERFACE_0_4 "PPB_UDPSocket_Private;0.4"
23 #define PPB_UDPSOCKET_PRIVATE_INTERFACE PPB_UDPSOCKET_PRIVATE_INTERFACE_0_4
22 24
23 /** 25 /**
24 * @file 26 * @file
25 * This file defines the <code>PPB_UDPSocket_Private</code> interface. 27 * This file defines the <code>PPB_UDPSocket_Private</code> interface.
26 */ 28 */
27 29
28 30
29 /** 31 /**
32 * @addtogroup Enums
33 * @{
34 */
35 typedef enum {
36 /* Allow the socket to share the local address to which socket will
37 * be bound with other processes. Value's type should be
38 * PP_VARTYPE_BOOL. */
39 PP_UDPSOCKETFEATURE_ADDRESS_REUSE = 0,
40 /* Allow sending and receiving packets sent to and from broadcast
41 * addresses. Value's type should be PP_VARTYPE_BOOL. */
42 PP_UDPSOCKETFEATURE_BROADCAST = 1,
43 /* Special value for counting the number of available
44 * features. Should not be passed to SetSocketFeature(). */
45 PP_UDPSOCKETFEATURE_COUNT = 2
46 } PP_UDPSocketFeature_Private;
47 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_UDPSocketFeature_Private, 4);
48 /**
49 * @}
50 */
51
52 /**
30 * @addtogroup Interfaces 53 * @addtogroup Interfaces
31 * @{ 54 * @{
32 */ 55 */
33 struct PPB_UDPSocket_Private_0_3 { 56 struct PPB_UDPSocket_Private_0_4 {
34 /** 57 /**
35 * Creates a UDP socket resource. 58 * Creates a UDP socket resource.
36 */ 59 */
37 PP_Resource (*Create)(PP_Instance instance_id); 60 PP_Resource (*Create)(PP_Instance instance_id);
38 /** 61 /**
39 * Determines if a given resource is a UDP socket. 62 * Determines if a given resource is a UDP socket.
40 */ 63 */
41 PP_Bool (*IsUDPSocket)(PP_Resource resource_id); 64 PP_Bool (*IsUDPSocket)(PP_Resource resource_id);
65 /**
66 * Sets a socket feature to |udp_socket|. Should be called before
67 * Bind(). Possible values for |name|, |value| and |value|'s type
68 * are described in PP_UDPSocketFeature_Private description. If no
69 * error occurs, returns PP_OK. Otherwise, returns
70 * PP_ERROR_BADRESOURCE (if bad |udp_socket| provided),
71 * PP_ERROR_BADARGUMENT (if bad name/value/value's type provided)
72 * or PP_ERROR_FAILED in the case of internal errors.
73 */
74 int32_t (*SetSocketFeature)(PP_Resource udp_socket,
75 PP_UDPSocketFeature_Private name,
76 struct PP_Var value);
42 /* Creates a socket and binds to the address given by |addr|. */ 77 /* Creates a socket and binds to the address given by |addr|. */
43 int32_t (*Bind)(PP_Resource udp_socket, 78 int32_t (*Bind)(PP_Resource udp_socket,
44 const struct PP_NetAddress_Private* addr, 79 const struct PP_NetAddress_Private* addr,
45 struct PP_CompletionCallback callback); 80 struct PP_CompletionCallback callback);
46 /* Returns the address that the socket has bound to. A successful 81 /* Returns the address that the socket has bound to. A successful
47 * call to Bind must be called first. Returns PP_FALSE if Bind 82 * call to Bind must be called first. Returns PP_FALSE if Bind
48 * fails, or if Close has been called. 83 * fails, or if Close has been called.
49 */ 84 */
50 PP_Bool (*GetBoundAddress)(PP_Resource udp_socket, 85 PP_Bool (*GetBoundAddress)(PP_Resource udp_socket,
51 struct PP_NetAddress_Private* addr); 86 struct PP_NetAddress_Private* addr);
(...skipping 17 matching lines...) Expand all
69 */ 104 */
70 int32_t (*SendTo)(PP_Resource udp_socket, 105 int32_t (*SendTo)(PP_Resource udp_socket,
71 const char* buffer, 106 const char* buffer,
72 int32_t num_bytes, 107 int32_t num_bytes,
73 const struct PP_NetAddress_Private* addr, 108 const struct PP_NetAddress_Private* addr,
74 struct PP_CompletionCallback callback); 109 struct PP_CompletionCallback callback);
75 /* Cancels all pending reads and writes, and closes the socket. */ 110 /* Cancels all pending reads and writes, and closes the socket. */
76 void (*Close)(PP_Resource udp_socket); 111 void (*Close)(PP_Resource udp_socket);
77 }; 112 };
78 113
79 typedef struct PPB_UDPSocket_Private_0_3 PPB_UDPSocket_Private; 114 typedef struct PPB_UDPSocket_Private_0_4 PPB_UDPSocket_Private;
80 115
81 struct PPB_UDPSocket_Private_0_2 { 116 struct PPB_UDPSocket_Private_0_2 {
82 PP_Resource (*Create)(PP_Instance instance_id); 117 PP_Resource (*Create)(PP_Instance instance_id);
83 PP_Bool (*IsUDPSocket)(PP_Resource resource_id); 118 PP_Bool (*IsUDPSocket)(PP_Resource resource_id);
84 int32_t (*Bind)(PP_Resource udp_socket, 119 int32_t (*Bind)(PP_Resource udp_socket,
85 const struct PP_NetAddress_Private* addr, 120 const struct PP_NetAddress_Private* addr,
86 struct PP_CompletionCallback callback); 121 struct PP_CompletionCallback callback);
87 int32_t (*RecvFrom)(PP_Resource udp_socket, 122 int32_t (*RecvFrom)(PP_Resource udp_socket,
88 char* buffer, 123 char* buffer,
89 int32_t num_bytes, 124 int32_t num_bytes,
90 struct PP_CompletionCallback callback); 125 struct PP_CompletionCallback callback);
91 PP_Bool (*GetRecvFromAddress)(PP_Resource udp_socket, 126 PP_Bool (*GetRecvFromAddress)(PP_Resource udp_socket,
92 struct PP_NetAddress_Private* addr); 127 struct PP_NetAddress_Private* addr);
93 int32_t (*SendTo)(PP_Resource udp_socket, 128 int32_t (*SendTo)(PP_Resource udp_socket,
94 const char* buffer, 129 const char* buffer,
95 int32_t num_bytes, 130 int32_t num_bytes,
96 const struct PP_NetAddress_Private* addr, 131 const struct PP_NetAddress_Private* addr,
97 struct PP_CompletionCallback callback); 132 struct PP_CompletionCallback callback);
98 void (*Close)(PP_Resource udp_socket); 133 void (*Close)(PP_Resource udp_socket);
99 }; 134 };
135
136 struct PPB_UDPSocket_Private_0_3 {
137 PP_Resource (*Create)(PP_Instance instance_id);
138 PP_Bool (*IsUDPSocket)(PP_Resource resource_id);
139 int32_t (*Bind)(PP_Resource udp_socket,
140 const struct PP_NetAddress_Private* addr,
141 struct PP_CompletionCallback callback);
142 PP_Bool (*GetBoundAddress)(PP_Resource udp_socket,
143 struct PP_NetAddress_Private* addr);
144 int32_t (*RecvFrom)(PP_Resource udp_socket,
145 char* buffer,
146 int32_t num_bytes,
147 struct PP_CompletionCallback callback);
148 PP_Bool (*GetRecvFromAddress)(PP_Resource udp_socket,
149 struct PP_NetAddress_Private* addr);
150 int32_t (*SendTo)(PP_Resource udp_socket,
151 const char* buffer,
152 int32_t num_bytes,
153 const struct PP_NetAddress_Private* addr,
154 struct PP_CompletionCallback callback);
155 void (*Close)(PP_Resource udp_socket);
156 };
100 /** 157 /**
101 * @} 158 * @}
102 */ 159 */
103 160
104 #endif /* PPAPI_C_PRIVATE_PPB_UDP_SOCKET_PRIVATE_H_ */ 161 #endif /* PPAPI_C_PRIVATE_PPB_UDP_SOCKET_PRIVATE_H_ */
105 162
OLDNEW
« no previous file with comments | « ppapi/api/private/ppb_udp_socket_private.idl ('k') | ppapi/cpp/private/udp_socket_private.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698