net_udp.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:3k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * FILE:    net_udp.h
  3.  * AUTHORS: Colin Perkins
  4.  * 
  5.  * Copyright (c) 1998-2000 University College London
  6.  * All rights reserved.
  7.  *
  8.  * Redistribution and use in source and binary forms, with or without
  9.  * modification, is permitted provided that the following conditions 
  10.  * are met:
  11.  * 1. Redistributions of source code must retain the above copyright
  12.  *    notice, this list of conditions and the following disclaimer.
  13.  * 2. Redistributions in binary form must reproduce the above copyright
  14.  *    notice, this list of conditions and the following disclaimer in the
  15.  *    documentation and/or other materials provided with the distribution.
  16.  * 3. All advertising materials mentioning features or use of this software
  17.  *    must display the following acknowledgement:
  18.  *      This product includes software developed by the Computer Science
  19.  *      Department at University College London
  20.  * 4. Neither the name of the University nor of the Department may be used
  21.  *    to endorse or promote products derived from this software without
  22.  *    specific prior written permission.
  23.  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
  24.  * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  25.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  26.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
  27.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  28.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  29.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  30.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  31.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  32.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  33.  * SUCH DAMAGE.
  34.  */
  35. #ifndef _NET_UDP
  36. #define _NET_UDP
  37. typedef struct _socket_udp socket_udp; 
  38. #if defined(__cplusplus)
  39. extern "C" {
  40. #endif
  41. int         udp_addr_valid(const char *addr);
  42. socket_udp *udp_init(const char *addr, uint16_t rx_port, uint16_t tx_port, int ttl);
  43. socket_udp *udp_init_if(const char *addr, const char *iface, uint16_t rx_port, uint16_t tx_port, int ttl);
  44. void        udp_exit(socket_udp *s);
  45. int         udp_send(socket_udp *s, uint8_t *buffer, int buflen);
  46. #ifndef _WIN32
  47. int udp_send_iov(socket_udp *s, struct iovec *iov, int count);
  48. #endif
  49. int         udp_recv(socket_udp *s, uint8_t *buffer, int buflen);
  50. char *udp_host_addr(socket_udp *s);
  51. int         udp_fd(socket_udp *s);
  52. int         udp_select(struct timeval *timeout);
  53. void        udp_fd_zero(void);
  54. void        udp_fd_set(socket_udp *s);
  55. int         udp_fd_isset(socket_udp *s);
  56. #if defined(__cplusplus)
  57. }
  58. #endif
  59. #endif