Bumping manifests a=b2g-bump
[gecko.git] / dom / network / PUDPSocket.ipdl
blob215d8f4e4e02eaaed5aab7d604898b090f8403a2
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 include protocol PNecko;
9 include protocol PBlob;
10 include InputStreamParams;
12 include "mozilla/net/NeckoMessageUtils.h";
13 include "mozilla/net/DNS.h";
14 include "prio.h";
16 using mozilla::net::NetAddr from "mozilla/net/DNS.h";
17 using struct mozilla::void_t from "ipc/IPCMessageUtils.h";
19 struct UDPAddressInfo {
20   nsCString addr;
21   uint16_t port;
24 union UDPSocketAddr {
25   UDPAddressInfo;
26   NetAddr;
29 union UDPData {
30   uint8_t[];
31   InputStreamParams;
34 namespace mozilla {
35 namespace net {
37 //-------------------------------------------------------------------
38 protocol PUDPSocket
40   manager PNecko;
42 parent:
43   Bind(UDPAddressInfo addressInfo, bool addressReuse, bool loopback);
45   OutgoingData(UDPData data, UDPSocketAddr addr);
47   JoinMulticast(nsCString multicastAddress, nsCString iface);
48   LeaveMulticast(nsCString multicastAddress, nsCString iface);
50   Close();
52   RequestDelete();
54 child:
55   CallbackOpened(UDPAddressInfo addressInfo);
56   CallbackClosed();
57   CallbackReceivedData(UDPAddressInfo addressInfo, uint8_t[] data);
58   CallbackError(nsCString message, nsCString filename, uint32_t lineNumber);
59   __delete__();
63 } // namespace net
64 } // namespace mozilla