blob: 8424fe153a2b107b42cb4bde0e8cdce3cda1f997 [file] [log] [blame]
[email protected]6c54e7e42011-03-02 20:52:341// Copyright (c) 2011 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// IPC messages for the P2P Transport API.
[email protected]db803aae2011-03-05 02:00:426// Multiply-included message file, hence no include guard.
[email protected]6c54e7e42011-03-02 20:52:347
8#include "content/common/p2p_sockets.h"
9#include "ipc/ipc_message_macros.h"
10
11#define IPC_MESSAGE_START P2PMsgStart
12
[email protected]db803aae2011-03-05 02:00:4213IPC_STRUCT_TRAITS_BEGIN(P2PSocketAddress)
14 IPC_STRUCT_TRAITS_MEMBER(address)
15 IPC_STRUCT_TRAITS_MEMBER(port)
16IPC_STRUCT_TRAITS_END()
17
18IPC_ENUM_TRAITS(P2PSocketType)
19
[email protected]6c54e7e42011-03-02 20:52:3420// P2P Socket messages sent from the browser to the renderer.
21
22IPC_MESSAGE_ROUTED2(P2PMsg_OnSocketCreated,
23 int /* socket_id */,
24 P2PSocketAddress /* socket_address */)
25
26IPC_MESSAGE_ROUTED1(P2PMsg_OnError,
27 int /* socket_id */)
28
29IPC_MESSAGE_ROUTED3(P2PMsg_OnDataReceived,
30 int /* socket_id */,
31 P2PSocketAddress /* socket_address */,
32 std::vector<char> /* data */)
33
34// P2P Socket messages sent from the renderer to the browser.
35
36IPC_MESSAGE_ROUTED3(P2PHostMsg_CreateSocket,
37 P2PSocketType /* type */,
38 int /* socket_id */,
39 P2PSocketAddress /* remote_address */)
40
41// TODO(sergeyu): Use shared memory to pass the data.
42IPC_MESSAGE_ROUTED3(P2PHostMsg_Send,
43 int /* socket_id */,
44 P2PSocketAddress /* socket_address */,
45 std::vector<char> /* data */)
46
47IPC_MESSAGE_ROUTED1(P2PHostMsg_DestroySocket,
48 int /* socket_id */)