ftp.nice.ch/pub/next/developer/languages/c/egcs.1.1.1.1beta.I.b.tar.gz#/lib/gcc-lib/i386-next-nextstep3/egcs-2.91.60/include/bsd/dev/m68k/dma.h

This is dma.h in view mode; [Download] [Up]

/*	@(#)dma.h	1.0	08/12/87	(c) 1987 NeXT	*/

/* 
 **********************************************************************
 * HISTORY
 *
 * 26-Sep-89  John Seamons (jks) at NeXT
 *	Made dd_csr in struct dma_dev an int (and changed the corresponding
 *	register #defines) because this register responds as a 32-bit device
 *	and therefore needs to be accessed this way to work on the 68040.
 *
 * 12-Apr-88  John Seamons (jks) at NeXT
 *	Changes to support DMA chip 313.
 *
 * 12-Aug-87  Mike DeMoney (mike) at NeXT
 *	Created.
 *
 **********************************************************************
 */ 

/*
 * dma.h -- description of NeXT dma structures
 */

#ifndef	_M68K_DEV_DMA_
#define	_M68K_DEV_DMA_

#define	MAX_DMA_LEN	(64*1024)	/* max DMA transfer size */
#define	MAX_CHAIN_LEN	(8*1024)	/* max DMA transfer size per chain */

#define	DMA_BEGINALIGNMENT	16	/* initial buffer must be on quad 
					 * longword */
#define	DMA_ENDALIGNMENT	16	/* DMA must end on quad longword */
#define	DMA_LONGALIGNMENT	4	/* sound and enet tx channels support 
					 * long alignment */

#define	DMA_BEGINALIGN(type, addr)	\
	((type)(((unsigned)(addr)+DMA_BEGINALIGNMENT-1) \
		&~(DMA_BEGINALIGNMENT-1)))

#define	DMA_ENDALIGN(type, addr)	\
	((type)(((unsigned)(addr)+DMA_ENDALIGNMENT-1) \
		&~(DMA_ENDALIGNMENT-1)))
#define	DMA_BEGINALIGNED(addr)	(((unsigned)(addr)&(DMA_BEGINALIGNMENT-1))==0)
#define	DMA_ENDALIGNED(addr)	(((unsigned)(addr)&(DMA_ENDALIGNMENT-1))==0)
#define	DMA_LONGALIGNED(addr)	(((unsigned)(addr)&(DMA_LONGALIGNMENT-1))==0)


#endif

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.