// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef NET_SOCKET_SOCKET_NET_LOG_PARAMS_H_
#define NET_SOCKET_SOCKET_NET_LOG_PARAMS_H_
#include "net/base/net_log.h"
#include "net/base/sys_addrinfo.h"
namespace net {
class HostPortPair;
class IPEndPoint;
// Creates a NetLog callback for socket error events.
NetLog::ParametersCallback CreateNetLogSocketErrorCallback(int net_error,
int os_error);
// Creates a NetLog callback for a HostPortPair.
// |host_and_port| must remain valid for the lifetime of the returned callback.
NetLog::ParametersCallback CreateNetLogHostPortPairCallback(
const HostPortPair* host_and_port);
// Creates a NetLog callback for an IPEndPoint.
// |address| must remain valid for the lifetime of the returned callback.
NetLog::ParametersCallback CreateNetLogIPEndPointCallback(
const IPEndPoint* address);
// Creates a NetLog callback for the source sockaddr on connect events.
// |net_address| must remain valid for the lifetime of the returned callback.
NetLog::ParametersCallback CreateNetLogSourceAddressCallback(
const struct sockaddr* net_address,
socklen_t address_len);
} // namespace net
#endif // NET_SOCKET_SOCKET_NET_LOG_PARAMS_H_