mpropwrite.c
1 /* 2 EIB Demo program - write property 3 Copyright (C) 2005-2011 Martin Koegler <mkoegler@auto.tuwien.ac.at> 4 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. 9 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. 14 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. 18 */ 19 #include "common.h" 20 21 int 22 main (int ac, char *ag[]) 23 { 24 int len, obj, prop, start, nr_of_elem; 25 EIBConnection *con; 26 uint8_t buf[255]; 27 uint8_t res[255]; 28 eibaddr_t dest; 29 char *prog = ag[0]; 30 31 parseKey (&ac, &ag); 32 if (ac < 7) 33 die 34 ("usage: %s [-k key] url eibaddr obj prop start nr_of_elem [xx xx ..]", 35 prog); 36 con = EIBSocketURL (ag[1]); 37 if (!con) 38 die ("Open failed"); 39 dest = readaddr (ag[2]); 40 obj = atoi (ag[3]); 41 prop = atoi (ag[4]); 42 start = atoi (ag[5]); 43 nr_of_elem = atoi (ag[6]); 44 len = readBlock (buf, sizeof (buf), ac - 7, ag + 7); 45 46 if (EIB_MC_Connect (con, dest) == -1) 47 die ("Connect failed"); 48 auth (con); 49 50 printf ("Write: "); 51 printHex (len, buf); 52 printf ("\n"); 53 len = 54 EIB_MC_PropertyWrite (con, obj, prop, start, nr_of_elem, len, buf, 55 sizeof (res), res); 56 if (len == -1) 57 die ("Write failed"); 58 printHex (len, res); 59 60 EIBClose (con); 61 return 0; 62 }