#ifndef __INC_POS_PROTO_PDTTYPE2_H
#define __INC_POS_PROTO_PDTTYPE2_H
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Burkarth
 $DAT >>pDtType2.h<<   23 Jan 1997    12:43:24 - (C) ProDAD
*******************************************************************/
#ifndef __INC_POS_PEXEC_LIST_H
#include <pExec/List.h>
#endif
#ifndef __INC_POS_PDOS_DOSTYPES_H
#include <pDOS/DosTypes.h>
#endif




#ifdef __cplusplus
extern "C" {
#endif

/*------ Datas  -------------------------------------------------------*/
__ARID__ struct pOS_DataType* pOS_CreateDTObjectA(_R_A0 struct pOS_NClass*,_R_A1 const CHAR* name,_R_D0 ULONG ver,
                   _R_A2 struct pOS_DClassInfo*,_R_D1 ULONG method,_R_A3 const struct pOS_TagItem*);
VOID pOS_DeleteDTObject(__ARID__ _R_A0 struct pOS_DataType*);
BOOL pOS_LoadDTObjectA(_R_A0 const struct pOS_DataType*,_R_A1 struct pOS_DClassInfo*,_R_A2 const struct pOS_TagItem*);
BOOL pOS_SaveDTObjectA(_R_A0 struct pOS_DataType*,_R_A1 struct pOS_DClassInfo*,_R_A2 const struct pOS_TagItem*);
__ARID__ const struct pOS_DtTypeDescribe*
    pOS_ObtainFHDtTypeDescribeA(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t* fileName,_R_A2 const CHAR* format,
       _R_A3 APTR formatData,_R_A4 __ARID__ const struct pOS_DtTypeDescribe* lastDTD,_R_A5 const struct pOS_TagItem*);
VOID pOS_ReleaseDtTypeDescribe(_R_A0 __ARID__ const struct pOS_DtTypeDescribe*);
BOOL pOS_ReadDTObjectA(_R_A0 struct pOS_DataType*,_R_A1 struct pOS_DClassInfo*,_R_A2 APTR frameData,_R_A3 const struct pOS_TagItem*);
BOOL pOS_WriteDTObjectA(_R_A0 struct pOS_DataType*,_R_A1 struct pOS_DClassInfo*,_R_A2 const VOID* frameData,_R_A3 const struct pOS_TagItem*);
BOOL pOS_ConvertDTObjectA(_R_A0 struct pOS_DataType*,_R_A1 struct pOS_DClassInfo*,
         _R_A2 const VOID* srcData,_R_A3 VOID* dstData,_R_A4 const struct pOS_TagItem*);
__ARID__ struct pOS_DataType* pOS_CreateFHDTObjectA(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t*,
                 _R_A2 const CHAR* format,_R_A3 APTR formatData,_R_A4 const struct pOS_TagItem*);
VOID pOS_DeleteDtTypeFileID(__ARID__ _R_A0 struct pOS_DtTypeFileID*);
__ARID__ struct pOS_DtTypeFileID* pOS_CreateDtTypeFPattern(_R_A0 const CHAR*);
BOOL pOS_IsDtTypeName(_R_A0 const struct pOS_DtTypeDescribe*,_R_A1 const CHAR*);
BOOL pOS_TstReadDTObjectA(_R_A0 struct pOS_DataType*,_R_A1 struct pOS_DClassInfo*,_R_A2 APTR frameData,_R_A3 const struct pOS_TagItem*);
__ARID__ struct pOS_DataType* pOS_CloneDTObjectA(_R_A0 const struct pOS_DataType*,_R_A1 const struct pOS_TagItem*);
__ARID__ struct pOS_IntuiObj* pOS_GetIDTObjectA(_R_A0 const struct pOS_DataType*,_R_A1 const struct pOS_TagItem*);



/*------ Manage  -------------------------------------------------------*/
__ARID__ struct pOS_DtTypeDescribe* pOS_CreateDtTypeDescribeA(_R_A0 const struct pOS_TagItem*);
VOID pOS_DeleteDtTypeDescribe(_R_A0 __ARID__ struct pOS_DtTypeDescribe*);
VOID pOS_AddDtTypeDescribe(_R_A0 struct pOS_DtTypeDescribe*);
VOID pOS_RemDtTypeDescribe(_R_A0 struct pOS_DtTypeDescribe*);







__ARID__ struct pOS_DataType* pOS_CreateDTObject(_R_A0 struct pOS_NClass*,_R_A1 const CHAR* name,_R_D0 ULONG ver,
                   _R_A2 struct pOS_DClassInfo*,_R_D1 ULONG method,ULONG tag,...);
BOOL pOS_LoadDTObject(_R_A0 const struct pOS_DataType*,_R_A1 struct pOS_DClassInfo*,ULONG tag,...);
BOOL pOS_SaveDTObject(_R_A0 struct pOS_DataType*,_R_A1 struct pOS_DClassInfo*,ULONG tag,...);
__ARID__ const struct pOS_DtTypeDescribe*
    pOS_ObtainFHDtTypeDescribe(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t* fileName,_R_A2 const CHAR* format,
       _R_A3 APTR formatData,_R_A4 __ARID__ const struct pOS_DtTypeDescribe* lastDTD,ULONG tag,...);
__ARID__ struct pOS_DtTypeDescribe* pOS_CreateDtTypeDescribe(ULONG tag,...);
__ARID__ struct pOS_DataType* pOS_CreateFHDTObject(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t*,
                 _R_A2 const CHAR* format,_R_A3 APTR formatData,ULONG tag,...);
BOOL pOS_TstReadDTObject(_R_A0 struct pOS_DataType*,_R_A1 struct pOS_DClassInfo*,_R_A2 APTR frameData,ULONG tag,...);
__ARID__ struct pOS_DataType* pOS_CloneDTObject(_R_A0 const struct pOS_DataType*,ULONG tag,...);
__ARID__ struct pOS_IntuiObj* pOS_GetIDTObject(_R_A0 const struct pOS_DataType*,ULONG tag,...);


#ifdef __cplusplus
}
#endif

#endif
