mread.c
1 /* 2 EIB Demo program - read device memory 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, addr; 25 EIBConnection *con; 26 uint8_t buf[255]; 27 eibaddr_t dest; 28 char *prog = ag[0]; 29 30 parseKey (&ac, &ag); 31 if (ac != 5) 32 die ("usage: %s url [-k key] eibaddr addr count", prog); 33 con = EIBSocketURL (ag[1]); 34 if (!con) 35 die ("Open failed"); 36 dest = readaddr (ag[2]); 37 addr = readHex (ag[3]); 38 len = atoi (ag[4]); 39 40 if (EIB_MC_Connect (con, dest) == -1) 41 die ("Connect failed"); 42 auth (con); 43 44 len = EIB_MC_Read (con, addr, len, buf); 45 if (len == -1) 46 die ("Read failed"); 47 printHex (len, buf); 48 49 EIBClose (con); 50 return 0; 51 }