/*
 * oclh_h_externals.h
 *      Author: havock
 */
#ifndef OCLH_H_EXTERNALS_H_
#define OCLH_H_EXTERNALS_H_ 1
#include <oclh_h_ws_base.h>

#define _GHM_FL   1
#define _GHM_NOFL 0

void*   _ghf_wdcAllocHostBuf(_GHT_WRKSET wSet, const size_t sz);
void    _ghf_freeHostZ(void* const ppPtr);
cl_mem  _ghf_wdcAllocDevBuf( _GHT_WRKSET  wSet,
                       const cl_mem_flags cmFlags,
                       const size_t       sz,
                             void*  const pvHostPtr);
void    _ghf_freeDevZ(_GHT_WRKSET wSet, cl_mem* const pCLMem);
int32_t _ghf_addCharPtrToCharPtrList(      char*** const pppcLst,
                                     const char*   const pcStr);
int32_t _ghf_addFileToCharPtrListWithSizes(      char*** const pppcLst,
                                           const char*   const pcFileName,
                                           const uint64_t      u64Align);
void    _ghf_wipeCharPtrList(         char*** const pppcLst);
void    _ghf_wipeCharPtrListWithSizes(char*** const pppcLst);

#endif /* OCLH_H_EXTERNALS_H_ */
