DataMuseum.dk

Presents historical artifacts from the history of:

Regnecentalen RC-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Regnecentalen RC-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦85a106cce⟧ TextFile

    Length: 2164 (0x874)
    Types: TextFile
    Notes: UNIX file
    Names: »gdi.h«

Derivation

└─⟦0cfe73749⟧ Bits:30004154/config.imd SW95707I VP/ix MS-DOS emulator Rel. 1.1
└─⟦0cfe73749⟧ UNIX Filesystem
    └─⟦this⟧ »vc/new/usr/vpix/etc/conf/gdi.h« 

TextFile

/* @(#)gdi.h	3.2 - 88/05/27 */
/* GDI.H
 *      Generic Device Interface- user interface constants
 *
 *	Copyright (c) 1988 by Interactive Systems Corporation
 *
 */

#define 	MAXDNAME	50	/* max len of a device name        */
#define 	MAXCHUNKS	10	/* max io/memory chunk definitions */
#define 	MAXGDEVS	10	/* max GDI devices per vpix task   */
#define         MAXTAB_ENTRIES  20      /* max entries in save/rstr tables */
#define		VPIXDEVS	"/usr/vpix/etc/vpixdevs"
#define         AS              ";"     /* address separator */
#define         FS              ":"     /* field separator */

/* Channel Emulation codes passed to handlers. */
#define	DOS_OPEN	0		/* Emulation open channel code	*/
#define	DOS_CLOSE	1		/* Emulation close channel code	*/
#define	DOS_SEND	2		/* Channel request from DOS	*/

/* Channel Error definitions. */
#define	ERR_NONE	0		/* No errors			*/
#define	ERR_NOTFOUND	1		/* Error - entry not found	*/
#define	ERR_NOSLOT	2		/* Error - no space in table	*/
#define	ERR_BUSY	3		/* Error - channel is busy	*/

#ifndef VERR_WARNING
#define	VERR_WARNING	0		/* vp/ix warning 		*/
#endif
#ifndef VERR_FATAL
#define	VERR_FATAL	1		/* vp/ix fatal error		*/
#endif

/* standard GDI data types */
typedef char *  MENU_HDL;
typedef char *  TIMER_HDL;
typedef char *  CADDR_T;
typedef	short	CHANNEL_ID;


/* gdi device entry in the gdi_list.c file */
struct gdi_entry {
    char    *gdname;
    int     (*gd_initrtn)();
};

/* definition of a chunk of memory or io */
struct gd_chunk {
    long     base;
    int      len;
};

/* parameters of a GDI device as specified in the /etc/vpixdevs file */
struct gdevice {
    char        gdi_lname[MAXDNAME];             /* true name of device    */
    char        gdi_iemname[MAXDNAME];           /* true name of device    */
    char        gdi_dname[MAXDNAME];             /* name of device in /dev */
    struct	gd_chunk gdi_iorange[MAXCHUNKS]; /* I/O entries defined    */
    struct	gd_chunk gdi_memrange[MAXCHUNKS];/* mem locations defined  */
    int 	gdi_irqval;                      /* IRQ level defined      */
    int	        gdi_dmaval;                      /* DMA chan defined       */
};