Commit 7dab055f authored by Michal Vaner's avatar Michal Vaner

Dummy implementation of the socket creator

Only empty functions, so it compiles at last.

git-svn-id: svn://bind10.isc.org/svn/bind10/branches/vorner-sockcreator@3121 e5f2f494-b856-4b98-b285-d166d9295462
parent 78533f09
SUBDIRS = tests
CLEANFILES = *.gcno *.gcda
pkglibexec_PROGRAMS = b10-sockcreator
b10_sockcreator_SOURCES = sockcreator.h
b10_sockcreator_SOURCES = sockcreator.cc sockcreator.h main.cc
#include "sockcreator.h"
using namespace isc::socket_creator;
int main() {
/*
* TODO Maybe use some OS-specific caps interface and drop everything
* but ability to bind ports? It would be nice.
*/
return run(0, 1); // Read commands from stdin, output to stdout
}
// Copyright (C) 2010 CZ NIC
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
#include "sockcreator.h"
namespace isc {
namespace socket_creator {
int
get_sock(const int type, struct sockaddr *bind_addr, const socklen_t addr_len)
{
// TODO Implement
}
int
send_fd(const int destination, const int payload) {
// TODO Steal
}
int
run(const int input_fd, const int output_fd, const get_sock_t get_sock,
const send_fd_t send_fd)
{
// TODO Implement
}
} // End of the namespaces
}
......@@ -41,17 +41,17 @@ namespace socket_creator {
* errno is set (or better, left intact from socket() or bind()).
* \param type The type of socket to create (SOCK_STREAM, SOCK_DGRAM, etc).
* \param bind_addr The address to bind.
* \param addrlen The actual length of bind_addr.
* \param addr_len The actual length of bind_addr.
*/
int
get_sock(const int type, struct sockaddr *bind_addr, const socklen_t addrlen);
get_sock(const int type, struct sockaddr *bind_addr, const socklen_t addr_len);
/**
* Type of the get_sock function, to pass it as parameter.
*/
typedef
int
(*get_sock_t)(const int, struct sockaddr, const socklen_t);
(*get_sock_t)(const int, struct sockaddr *, const socklen_t);
/**
* Sends a payload socket file descriptor to destination file descriptor.
......@@ -96,7 +96,7 @@ run(const int input_fd, const int output_fd,
const get_sock_t get_sock_fun = get_sock,
const send_fd_t send_fd_fun = send_fd);
}
} // End of the namespaces
}
#endif // __SOCKCREATOR_H
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment