home *** CD-ROM | disk | FTP | other *** search
- /***********************************
- * *
- * Janus.h aus Amiga INTERN *
- * *
- ***********************************/
-
- #ifndef JANUS
- #define JANUS
- #define RPTR SHORT
-
- #include <SetupSig.h>
- #include <Services.h>
-
- struct JanusRemember
- {
- RPTR NextRemember;
- RPTR Offset;
- USHORT Size;
- USHORT Type;
- };
-
- #define MEM_TYPEMASK 0x00FF
- #define MEMF_PARAMETER 1
- #define MEMF_BUFFER 2
- #define MEM_ACCESSMASK 0x3000
- #define MEM_BYTEACCESS 0x0000
- #define MEM_WORDACCESS 0x1000
- #define MEM_GRAPHICACCESS 0x2000
- #define MEM_IOACCESS 0x3000
-
- extern SHORT AddService(struct ServiceData **data, ULONG appID, USHORT locID, USHORT size, USHORT type, SHORT sigNr, USHORT flags);
- extern void CallService(struct ServiceData *data);
- extern void DeleteService(struct ServiceData *data);
- extern SHORT GetService(struct ServiceData **data, ULONG appID, USHORT locID, SHORT sigNr, USHORT flags);
- extern void ReleaseService(struct ServiceData *data);
- extern void UnlockServiceData(struct ServiceData *data);
- extern void LockServiceData(struct ServiceData *data);
- extern APTR AllocJanusMem(ULONG size, ULONG type);
- extern APTR AllocJRemember(struct JanusRemember **jrememberkey, USHORT size, USHORT type);
- extern APTR AllocServiceMem(struct ServiceData *data, USHORT size, USHORT type);
- extern void AttachRemember(struct JanusRemember **tokey, struct JanusRemember **fromkey);
- extern void FreeJanusMem(APTR ptr, ULONG size);
- extern void FreeJRemember(struct JanusRemember **jrememberkey, BOOL reallyforget);
- extern void FreeServiceMem(struct ServiceData *data, APTR ptr);
- extern APTR GetJanusStart(void);
- extern APTR JanusMemBase(ULONG type);
- extern USHORT JanusMemToOffset(APTR ptr);
- extern ULONG JanusMemType(APTR ptr);
- extern APTR JanusOffsetToMem(USHORT offset, USHORT type);
- extern void JBCopy(APTR source, APTR dest, ULONG len);
- extern void JanusLock(UBYTE *byteptr);
- extern BOOL JanusLockAttempt(UBYTE *byteptr);
- extern void JanusUnlock(UBYTE *byteptr);
- extern BYTE * MakeBytePtr(APTR ptr);
- extern BYTE * MakeWordPtr(APTR ptr);
- extern APTR TranslateJanusPtr(APTR ptr, USHORT type);
- extern ULONG CheckJanusInt(ULONG janusintnr);
- extern void CleanupJanusSig(struct SetupSig *setupsig);
- extern SHORT GetParamOffset(ULONG janusintnr);
- extern void SendJanusInt(ULONG janusintnr);
- extern ULONG SetJanusEnable(ULONG janusintnr, ULONG enable);
- extern APTR SetJanusHandler(ULONG janusintnr, APTR inthandler);
- extern ULONG SetJanusRequest(ULONG janusintnr, ULONG request);
- extern USHORT SetParamOffset(ULONG janusintnr, USHORT offset);
- extern struct SetupSig * SetupJanusSig(USHORT janusintnr, USHORT signr, ULONG size, ULONG type);
-
- #endif
-