Logo Search packages:      
Sourcecode: fair version File versions  Download package

sock.h

/******************************************************************************

      sock.h -- create and handle listening network sockets
      Copyright (C) 2004  Wessel Dankers <wsl@uvt.nl>

      This program is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
      the Free Software Foundation; either version 2 of the License, or
      (at your option) any later version.

      This program is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      GNU General Public License for more details.

      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

      $Id: sock.h 23144 2007-12-21 15:36:48Z wsl $
      $URL: https://infix.uvt.nl/its-id/trunk/sources/fair-0.5.1/src/sock.h $

******************************************************************************/

#ifndef SOCK_H
#define SOCK_H

#include <sys/socket.h>
#include <avl.h>

#include "fd.h"

typedef void (*accept_hook_t)(void *, int, const struct sockaddr *, socklen_t);

typedef struct listener {
      avl_node_t node;
      avl_tree_t fds;
      accept_hook_t func;
      void *data;
} listener_t;

extern unsigned int listener_count(void);
extern const char *listener_new_tcp(const char *, accept_hook_t, void *);
extern const char *listener_new_udp(const char *, fd_hook_t, void *);
extern void listener_delete(listener_t *);

#endif

Generated by  Doxygen 1.6.0   Back to index