#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <Error.h>
#include <GeoVme.h>
#include <dmap.h>

int main(int argc, char *argv[])
{
  int res;
  unsigned char chain,crate,slot,chan;
  DMAP_CHAN_EL data;

  if (argc!=9)
    {
      printf("Use: dmapfindchamb GeoVmeMap dmap layer wire\n");
      return 1;
    }

  data.btype = DMAP_BTYPE_CHATDC;
  data.data.chamber.layer = atoi(argv[3]);
  data.data.chamber.wire = atoi(argv[4]);

  GeoVmeLoadMap(argv[1]);


  if (dmap_load(argv[2])!=DMAP_ERROR_OK)
    {
      printf("Error in dmap_load\n");
      return 2;
    }

  res = dmap_find(data,&chain,&crate,&slot,&chan);

  if (res==DMAP_ERROR_EMPTY)
    printf("Not found!\n");
  else if (res!=DMAP_ERROR_OK)
    printf("Error in dmap_find.\n");
  else
    {
      printf("Chain: %i Crate: %i Slot: %i Chan: %i\n",chain,crate,slot,chan);
    }
  

  dmap_dispose();
  GeoVmeUnloadMap();

  return 0;
}