1 /* $Id: minissdpc.h,v 1.6 2015/09/18 12:45:16 nanard Exp $ */
2 /* Project: miniupnp
3  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4  * Author: Thomas Bernard
5  * Copyright (c) 2005-2015 Thomas Bernard
6  * This software is subjects to the conditions detailed
7  * in the LICENCE file provided within this distribution */
8 #ifndef MINISSDPC_H_INCLUDED
9 #define MINISSDPC_H_INCLUDED
10 
11 #include "miniupnpc_declspec.h"
12 #include "upnpdev.h"
13 
14 /* error codes : */
15 #define MINISSDPC_SUCCESS (0)
16 #define MINISSDPC_UNKNOWN_ERROR (-1)
17 #define MINISSDPC_SOCKET_ERROR (-101)
18 #define MINISSDPC_MEMORY_ERROR (-102)
19 #define MINISSDPC_INVALID_INPUT (-103)
20 #define MINISSDPC_INVALID_SERVER_REPLY (-104)
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #if !(defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__))
27 
28 MINIUPNP_LIBSPEC struct UPNPDev *
29 getDevicesFromMiniSSDPD(const char * devtype, const char * socketpath, int * error);
30 
31 MINIUPNP_LIBSPEC int
32 connectToMiniSSDPD(const char * socketpath);
33 
34 MINIUPNP_LIBSPEC int
35 disconnectFromMiniSSDPD(int s);
36 
37 MINIUPNP_LIBSPEC int
38 requestDevicesFromMiniSSDPD(int s, const char * devtype);
39 
40 MINIUPNP_LIBSPEC struct UPNPDev *
41 receiveDevicesFromMiniSSDPD(int s, int * error);
42 
43 #endif /* !(defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__)) */
44 
45 MINIUPNP_LIBSPEC struct UPNPDev *
46 ssdpDiscoverDevices(const char * const deviceTypes[],
47                     int delay, const char * multicastif,
48                     int localport,
49                     int ipv6, unsigned char ttl,
50                     int * error,
51                     int searchalltypes);
52 
53 #ifdef __cplusplus
54 }
55 #endif
56 
57 #endif
58 
59