map_messages.h

Go to the documentation of this file.
00001 /*********************************************************
00002  *
00003  * This source code is part of the Carnegie Mellon Robot
00004  * Navigation Toolkit (CARMEN)
00005  *
00006  * CARMEN Copyright (c) 2002 Michael Montemerlo, Nicholas
00007  * Roy, and Sebastian Thrun
00008  *
00009  * CARMEN is free software; you can redistribute it and/or 
00010  * modify it under the terms of the GNU General Public 
00011  * License as published by the Free Software Foundation; 
00012  * either version 2 of the License, or (at your option)
00013  * any later version.
00014  *
00015  * CARMEN is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied 
00017  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00018  * PURPOSE.  See the GNU General Public License for more 
00019  * details.
00020  *
00021  * You should have received a copy of the GNU General 
00022  * Public License along with CARMEN; if not, write to the
00023  * Free Software Foundation, Inc., 59 Temple Place, 
00024  * Suite 330, Boston, MA  02111-1307 USA
00025  *
00026  ********************************************************/
00027 
00028 
00030 // @{
00031 
00040 #ifndef CARMEN_MAP_MESSAGES_H
00041 #define CARMEN_MAP_MESSAGES_H
00042 
00043 #include <carmen/map.h>
00044 
00045 
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049 
00050 #define CARMEN_HMAP_REQUEST_NAME         "carmen_hmap_request"
00051 typedef carmen_default_message carmen_hmap_request_message;
00052 #define CARMEN_GRIDMAP_REQUEST_NAME      "carmen_gridmap_request"
00053 typedef carmen_default_message carmen_gridmap_request_message;
00054 #define CARMEN_PLACELIST_REQUEST_NAME    "carmen_placelist_request"
00055 typedef carmen_default_message carmen_placelist_request_message;
00056 #define CARMEN_OFFLIMITS_REQUEST_NAME    "carmen_offlimits_request"
00057 typedef carmen_default_message carmen_offlimits_request_message;
00058 
00059 typedef struct {
00060   carmen_hmap_t hmap;
00061   double timestamp;
00062   char *host;
00063 } carmen_hmap_message;
00064 
00065 #define CARMEN_MAP_HMAP_NAME "carmen_hmap_message"
00066 #define CARMEN_MAP_HMAP_FMT  "{{int, <string:1>, int, <{int, int, <int:2>, int, <{double, double, double}:4>}:3>},double,string}"
00067 
00068 typedef struct {
00069   unsigned char * map;
00070   int size;
00071   int compressed;
00072   carmen_map_config_t config;
00073   
00074   char *err_mesg;
00075 
00076   double timestamp;
00077   char *host;
00078 } carmen_grid_map_message;
00079 
00080 #define CARMEN_MAP_GRIDMAP_NAME    "carmen_grid_map_message"
00081 #define CARMEN_MAP_GRIDMAP_UPDATE_NAME    "carmen_grid_map_update_message"
00082 #define CARMEN_MAP_GRIDMAP_FMT     "{<char:2>, int, int, {int, int, double, string}, string, double, string}"
00083 
00084 
00085 
00086 typedef struct {
00087   char *name;
00088   double timestamp;
00089   char *host;
00090 } carmen_named_gridmap_request;
00091 
00092 #define CARMEN_NAMED_GRIDMAP_REQUEST_NAME    "carmen_named_gridmap_request"
00093 #define CARMEN_NAMED_GRIDMAP_REQUEST_FMT     "{string,double,string}"
00094 
00095 typedef struct {  
00096   carmen_place_p places;
00097   int num_places;
00098   double timestamp;
00099   char *host;
00100 } carmen_map_placelist_message;
00101 
00102 #define CARMEN_MAP_PLACELIST_NAME    "carmen_placelist_message"
00103 #define CARMEN_MAP_PLACELIST_FMT     "{<{int,int,[char:22],double,double,double,double,double,double}:2>,int,double,string}"
00104 
00105 typedef struct {
00106   char *name;
00107   double timestamp;
00108   char *host;
00109 } carmen_map_named_placelist_request;
00110 
00111 #define CARMEN_NAMED_PLACELIST_REQUEST_NAME    "carmen_named_placelist_request"
00112 #define CARMEN_NAMED_PLACELIST_REQUEST_FMT     "{string,double,string}"
00113 
00114 typedef struct {  
00115   carmen_offlimits_p offlimits_list;
00116   int list_length;
00117   double timestamp;
00118   char *host;
00119 } carmen_map_offlimits_message;
00120 
00121 #define CARMEN_MAP_OFFLIMITS_NAME    "carmen_offlimits_message"
00122 #define CARMEN_MAP_OFFLIMITS_FMT     "{<{int,int,int,int,int}:2>,int,double,string}"
00123 
00124 
00125 typedef struct {
00126   char *name;
00127   double timestamp;
00128   char *host;
00129 } carmen_map_named_offlimits_request;
00130 
00131 #define CARMEN_NAMED_OFFLIMITS_REQUEST_NAME    "carmen_named_offlimits_request"
00132 #define CARMEN_NAMED_OFFLIMITS_REQUEST_FMT     "{string,double,string}"
00133 
00134 typedef struct {
00135   char *zone_name;
00136   double timestamp;
00137   char *host;
00138 } carmen_map_zone_message;
00139 
00140 #define CARMEN_MAP_ZONE_NAME                   "carmen_map_zone_message"
00141 #define CARMEN_MAP_ZONE_FMT                    "{string,double,string}"
00142 
00143 typedef struct {
00144   char *zone_name;
00145   double timestamp;
00146   char *host;
00147 } carmen_map_change_map_zone_request;
00148 
00149 #define CARMEN_CHANGE_MAP_ZONE_REQUEST_NAME    "carmen_change_map_zone_request"
00150 #define CARMEN_CHANGE_MAP_ZONE_REQUEST_FMT     "{string,double,string}"
00151 
00152 typedef struct {
00153   char *err_msg;
00154   double timestamp;
00155   char *host;
00156 } carmen_map_change_map_zone_response;
00157 
00158 #define CARMEN_CHANGE_MAP_ZONE_RESPONSE_NAME   "carmen_change_map_zone_response"
00159 #define CARMEN_CHANGE_MAP_ZONE_RESPONSE_FMT    "{string,double,string}"
00160 
00161 
00162 #ifdef __cplusplus
00163 }
00164 #endif
00165 
00166 #endif
00167 // @}

Generated on Wed Apr 5 18:34:18 2006 for CARMEN by  doxygen 1.4.4