1/* $Id: upnpevents.h,v 1.9 2011/05/18 22:21:19 nanard Exp $ */
2/* MiniUPnP project
3 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4 * (c) 2008-2011 Thomas Bernard
5 * This software is subject to the conditions detailed
6 * in the LICENCE file provided within the distribution */
7
8#ifndef UPNPEVENTS_H_INCLUDED
9#define UPNPEVENTS_H_INCLUDED
10
11#include "config.h"
12
13#ifdef ENABLE_EVENTS
14enum subscriber_service_enum {
15 EWanCFG = 1,
16 EWanIPC,
17#ifdef ENABLE_L3F_SERVICE
18 EL3F,
19#endif
20#ifdef ENABLE_6FC_SERVICE
21 E6FC,
22#endif
23#ifdef ENABLE_DP_SERVICE
24 EDP,
25#endif
26};
27
28void
29upnp_event_var_change_notify(enum subscriber_service_enum service);
30
31const char *
32upnpevents_addSubscriber(const char * eventurl,
33                         const char * callback, int callbacklen,
34                         int timeout);
35
36int
37upnpevents_removeSubscriber(const char * sid, int sidlen);
38
39int
40renewSubscription(const char * sid, int sidlen, int timeout);
41
42void upnpevents_selectfds(fd_set *readset, fd_set *writeset, int * max_fd);
43void upnpevents_processfds(fd_set *readset, fd_set *writeset);
44
45#ifdef USE_MINIUPNPDCTL
46void write_events_details(int s);
47#endif
48
49#endif
50#endif
51