d7a83f5b66672da171ade833b57cf29ce209ce24
[vlc.git] / include / announce.h
1 /*****************************************************************************
2  * announce.h : Session announcement
3  *****************************************************************************
4  * Copyright (C) 2002 VideoLAN
5  * $Id: announce.h,v 1.3 2003/06/12 11:37:48 zorglub Exp $
6  *
7  * Authors: Christophe Massiot <massiot@via.ecp.fr>
8  *          Laurent Aimar <fenrir@via.ecp.fr>
9  *          Eric Petit <titer@videolan.org>
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
24  *****************************************************************************/
25
26 /*****************************************************************************
27  * sap_session_t: SAP Session descriptor
28  *****************************************************************************/
29
30 #if defined( UNDER_CE )
31 #   include <winsock.h>
32 #elif defined( WIN32 )
33 #   include <winsock2.h>
34 #   include <ws2tcpip.h>
35 #   define close closesocket
36 #else
37 #   include <netdb.h>                                         /* hostent ... */
38 #   include <sys/socket.h>
39 #   include <netinet/in.h>
40 #   ifdef HAVE_ARPA_INET_H
41 #       include <arpa/inet.h>                    /* inet_ntoa(), inet_aton() */
42 #   endif
43 #endif
44
45 #ifdef HAVE_SYS_TYPES_H
46 #   include <sys/types.h>
47 #endif
48
49
50 struct sap_session_t
51 {
52         char psz_url[256];
53         char psz_name[1024];
54         char psz_port[8];
55         module_t p_network;
56         unsigned int socket;
57         unsigned int sendnow;
58         struct sockaddr_in addr;
59 };
60
61
62
63 /*****************************************************************************
64  * Prototypes
65  *****************************************************************************/
66 VLC_EXPORT( sap_session_t *,            sout_SAPNew,         ( sout_instance_t *,char * , char * , char * ) );
67 VLC_EXPORT( void,            sout_SAPSend,        ( sout_instance_t *,sap_session_t * ) );
68 VLC_EXPORT( void,            sout_SAPDelete,      ( sout_instance_t *,sap_session_t * ) );