home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_07
/
LATTIC_3.ZIP
/
HEADERS
/
OSBIND.H
< prev
next >
Wrap
C/C++ Source or Header
|
1990-08-20
|
12KB
|
343 lines
/*
* osbind.h - interface to TOS for Lattice C 5
*
* This file contains the general interface to C5 via #pragmas
*
* Started 10/1/90 Alex G. Kiernan
*
* Copyright (c) 1990 HiSoft
*/
#ifndef _OSBIND_H
#define _OSBIND_H
#if !defined __STDC__ || __STDC__!=1
long int gemdos(int, ...);
long int bios(int, ...);
long int xbios(int, ...);
#endif
long int _gemdos(int, ...);
long int _bios(int, ...);
long int _xbios(int, ...);
#ifndef __NO_OSBIND_PRAGMAS
void _vgv(int);
long _lgv(int);
short _sgv(int);
void *_pgv(int);
void *_pgl(int,long);
long _lgs(int,int);
void _vgs(int,int);
long _lgp(int,void *);
void *_pgs(int,int);
void *_pgp(int,void *);
void _vgp(int,void *);
unsigned short _ugv(int);
long _lgu(int,unsigned int);
void _vgls(int,long,int);
long _lgss(int,int,int);
long _lgc(int,const char *);
void _vgc(int,const char *);
long _lgds(int,char *,int);
long _lgns(int,long *,int);
long _lglss(int,long,int,int);
long _lgslp(int,int,long,void *);
long _lgspl(int,int,void *,long);
long _lgcs(int,const char *,int);
long _lgrss(int,short *,int,int);
long _lgslq(int,int,long,const void *);
long _lgcss(int,const char *,int,int);
long _lgscc(int,int,const char *,const char *);
long _lgsccc(int,int,const char *,const char *,const char *);
#pragma inline _vgv((short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgv((short)) {register d2,a2; "4e41";}
#pragma inline d0=_sgv((short)) {register d2,a2; "4e41";}
#pragma inline d0=_pgv((short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgs((short),(short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgu((short),(short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgp((short),) {register d2,a2; "4e41";}
#pragma inline _vgs((short),(short)) {register d2,a2; "4e41";}
#pragma inline d0=_pgl((short),) {register d2,a2; "4e41";}
#pragma inline d0=_pgs((short),(short)) {register d2,a2; "4e41";}
#pragma inline d0=_pgp((short),) {register d2,a2; "4e41";}
#pragma inline _vgp((short),) {register d2,a2; "4e41";}
#pragma inline d0=_ugv((short)) {register d2,a2; "4e41";}
#pragma inline _vgls((short),,(short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgc((short),) {register d2,a2; "4e41";}
#pragma inline _vgc((short),) {register d2,a2; "4e41";}
#pragma inline d0=_lgds((short),,(short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgns((short),,(short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgss((short),(short),(short)) {register d2,a2; "4e41";}
#pragma inline d0=_lglss((short),,(short),(short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgslp((short),(short),,) {register d2,a2; "4e41";}
#pragma inline d0=_lgspl((short),(short),,) {register d2,a2; "4e41";}
#pragma inline d0=_lgcs((short),,(short)) {register d2,a2; "4e41";}
#pragma inline _lgrss((short),,(short),(short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgslq((short),(short),,) {register d2,a2; "4e41";}
#pragma inline d0=_lgcss((short),,(short),(short)) {register d2,a2; "4e41";}
#pragma inline d0=_lgscc((short),(short),,) {register d2,a2; "4e41";}
#pragma inline d0=_lgsccc((short),(short),,,) {register d2,a2; "4e41";}
#else
#define _lgc _gemdos
#define _lgcs _gemdos
#define _lgcss _gemdos
#define _lgds _gemdos
#define _lglss _gemdos
#define _lgns _gemdos
#define _lgp _gemdos
#define _lgs _gemdos
#define _lgscc _gemdos
#define _lgsccc _gemdos
#define _lgslp _gemdos
#define _lgslq _gemdos
#define _lgspl _gemdos
#define _lgss _gemdos
#define _lgu _gemdos
#define _lgv _gemdos
#define _pgl _gemdos
#define _pgp _gemdos
#define _pgv _gemdos
#define _sgv _gemdos
#define _ugv _gemdos
#define _vgc _gemdos
#define _vgls _gemdos
#define _vgp _gemdos
#define _lgrss _gemdos
#define _vgs _gemdos
#define _vgv _gemdos
#endif
/* GEMDOS bindings */
#define Pterm0() _vgv(0x0)
#define Cconin() _lgv(0x1)
#define Cconout(a) _vgs(0x2,a)
#define Cauxin() _sgv(0x3)
#define Cauxout(a) _vgs(0x4,a)
#define Cprnout(a) _lgs(0x5,a)
#define Crawio(a) _lgs(0x6,a)
#define Crawcin() _lgv(0x7)
#define Cnecin() _lgv(0x8)
#define Cconws(a) _vgc(0x9,a)
#define Cconrs(a) _vgp(0x0a,a)
#define Cconis() _sgv(0x0b)
#define Dsetdrv(a) _lgs(0x0e,a)
#define Cconos() _sgv(0x10)
#define Cprnos() _sgv(0x11)
#define Cauxis() _sgv(0x12)
#define Cauxos() _sgv(0x13)
#define Dgetdrv() _sgv(0x19)
#define Fsetdta(a) _vgp(0x1a,a)
#define Super(a) _pgp(0x20,a)
#define Tgetdate() _ugv(0x2a)
#define Tsetdate(a) _lgu(0x2b,a)
#define Tgettime() _ugv(0x2c)
#define Tsettime(a) _lgu(0x2d,a)
#define Fgetdta() _pgv(0x2f)
#define Sversion() _ugv(0x30)
#define Ptermres(a,b) _vgls(0x31,a,b)
#define Dfree(a,b) _lgns(0x36,a,b)
#define Dcreate(a) _lgc(0x39,a)
#define Ddelete(a) _lgc(0x3a,a)
#define Dsetpath(a) _lgc(0x3b,a)
#define Fcreate(a,b) _lgcs(0x3c,a,b)
#define Fopen(a,b) _lgcs(0x3d,a,b)
#define Fclose(a) _lgs(0x3e,a)
#define Fread(a,b,c) _lgslp(0x3f,a,b,c)
#define Fwrite(a,b,c) _lgslq(0x40,a,b,c)
#define Fdelete(a) _lgc(0x41,a)
#define Fseek(a,b,c) _lglss(0x42,a,b,c)
#define Fattrib(a,b,c) _lgcss(0x43,a,b,c)
#define Fdup(a) _lgs(0x45,a)
#define Fforce(a,b) _lgss(0x46,a,b)
#define Dgetpath(a,b) _lgds(0x47,a,b)
#define Malloc(a) _pgl(0x48,a)
#define Mfree(a) _lgp(0x49,a)
#define Mshrink(a,b) _lgspl(0x4a,0,a,b)
#define Pexec(a,b,c,d) _lgsccc(0x4b,a,b,c,d)
#define Pterm(a) _vgs(0x4c,a)
#define Fsfirst(a,b) _lgcs(0x4e,a,b)
#define Fsnext() _lgv(0x4f)
#define Frename(a,b,c) _lgscc(0x56,a,b,c)
#define Fdatime(a,b,c) _lgrss(0x57,a,b,c)
#ifndef __NO_OSBIND_PRAGMAS
void _vbp(int,void *);
long _lbs(int,int);
long _lbss(int,int,int);
long _lbspsss(int,int,void *,int,int,int);
long _lbspsssl(int,int,void *,int,int,int,long);
void (*_fbsf(int,int,void (*)()))();
long _lbv(int);
void *_pbs(int,int);
unsigned long _mbv(int);
#pragma inline _vbp((short),) {register D2,A2; "4e4d";}
#pragma inline d0=_lbs((short),(short)) {register D2,A2; "4e4d";}
#pragma inline d0=_lbss((short),(short),(short)) {register D2,A2; "4e4d";}
#pragma inline d0=_lbspsss((short),(short),,(short),(short),(short)) {register D2,A2; "4e4d";}
#pragma inline d0=_lbspsssl((short),(short),,(short),(short),(short),) {register D2,A2; "4e4d";}
#pragma inline d0=_fbsf((short),(short),) {register D2,A2; "4e4d";}
#pragma inline d0=_lbv((short)) {register D2,A2; "4e4d";}
#pragma inline d0=_pbs((short),(short)) {register D2,A2; "4e4d";}
#pragma inline d0=_mbv((short)) {register D2,A2; "4e4d";}
#else
#define _vbp _bios
#define _lbs _bios
#define _lbss _bios
#define _lbspsss _bios
#define _lbspsssl _bios
#define _fbsf _bios
#define _lbv _bios
#define _pbs _bios
#endif
/* BIOS bindings */
#define Getmpb(a) _vbp(0,a)
#define Bconstat(a) _lbs(1,a)
#define Bconin(a) _lbs(2,a)
#define Bconout(a,b) _lbss(3,a,b)
#define Rwabs(a,b,c,d,e) _lbspsss(4,a,b,c,d,e)
#define Lrwabs(a,b,c,d,e) _lbspsssl(4,a,b,c,-1,d,e)
#define Setexc(a,b) _fbsf(5,a,b)
#define Tickcal() _lbv(6)
#define Getbpb(a) _pbs(7,a)
#define Bcostat(a) _lbs(8,a)
#define Mediach(a) _lbs(9,a)
#define Drvmap() _mbv(10)
#define Kbshift(a) _lbs(11,a)
/* XBIOS bindings */
#ifndef __NO_OSBIND_PRAGMAS
unsigned char _dxss(int,int,int);
long _lxg(int,long (*)(void));
long _lxv(int);
unsigned long _mxssssss(int,int,int,int,int,int,int);
void *_pxs(int,int);
void *_pxv(int);
char **_rxccc(int,const char *,const char *,const char *);
void **_rxv(int);
short _sxppsssss(int,void *,void *,int,int,int,int,int);
short _sxprsssssls(int,void *,short *,int,int,int,int,int,long,int);
short _sxs(int,int);
short _sxss(int,int,int);
short _sxv(int);
void _vxc(int,const char *);
void _vxm(int,unsigned long);
unsigned long _mxv(int);
void _vxp(int,void *);
void _vxplss(int,void *,long,int,int);
void _vxpps(int,void *,void *,int);
void _vxs(int,int);
void _vxsf(int,void (*)(void));
void _vxsl(int,int,long);
void _vxsp(int,int,void *);
void _vxspf(int,int,void *,void (*)());
void _vxsssf(int,int,int,int,void (*)());
void _vxv(int);
#pragma inline d0=_dxss((short),(short),(short)) {register d2,a2; "4e4e";}
#pragma inline d0=_lxg((short),) {register d2,a2; "4e4e";}
#pragma inline d0=_lxv((short)) {register d2,a2; "4e4e";}
#pragma inline d0=_mxssssss((short),(short),(short),(short),(short),(short),(short)) {register d2,a2; "4e4e";}
#pragma inline d0=_pxs((short),(short)) {register d2,a2; "4e4e";}
#pragma inline d0=_pxv((short)) {register d2,a2; "4e4e";}
#pragma inline d0=_rxccc((short),,,) {register d2,a2; "4e4e";}
#pragma inline d0=_rxv((short)) {register d2,a2; "4e4e";}
#pragma inline d0=_sxppsssss((short),,,(short),(short),(short),(short),(short)) {register d2,a2; "4e4e";}
#pragma inline d0=_sxprsssssls((short),,,(short),(short),(short),(short),(short),,(short)) {register d2,a2; "4e4e";}
#pragma inline d0=_sxs((short),(short)) {register d2,a2; "4e4e";}
#pragma inline d0=_sxss((short),(short),(short)) {register d2,a2; "4e4e";}
#pragma inline d0=_sxv((short)) {register d2,a2; "4e4e";}
#pragma inline _vxc((short),) {register d2,a2; "4e4e";}
#pragma inline _vxm((short),) {register d2,a2; "4e4e";}
#pragma inline d0=_mxv((short)) {register d2,a2; "4e4e";}
#pragma inline _vxp((short),) {register d2,a2; "4e4e";}
#pragma inline _vxplss((short),,,(short),(short)) {register d2,a2; "4e4e";}
#pragma inline _vxpps((short),,,(short)) {register d2,a2; "4e4e";}
#pragma inline _vxs((short),(short)) {register d2,a2; "4e4e";}
#pragma inline _vxsf((short),) {register d2,a2; "4e4e";}
#pragma inline _vxsl((short),(short),) {register d2,a2; "4e4e";}
#pragma inline _vxsp((short),) {register d2,a2; "4e4e";}
#pragma inline _vxspf((short),(short),,) {register d2,a2; "4e4e";}
#pragma inline _vxsssf((short),(short),(short),) {register d2,a2; "4e4e";}
#pragma inline _vxv((short)) {register d2,a2; "4e4e";}
#else
#define _dxss _xbios
#define _lxg _xbios
#define _lxv _xbios
#define _mxssssss _xbios
#define _pxs _xbios
#define _pxv _xbios
#define _rxccc _xbios
#define _rxv _xbios
#define _sxppsssss _xbios
#define _sxprsssssls _xbios
#define _sxs _xbios
#define _sxss _xbios
#define _sxv _xbios
#define _vxc _xbios
#define _vxm _xbios
#define _mxv _xbios
#define _vxp _xbios
#define _vxplss _xbios
#define _vxpps _xbios
#define _vxs _xbios
#define _vxsf _xbios
#define _vxsl _xbios
#define _vxsp _xbios
#define _vxspf _xbios
#define _vxsssf _xbios
#define _vxv _xbios
#endif
#define Initmous(a,b,c) _vxspf(0,a,b,c)
#define Ssbrk(a) _lxv(a)
#define Physbase() _pxv(2)
#define Logbase() _pxv(3)
#define Getrez() _sxv(4)
#define Setscreen(a,b,c) _vxpps(5,a,b,c)
#define Setpallete(a) _vxp(6,a)
#define Setpalette(a) _vxp(6,a)
#define Setcolor(a,b) _sxss(7,a,b)
#define Floprd(a,b,c,d,e,f,g) _sxppsssss(8,a,b,c,d,e,f,g)
#define Flopwr(a,b,c,d,e,f,g) _sxppsssss(9,a,b,c,d,e,f,g)
#define Flopfmt(a,b,c,d,e,f,g,h,i) _sxprsssssls(10,a,b,c,d,e,f,g,h,i)
#define Midiws(a,b) _vxsp(12,a,b)
#define Mfpint(a,b) _vxsf(13,a,b)
#define Iorec(a) _pxs(14,a)
#define Rsconf(a,b,c,d,e,f) _mxssssss(15,a,b,c,d,e,f)
#define Keytbl(a,b,c) _rxccc(16,a,b,c)
#define Random() _lxv(17)
#define Protobt(a,b,c,d) _vxplss(18,a,b,c,d)
#define Flopver(a,b,c,d,e,f,g) _sxppsssss(19,a,b,c,d,e,f,g)
#define Scrdmp() _vxv(20)
#define Cursconf(a,b) _sxss(21,a,b)
#define Settime(a) _vxm(22,a)
#define Gettime() _mxv(23)
#define Bioskeys() _vxv(24)
#define Ikbdws(a,b) _vxsl(25,a,b)
#define Jdisint(a) _vxs(26,a)
#define Jenabint(a) _vxs(27,a)
#define Giaccess(a,b) _dxss(28,a,b)
#define Offgibit(a) _vxs(29,a)
#define Ongibit(a) _vxs(30,a)
#define Xbtimer(a,b,c,d) _vxsssf(31,a,b,c,d)
#define Dosound(a) _vxc(32,a)
#define Setprt(a) _sxs(33,a)
#define Kbdvbase() _rxv(34)
#define Kbrate(a,b) _sxss(35,a,b)
#define Prtblk(a) _vxp(36,a)
#define Vsync() _vxv(37)
#define Supexec(a) _lxg(38,a)
#define Puntaes() _vxv(39)
#define Floprate(a,b) _sxss(41,a,b)
#define Blitmode(a) _sxs(64,a)
int _mediach(int); /* force GEMDOS media change */
#endif