/* Ofront+ 1.0 -swC -48 */

#ifndef Builder__oh
#define Builder__oh

#include "SYSTEM.oh"

typedef
  void (*Builder_ErrorHandler)(LONGCHAR*, INTEGER , INTEGER, INTEGER, INTEGER, LONGCHAR*, INTEGER );

typedef
  struct Builder_ModuleDesc *Builder_Module;

typedef
  struct Builder_ModuleDesc {
    LONGCHAR s[64];
    LONGCHAR fname[256];
    LONGCHAR libs[4096];
    BOOLEAN foreign, system;
    Builder_Module next;
  } Builder_ModuleDesc;


import LONGCHAR Builder_workDir[1024];

import SYSTEM_ADRINT *Builder_ModuleDesc__typ;

import BOOLEAN Builder_CompileAll (Builder_Module modules, LONGCHAR *exename, INTEGER exename__len, BOOLEAN moveToCwd, Builder_ErrorHandler onError);
import void Builder_GetModuleName (LONGCHAR *fname, INTEGER fname__len, LONGCHAR *modname, INTEGER modname__len);
import BOOLEAN Builder_Includes (Builder_Module p, LONGCHAR *modname, INTEGER modname__len);
import void Builder_ResetSysModules (void);
import void Builder_SetWorkDir (LONGCHAR *fname, INTEGER fname__len);
import void Builder_StringsFindNext (LONGCHAR *what, INTEGER what__len, LONGCHAR *where, INTEGER where__len, INTEGER begin, BOOLEAN *found, INTEGER *resultPos);
import Builder_Module Builder_UsedModuleList (LONGCHAR *modname, INTEGER modname__len, LONGCHAR *fname, INTEGER fname__len, LONGCHAR *errFname, INTEGER errFname__len, INTEGER *errLine, INTEGER *errCol, BOOLEAN *foreign, INTEGER *res);
import void *Builder__init (void);


#endif
