emcd.h 1.43 KB
Newer Older
Timothy Stack's avatar
Timothy Stack committed
1 2
/*
 * Copyright (c) 2005 University of Utah and the Flux Group.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
 * 
 * {{{EMULAB-LICENSE
 * 
 * This file is part of the Emulab network testbed software.
 * 
 * This file is free software: you can redistribute it and/or modify it
 * under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or (at
 * your option) any later version.
 * 
 * This file is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
 * License for more details.
 * 
 * You should have received a copy of the GNU Affero General Public License
 * along with this file.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * }}}
Timothy Stack's avatar
Timothy Stack committed
22
 */
23

24 25 26
#ifndef __EMCD_H__
#define __EMCD_H__

27 28
#include "mtp.h"

29 30 31 32 33 34 35 36
enum {
  ERB_HAS_GOAL,
};

enum {
  ERF_HAS_GOAL = (1L << ERB_HAS_GOAL),
};

37 38 39 40 41
struct emc_robot_config {
  int id;
  char *hostname;
  char *vname;
  struct in_addr ia;
42
  int token;
43 44 45
  float init_x;
  float init_y;
  float init_theta;
46
  struct robot_position last_update_pos;
47 48
  struct robot_position last_goal_pos;
  unsigned long flags;
49 50
};

51
struct rmc_client {
52
  mtp_handle_t handle;
53 54 55 56
  struct robot_list *position_list;
};

struct vmc_client {
57
  mtp_handle_t handle;
58 59
  struct robot_list *position_list;
};
60

61
#define EMC_SERVER_PORT 2525
62

63
#define EMC_UPDATE_HZ (333)
64

65
#endif