1 #ifndef CLIB_XADMASTER_PROTOS_H
    2 #define CLIB_XADMASTER_PROTOS_H
    3 
    4 
    5 /*
    6 **	$VER: xadmaster_protos.h 13.2 (03.07.2004)
    7 **
    8 **	C prototypes. For use with 32 bit integers only.
    9 **
   10 **	Copyright © 2004 Dirk Stöcker
   11 **	All Rights Reserved
   12 */
   13 
   14 #ifndef  UTILITY_TAGITEM_H
   15 #include <utility/tagitem.h>
   16 #endif
   17 #ifndef  LIBRARIES_XADMASTER_H
   18 #include <libraries/xadmaster.h>
   19 #endif
   20 
   21 #ifdef __cplusplus
   22 extern "C" {
   23 #endif /* __cplusplus */
   24 
   25 xadPTR xadAllocObjectA(xadUINT32 type, const struct TagItem * tags);
   26 xadPTR xadAllocObject(xadUINT32 type, Tag tags, ...);
   27 void xadFreeObjectA(xadPTR object, const struct TagItem * tags);
   28 void xadFreeObject(xadPTR object, Tag tags, ...);
   29 struct xadClient * xadRecogFileA(xadSize size, const void * memory,
   30 	const struct TagItem * tags);
   31 struct xadClient * xadRecogFile(xadSize size, const void * memory, Tag tags, ...);
   32 xadERROR xadGetInfoA(struct xadArchiveInfo * ai, const struct TagItem * tags);
   33 xadERROR xadGetInfo(struct xadArchiveInfo * ai, Tag tags, ...);
   34 void xadFreeInfo(struct xadArchiveInfo * ai);
   35 xadERROR xadFileUnArcA(struct xadArchiveInfo * ai, const struct TagItem * tags);
   36 xadERROR xadFileUnArc(struct xadArchiveInfo * ai, Tag tags, ...);
   37 xadERROR xadDiskUnArcA(struct xadArchiveInfo * ai, const struct TagItem * tags);
   38 xadERROR xadDiskUnArc(struct xadArchiveInfo * ai, Tag tags, ...);
   39 xadSTRPTR xadGetErrorText(xadERROR errnum);
   40 struct xadClient * xadGetClientInfo(void);
   41 
   42 /* This HookAccess function can be called from clients only! */
   43 
   44 xadERROR xadHookAccess(xadUINT32 command, xadSignSize data, xadPTR buffer,
   45 	struct xadArchiveInfo * ai);
   46 xadERROR xadConvertDatesA(const struct TagItem * tags);
   47 xadERROR xadConvertDates(Tag tags, ...);
   48 xadUINT16 xadCalcCRC16(xadUINT32 id, xadUINT32 init, xadSize size,
   49 	const xadUINT8 * buffer);
   50 xadUINT32 xadCalcCRC32(xadUINT32 id, xadUINT32 init, xadSize size,
   51 	const xadUINT8 * buffer);
   52 
   53 /* --- functions in V2 or higher --- */
   54 
   55 xadPTR xadAllocVec(xadSize size, xadUINT32 flags);
   56 void xadCopyMem(const void * src, xadPTR dest, xadSize size);
   57 
   58 /* --- functions in V3 or higher --- */
   59 
   60 xadERROR xadHookTagAccessA(xadUINT32 command, xadSignSize data, xadPTR buffer,
   61 	struct xadArchiveInfo * ai, const struct TagItem * tags);
   62 xadERROR xadHookTagAccess(xadUINT32 command, xadSignSize data, xadPTR buffer,
   63 	struct xadArchiveInfo * ai, Tag tags, ...);
   64 
   65 /* --- functions in V4 or higher --- */
   66 
   67 xadERROR xadConvertProtectionA(const struct TagItem * tags);
   68 xadERROR xadConvertProtection(Tag tags, ...);
   69 xadERROR xadGetDiskInfoA(struct xadArchiveInfo * ai, const struct TagItem * tags);
   70 xadERROR xadGetDiskInfo(struct xadArchiveInfo * ai, Tag tags, ...);
   71 
   72 /* --- functions in V8 or higher --- */
   73 
   74 xadERROR xadGetHookAccessA(struct xadArchiveInfo * ai, const struct TagItem * tags);
   75 xadERROR xadGetHookAccess(struct xadArchiveInfo * ai, Tag tags, ...);
   76 void xadFreeHookAccessA(struct xadArchiveInfo * ai, const struct TagItem * tags);
   77 void xadFreeHookAccess(struct xadArchiveInfo * ai, Tag tags, ...);
   78 
   79 /* --- functions in V10 or higher --- */
   80 
   81 xadERROR xadAddFileEntryA(struct xadFileInfo * fi, struct xadArchiveInfo * ai,
   82 	const struct TagItem * tags);
   83 xadERROR xadAddFileEntry(struct xadFileInfo * fi, struct xadArchiveInfo * ai, Tag tags, ...);
   84 xadERROR xadAddDiskEntryA(struct xadDiskInfo * di, struct xadArchiveInfo * ai,
   85 	const struct TagItem * tags);
   86 xadERROR xadAddDiskEntry(struct xadDiskInfo * di, struct xadArchiveInfo * ai, Tag tags, ...);
   87 
   88 /* --- functions in V12 or higher --- */
   89 
   90 xadERROR xadGetFilenameA(xadUINT32 buffersize, xadSTRPTR buffer, const xadSTRING * path,
   91 	const xadSTRING * name, const struct TagItem * tags);
   92 xadERROR xadGetFilename(xadUINT32 buffersize, xadSTRPTR buffer, const xadSTRING * path,
   93 	const xadSTRING * name, Tag tags, ...);
   94 xadSTRPTR xadConvertNameA(xadUINT32 charset, const struct TagItem * tags);
   95 xadSTRPTR xadConvertName(xadUINT32 charset, Tag tags, ...);
   96 
   97 /* --- functions in V13 or higher --- */
   98 
   99 xadSTRPTR xadGetDefaultNameA(const struct TagItem * tags);
  100 xadSTRPTR xadGetDefaultName(Tag tags, ...);
  101 const struct xadSystemInfo * xadGetSystemInfo(void);
  102 
  103 #ifdef __cplusplus
  104 }
  105 #endif /* __cplusplus */
  106 
  107 #endif	/*  CLIB_XADMASTER_PROTOS_H  */