#include "TauUtil.h"

/////////////////////////////////////////////////////////////////////////////////////
// HPC++ Pack function for FunctionInfo
/////////////////////////////////////////////////////////////////////////////////////
void hpcxx_pack(HPCxx_Buffer b, FunctionInfo **data_t, int size)
{
  FunctionInfo *data = *data_t;
  int str_len = (int)strlen(data->GetName());

  b.pack(&str_len,1); 
  b.pack(data->GetName(), strlen(data->GetName()));
}

/////////////////////////////////////////////////////////////////////////////////////
// HPC++ Unpack function for FunctionInfo
/////////////////////////////////////////////////////////////////////////////////////
void hpcxx_unpack(HPCxx_Buffer b, FunctionInfo **data_t, int size)
{
  int str_len;
  char buffer[128];  // can't be fixed size??

  b.unpack(&str_len,1); 
  b.unpack(buffer, str_len);
  buffer[str_len] = '\0';
  *data_t = new FunctionInfo(buffer,"FOO");
}

