src/tcp.h
author Tero Marttila <terom@fixme.fi>
Thu, 21 May 2009 16:57:56 +0300
changeset 213 f0e52e026197
parent 177 a74b55104fb9
permissions -rw-r--r--
implement lua_console_on_interrupt to abort any executing thread
#ifndef TCP_H
#define TCP_H

/**
 * @file
 *
 * TCP transport/service implementation.
 *
 * XXX: provide some TCP-specific type/functions?
 */
#include "transport.h"
#include "service.h"

/**
 * Connect the given transport via TCP to the given host/service. The transport will not be ready for use until the
 * transport_callbacks::on_connect callback has been invoked.
 *
 * XXX: blocking DNS resolution
 *
 * @param info the transport setup info
 * @param transport_ptr returned transport
 * @param host the hostname to connect to
 * @param service the service name (i.e. port) to connect to
 * @param err returned error info
 */
err_t tcp_connect (const struct transport_info *info, transport_t **transport_ptr, 
        const char *host, const char *service, error_t *err);

/**
 * Create a passive/listening TCP socket on the given interface/port (NULL to pick automatically).
 */
err_t tcp_listen (const struct service_info *info, service_t **service_ptr, 
        const char *interface, const char *service, error_t *err);

#endif