Annotation of embedaddon/miniupnpd/miniupnpc-libuv/example.c, revision 1.1.1.1
1.1 misho 1: #include <stdio.h>
2: #include <string.h>
3: #include <stdlib.h>
4: #include "minissdpc-libuv.h"
5: #include <uv.h>
6:
7: void requestFinish2(void* session, void* userdata, struct UPNPDev* upnpdev)
8: {
9: struct UPNPDev* it;
10: (void)userdata;
11:
12: for(it = upnpdev; it != NULL; it = it->pNext) {
13: printf("url = %s\n", it->descURL);
14: printf("st = %s\n", it->st);
15: printf("usn = %s\n", it->usn);
16: printf("\n");
17: }
18: disconnectFromMiniSSDPD((uv_stream_t*)session);
19: }
20:
21: void requestFinish(void* session, int success, void* userdata)
22: {
23: (void)userdata;
24: if (success == 0)
25: {
26: printf("Error while requesting results.\n");
27: return;
28: }
29: receiveDevicesFromMiniSSDPD(session, &requestFinish2, NULL);
30: }
31:
32: void connect_cb(void* session, void* userdata)
33: {
34: if (session == 0) {
35: printf("Error while connecting\n");
36: return;
37: }
38:
39: char* search = userdata;
40:
41: int ret;
42: if ((ret = requestDevicesFromMiniSSDPD(session, search, &requestFinish, NULL)) != MINISSDPC_SUCCESS) {
43: printf("Error while requesting devices\n");
44: if (ret == MINISSDPC_INVALID_INPUT)
45: printf("Invalid input!!\n");
46: else if (ret == MINISSDPC_MEMORY_ERROR)
47: printf("Can't malloc?\n");
48: }
49: }
50:
51: int main(int argc, char *argv[])
52: {
53: char* pipeName;
54: char* search;
55:
56: if (argc < 3) {
57: printf("Usage: %s </path/to/minissdpd.socket> <device>\n", argv[0]);
58: printf(" ssdp:all for all devices\n");
59: return 1;
60: }
61: pipeName = argv[1];
62: search = argv[2];
63: connectToMiniSSDPD(pipeName, &connect_cb, search);
64: uv_run(uv_default_loop(), UV_RUN_DEFAULT);
65: return 0;
66: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>