Add missing files
[bcusdk.git] / eibd / examples / mpropscan.c
blobbcf8b1c1d7be98e896e8a9f77087d52480dd1edb
1 /*
2 EIB Demo program - list properties
3 Copyright (C) 2005-2011 Martin Koegler <mkoegler@auto.tuwien.ac.at>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #include "common.h"
21 int
22 main (int ac, char *ag[])
24 uchar buf[10000];
25 int len;
26 int i;
27 EIBConnection *con;
28 eibaddr_t dest;
29 char *prog = ag[0];
31 parseKey (&ac, &ag);
32 if (ac != 3)
33 die ("usage: %s [-k key] url eibaddr", prog);
34 con = EIBSocketURL (ag[1]);
35 if (!con)
36 die ("Open failed");
37 dest = readaddr (ag[2]);
39 if (EIB_MC_Connect (con, dest) == -1)
40 die ("Connect failed");
41 auth (con);
43 len = EIB_MC_PropertyScan (con, sizeof (buf), buf);
44 if (len == -1)
45 die ("Read failed");
46 for (i = 0; i < len; i += 6)
47 if (buf[i + 1] == 1 && buf[i + 2] == 4)
48 printf ("Obj: %d Property: %d Type: %d Objtype:%d Access:%02X\n",
49 buf[i + 0], buf[i + 1], buf[i + 2],
50 (buf[i + 3] << 8) | buf[i + 4], buf[i + 5]);
51 else
52 printf ("Obj: %d Property: %d Type: %d Count:%d Access:%02X\n",
53 buf[i + 0], buf[i + 1], buf[i + 2],
54 (buf[i + 3] << 8) | buf[i + 4], buf[i + 5]);
56 EIBClose (con);
57 return 0;