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

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: Fixed comments. Created 8 years, 4 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
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 Tue Aug 7 18:29:38 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 int32_t (*SetSocketFeature)(PP_Resource udp_socket,
66 PP_UDPSocketFeature_Private name,
67 struct PP_Var value,
68 struct PP_CompletionCallback callback);
42 /* Creates a socket and binds to the address given by |addr|. */ 69 /* Creates a socket and binds to the address given by |addr|. */
43 int32_t (*Bind)(PP_Resource udp_socket, 70 int32_t (*Bind)(PP_Resource udp_socket,
44 const struct PP_NetAddress_Private* addr, 71 const struct PP_NetAddress_Private* addr,
45 struct PP_CompletionCallback callback); 72 struct PP_CompletionCallback callback);
46 /* Returns the address that the socket has bound to. A successful 73 /* Returns the address that the socket has bound to. A successful
47 * call to Bind must be called first. Returns PP_FALSE if Bind 74 * call to Bind must be called first. Returns PP_FALSE if Bind
48 * fails, or if Close has been called. 75 * fails, or if Close has been called.
49 */ 76 */
50 PP_Bool (*GetBoundAddress)(PP_Resource udp_socket, 77 PP_Bool (*GetBoundAddress)(PP_Resource udp_socket,
51 struct PP_NetAddress_Private* addr); 78 struct PP_NetAddress_Private* addr);
(...skipping 17 matching lines...) Expand all
69 */ 96 */
70 int32_t (*SendTo)(PP_Resource udp_socket, 97 int32_t (*SendTo)(PP_Resource udp_socket,
71 const char* buffer, 98 const char* buffer,
72 int32_t num_bytes, 99 int32_t num_bytes,
73 const struct PP_NetAddress_Private* addr, 100 const struct PP_NetAddress_Private* addr,
74 struct PP_CompletionCallback callback); 101 struct PP_CompletionCallback callback);
75 /* Cancels all pending reads and writes, and closes the socket. */ 102 /* Cancels all pending reads and writes, and closes the socket. */
76 void (*Close)(PP_Resource udp_socket); 103 void (*Close)(PP_Resource udp_socket);
77 }; 104 };
78 105
79 typedef struct PPB_UDPSocket_Private_0_3 PPB_UDPSocket_Private; 106 typedef struct PPB_UDPSocket_Private_0_4 PPB_UDPSocket_Private;
80 107
81 struct PPB_UDPSocket_Private_0_2 { 108 struct PPB_UDPSocket_Private_0_2 {
82 PP_Resource (*Create)(PP_Instance instance_id); 109 PP_Resource (*Create)(PP_Instance instance_id);
83 PP_Bool (*IsUDPSocket)(PP_Resource resource_id); 110 PP_Bool (*IsUDPSocket)(PP_Resource resource_id);
84 int32_t (*Bind)(PP_Resource udp_socket, 111 int32_t (*Bind)(PP_Resource udp_socket,
85 const struct PP_NetAddress_Private* addr, 112 const struct PP_NetAddress_Private* addr,
86 struct PP_CompletionCallback callback); 113 struct PP_CompletionCallback callback);
87 int32_t (*RecvFrom)(PP_Resource udp_socket, 114 int32_t (*RecvFrom)(PP_Resource udp_socket,
88 char* buffer, 115 char* buffer,
89 int32_t num_bytes, 116 int32_t num_bytes,
90 struct PP_CompletionCallback callback); 117 struct PP_CompletionCallback callback);
91 PP_Bool (*GetRecvFromAddress)(PP_Resource udp_socket, 118 PP_Bool (*GetRecvFromAddress)(PP_Resource udp_socket,
92 struct PP_NetAddress_Private* addr); 119 struct PP_NetAddress_Private* addr);
93 int32_t (*SendTo)(PP_Resource udp_socket, 120 int32_t (*SendTo)(PP_Resource udp_socket,
94 const char* buffer, 121 const char* buffer,
95 int32_t num_bytes, 122 int32_t num_bytes,
96 const struct PP_NetAddress_Private* addr, 123 const struct PP_NetAddress_Private* addr,
97 struct PP_CompletionCallback callback); 124 struct PP_CompletionCallback callback);
98 void (*Close)(PP_Resource udp_socket); 125 void (*Close)(PP_Resource udp_socket);
99 }; 126 };
127
128 struct PPB_UDPSocket_Private_0_3 {
129 PP_Resource (*Create)(PP_Instance instance_id);
130 PP_Bool (*IsUDPSocket)(PP_Resource resource_id);
131 int32_t (*Bind)(PP_Resource udp_socket,
132 const struct PP_NetAddress_Private* addr,
133 struct PP_CompletionCallback callback);
134 PP_Bool (*GetBoundAddress)(PP_Resource udp_socket,
135 struct PP_NetAddress_Private* addr);
136 int32_t (*RecvFrom)(PP_Resource udp_socket,
137 char* buffer,
138 int32_t num_bytes,
139 struct PP_CompletionCallback callback);
140 PP_Bool (*GetRecvFromAddress)(PP_Resource udp_socket,
141 struct PP_NetAddress_Private* addr);
142 int32_t (*SendTo)(PP_Resource udp_socket,
143 const char* buffer,
144 int32_t num_bytes,
145 const struct PP_NetAddress_Private* addr,
146 struct PP_CompletionCallback callback);
147 void (*Close)(PP_Resource udp_socket);
148 };
100 /** 149 /**
101 * @} 150 * @}
102 */ 151 */
103 152
104 #endif /* PPAPI_C_PRIVATE_PPB_UDP_SOCKET_PRIVATE_H_ */ 153 #endif /* PPAPI_C_PRIVATE_PPB_UDP_SOCKET_PRIVATE_H_ */
105 154
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698