/* voc 2.1.0 [2025/05/18] for gcc LP64 on slackware xtspaF */

#ifndef ulmLoader__h
#define ulmLoader__h

#include "SYSTEM.h"
#include "ulmEvents.h"

typedef
	struct ulmLoader_ErrorEventRec *ulmLoader_ErrorEvent;

typedef
	struct ulmLoader_ErrorEventRec { /* ulmEvents_EventRec */
		ulmEvents_EventType type;
		ulmEvents_Message message;
		char _prvt0[8];
		INT8 errorcode;
		ulmEvents_Message module, for_;
	} ulmLoader_ErrorEventRec;

typedef
	struct ulmLoader_InterfaceRec *ulmLoader_Interface;

typedef
	BOOLEAN (*ulmLoader_LoadProc)(CHAR*, ADDRESS , ulmDisciplines_Object);

typedef
	BOOLEAN (*ulmLoader_LoadServiceProc)(CHAR*, ADDRESS , CHAR*, ADDRESS , ulmDisciplines_Object);

typedef
	struct ulmLoader_InterfaceRec {
		ulmLoader_LoadProc load;
		ulmLoader_LoadServiceProc loadService;
	} ulmLoader_InterfaceRec;


import ulmEvents_Message ulmLoader_errormsg[4];
import ulmEvents_EventType ulmLoader_error;

import ADDRESS *ulmLoader_InterfaceRec__typ;
import ADDRESS *ulmLoader_ErrorEventRec__typ;

import BOOLEAN ulmLoader_Load (CHAR *module, ADDRESS module__len, ulmDisciplines_Object errors);
import BOOLEAN ulmLoader_LoadService (CHAR *service, ADDRESS service__len, CHAR *for_, ADDRESS for___len, ulmDisciplines_Object errors);
import void ulmLoader_SetInterface (ulmLoader_Interface if_, UINT32 caps);
import void *ulmLoader__init(void);


#endif // ulmLoader
