Annotation of embedaddon/miniupnpd/miniupnpc-libuv/example.c, revision 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>