/ src / examples / groupsocketwrite.c
groupsocketwrite.c
 1  /*
 2      EIB Demo program - send A_GroupValue_Write
 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;
25    EIBConnection *con;
26    eibaddr_t dest;
27    uint8_t buf[255] = { 0, 0x80 };
28  
29    if (ac < 4)
30      die ("usage: %s url eibaddr val val ...", ag[0]);
31    con = EIBSocketURL (ag[1]);
32    if (!con)
33      die ("Open failed");
34    dest = readgaddr (ag[2]);
35    len = readBlock (buf + 2, sizeof (buf) - 2, ac - 3, ag + 3);
36  
37    if (EIBOpen_GroupSocket (con, 1) == -1)
38      die ("Connect failed");
39  
40    len = EIBSendGroup (con, dest, 2 + len, buf);
41    if (len == -1)
42      die ("Request failed");
43    printf ("Send request\n");
44  
45    EIBClose (con);
46    return 0;
47  }