]> git.sesse.net Git - vlc/blob - modules/stream_out/announce.h
* ALL: Better announce system
[vlc] / modules / stream_out / announce.h
1 /*****************************************************************************
2  * announce.h : Session announcement
3  *****************************************************************************
4  * Copyright (C) 2002 VideoLAN
5  * $Id$
6  *
7  * Authors: ClĂ©ment Stenac <zorglub@via.ecp.fr>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
22  *****************************************************************************/
23
24 /*****************************************************************************
25  * Preamble
26  *****************************************************************************/
27
28 #if defined( UNDER_CE )
29 #   include <winsock.h>
30 #elif defined( WIN32 )
31 #   include <winsock2.h>
32 #   include <ws2tcpip.h>
33 #   define close closesocket
34 #else
35 #   include <netdb.h>                                         /* hostent ... */
36 #   include <sys/socket.h>
37 #   include <netinet/in.h>
38 #   ifdef HAVE_ARPA_INET_H
39 #       include <arpa/inet.h>                    /* inet_ntoa(), inet_aton() */
40 #   endif
41 #endif
42
43 #ifdef HAVE_SLP_H
44 #   include <slp.h>
45 #endif
46
47 #ifdef HAVE_SYS_TYPES_H
48 #   include <sys/types.h>
49 #endif
50
51 /*****************************************************************************
52  * sap_session_t: SAP Session descriptor
53  *****************************************************************************/
54 struct sap_session_t2
55 {
56         char * psz_sdp;
57         module_t p_network;
58         unsigned int i_socket;
59         unsigned int i_calls;
60         int i_ip_version;
61 };
62
63 typedef struct sap_session_t2 sap_session_t2;
64 /*****************************************************************************
65  * slp_session_t: SLP Session descriptor
66  *****************************************************************************/
67 struct slp_session_t
68 {
69         char *psz_url;
70         char *psz_name;
71 };
72
73 typedef struct slp_session_t slp_session_t;
74
75 /*****************************************************************************
76  * Prototypes
77  *****************************************************************************/
78 sap_session_t2 *  sout_SAPNew        (sout_instance_t *, char * psz_sdp_arg,
79                                                       int ip_version,
80                                                       char * psz_v6_scope );
81
82 char * SDPGenerateUDP(char * ,char *);
83 void             sout_SAPDelete     (sout_instance_t *,sap_session_t2*);
84 void             sout_SAPSend       (sout_instance_t *,sap_session_t2 *);
85 int              sout_SLPReg        (sout_instance_t *,char *,char *);
86 int              sout_SLPDereg      (sout_instance_t *,char *,char *);
87
88 /*
89 VLC_EXPORT( sap_session_t *, sout_SAPNew, ( sout_instance_t *,char * , char * , int , char *) );
90 VLC_EXPORT( void, sout_SAPSend, ( sout_instance_t *,sap_session_t *) );
91 VLC_EXPORT( void, sout_SAPDelete, ( sout_instance_t *,sap_session_t * ) );
92
93 VLC_EXPORT( int, sout_SLPReg, (sout_instance_t*,char*,char*) );
94 VLC_EXPORT( int, sout_SLPDereg, (sout_instance_t*,char*,char*) );*/