| Index: ppapi/c/ppb_udp_socket.h
|
| diff --git a/ppapi/c/ppb_udp_socket.h b/ppapi/c/ppb_udp_socket.h
|
| index 17f349af1c24da8057fa79a4af45b31d8069dfb5..d25de17b272eee7b6702d5da05b87cf4d23cbace 100644
|
| --- a/ppapi/c/ppb_udp_socket.h
|
| +++ b/ppapi/c/ppb_udp_socket.h
|
| @@ -3,7 +3,7 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| -/* From ppb_udp_socket.idl modified Wed Jan 14 13:13:19 2015. */
|
| +/* From ppb_udp_socket.idl modified Mon Mar 2 16:50:15 2015. */
|
|
|
| #ifndef PPAPI_C_PPB_UDP_SOCKET_H_
|
| #define PPAPI_C_PPB_UDP_SOCKET_H_
|
| @@ -18,6 +18,7 @@
|
|
|
| #define PPB_UDPSOCKET_INTERFACE_1_0 "PPB_UDPSocket;1.0"
|
| #define PPB_UDPSOCKET_INTERFACE_1_1 "PPB_UDPSocket;1.1"
|
| +#define PPB_UDPSOCKET_INTERFACE_1_2 "PPB_UDPSocket;1.2" /* dev */
|
| #define PPB_UDPSOCKET_INTERFACE PPB_UDPSOCKET_INTERFACE_1_1
|
|
|
| /**
|
| @@ -70,7 +71,26 @@ typedef enum {
|
| * size. Even if <code>SetOption()</code> succeeds, the browser doesn't
|
| * guarantee it will conform to the size.
|
| */
|
| - PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE = 3
|
| + PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE = 3,
|
| + /**
|
| + * Specifies whether the packets sent from the host to the multicast group
|
| + * should be looped back to the host or not. Value's type should be
|
| + * <code>PP_VARTYPE_BOOL</code>.
|
| + * This option can only be set before calling <code>Bind()</code>.
|
| + *
|
| + * This is only supported in version 1.2 of the API (Chrome 43) and later.
|
| + */
|
| + PP_UDPSOCKET_OPTION_MULTICAST_LOOP = 4,
|
| + /**
|
| + * Specifies the time-to-live for packets sent to the multicast group. The
|
| + * value should be within 0 to 255 range. The default value is 1 and means
|
| + * that packets will not be routed beyond the local network. Value's type
|
| + * should be <code>PP_VARTYPE_INT32</code>.
|
| + * This option can only be set before calling <code>Bind()</code>.
|
| + *
|
| + * This is only supported in version 1.2 of the API (Chrome 43) and later.
|
| + */
|
| + PP_UDPSOCKET_OPTION_MULTICAST_TTL = 5
|
| } PP_UDPSocket_Option;
|
| PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_UDPSocket_Option, 4);
|
| /**
|
| @@ -90,7 +110,7 @@ PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_UDPSocket_Option, 4);
|
| * For more details about network communication permissions, please see:
|
| * http://developer.chrome.com/apps/app_network.html
|
| */
|
| -struct PPB_UDPSocket_1_1 {
|
| +struct PPB_UDPSocket_1_2 { /* dev */
|
| /**
|
| * Creates a UDP socket resource.
|
| *
|
| @@ -215,10 +235,40 @@ struct PPB_UDPSocket_1_1 {
|
| PP_UDPSocket_Option name,
|
| struct PP_Var value,
|
| struct PP_CompletionCallback callback);
|
| + /**
|
| + * Joins the multicast group with address specified by <code>group</code>
|
| + * parameter, which is expected to be a <code>PPB_NetAddress</code> object.
|
| + *
|
| + * @param[in] udp_socket A <code>PP_Resource</code> corresponding to a UDP
|
| + * socket.
|
| + * @param[in] group A <code>PP_Resource</code> corresponding to the network
|
| + * address of the multicast group.
|
| + * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
|
| + * completion.
|
| + *
|
| + * @return An int32_t containing an error code from <code>pp_errors.h</code>.
|
| + */
|
| + int32_t (*JoinGroup)(PP_Resource udp_socket,
|
| + PP_Resource group,
|
| + struct PP_CompletionCallback callback);
|
| + /**
|
| + * Leaves the multicast group with address specified by <code>group</code>
|
| + * parameter, which is expected to be a <code>PPB_NetAddress</code> object.
|
| + *
|
| + * @param[in] udp_socket A <code>PP_Resource</code> corresponding to a UDP
|
| + * socket.
|
| + * @param[in] group A <code>PP_Resource</code> corresponding to the network
|
| + * address of the multicast group.
|
| + * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
|
| + * completion.
|
| + *
|
| + * @return An int32_t containing an error code from <code>pp_errors.h</code>.
|
| + */
|
| + int32_t (*LeaveGroup)(PP_Resource udp_socket,
|
| + PP_Resource group,
|
| + struct PP_CompletionCallback callback);
|
| };
|
|
|
| -typedef struct PPB_UDPSocket_1_1 PPB_UDPSocket;
|
| -
|
| struct PPB_UDPSocket_1_0 {
|
| PP_Resource (*Create)(PP_Instance instance);
|
| PP_Bool (*IsUDPSocket)(PP_Resource resource);
|
| @@ -242,6 +292,32 @@ struct PPB_UDPSocket_1_0 {
|
| struct PP_Var value,
|
| struct PP_CompletionCallback callback);
|
| };
|
| +
|
| +struct PPB_UDPSocket_1_1 {
|
| + PP_Resource (*Create)(PP_Instance instance);
|
| + PP_Bool (*IsUDPSocket)(PP_Resource resource);
|
| + int32_t (*Bind)(PP_Resource udp_socket,
|
| + PP_Resource addr,
|
| + struct PP_CompletionCallback callback);
|
| + PP_Resource (*GetBoundAddress)(PP_Resource udp_socket);
|
| + int32_t (*RecvFrom)(PP_Resource udp_socket,
|
| + char* buffer,
|
| + int32_t num_bytes,
|
| + PP_Resource* addr,
|
| + struct PP_CompletionCallback callback);
|
| + int32_t (*SendTo)(PP_Resource udp_socket,
|
| + const char* buffer,
|
| + int32_t num_bytes,
|
| + PP_Resource addr,
|
| + struct PP_CompletionCallback callback);
|
| + void (*Close)(PP_Resource udp_socket);
|
| + int32_t (*SetOption)(PP_Resource udp_socket,
|
| + PP_UDPSocket_Option name,
|
| + struct PP_Var value,
|
| + struct PP_CompletionCallback callback);
|
| +};
|
| +
|
| +typedef struct PPB_UDPSocket_1_1 PPB_UDPSocket;
|
| /**
|
| * @}
|
| */
|
|
|