home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #6
/
amigamamagazinepolishissue1998.iso
/
varia
/
memory-device
/
source
/
memory.h
< prev
next >
Wrap
C/C++ Source or Header
|
1977-12-31
|
2KB
|
72 lines
#ifndef __MEMORY_H
#define __MEMORY_H
/*
** $VER: memory.h 1.0 (20 Dec 1995)
**
** (C) Copyright 1995 Marius Gröger
** All Rights Reserved
**
** $HISTORY:
**
** 20 Dec 1995 : 001.000 : created
*/
/* system header files */
#ifndef EXEC_SEMAPHORES_H
#include <exec/semaphores.h>
#endif
#ifndef EXEC_LISTS_H
#include <exec/lists.h>
#endif
#ifndef EXEC_INTERRUPTS_H
#include <exec/interrupts.h>
#endif
#ifndef EXEC_LIBRARIES_H
#include <exec/libraries.h>
#endif
#ifndef DOS_DOS_H
#include <dos/dos.h>
#endif
#ifndef __COMPILER_H
#include "compiler.h"
#endif
/****************************************************************************/
/* default values */
/* maximum values */
/****************************************************************************/
struct MemoryBase
{
struct Library mb_DevNode; /* basic device structure */
ULONG mb_SegList; /* pointer to code */
struct Library * mb_SysBase;
struct SignalSemaphore mb_Lock;
};
#ifdef __SASC
/*
** redirect all shared library bases to our device base.
*/
# define SysBase mb->mb_SysBase
/*
** This macro declares a local variable which temporary gets
** SysBase directly from AbsExecBase.
*/
# define LOCALSYSBASE struct { void *mb_SysBase; } *mb = (void*)0x4
/*
** Use this macro as argument for all functions which need to
** have access to your data base.
*/
# define BASEPTR struct MemoryBase *mb
#else
# error Please define library bases for your compiler
#endif
#endif