668 lines
24 KiB
C
668 lines
24 KiB
C
/* TOS.H
|
|
|
|
Tos Definition Includes
|
|
|
|
Copyright (c) Borland International 1990
|
|
All Rights Reserved.
|
|
*/
|
|
|
|
|
|
#if !defined( __TOS )
|
|
#define __TOS
|
|
|
|
#include <trap.h> /* AHCC: __syscall__ */
|
|
|
|
typedef struct /* used by Cconrs */
|
|
{
|
|
unsigned char maxlen;
|
|
unsigned char actuallen;
|
|
char buffer[255];
|
|
} LINE;
|
|
|
|
|
|
typedef struct /* used by Fsetdta, Fgetdta */
|
|
{
|
|
char d_reserved[21];
|
|
unsigned char d_attrib;
|
|
unsigned int d_time;
|
|
unsigned int d_date;
|
|
unsigned long d_length;
|
|
char d_fname[14];
|
|
} DTA;
|
|
|
|
|
|
typedef struct /* used by Dfree */
|
|
{
|
|
unsigned long b_free;
|
|
unsigned long b_total;
|
|
unsigned long b_secsiz;
|
|
unsigned long b_clsiz;
|
|
} DISKINFO;
|
|
|
|
|
|
typedef struct baspag /* used by Pexec */
|
|
{
|
|
void *p_lowtpa;
|
|
void *p_hitpa;
|
|
void *p_tbase;
|
|
long p_tlen;
|
|
void *p_dbase;
|
|
long p_dlen;
|
|
void *p_bbase;
|
|
long p_blen;
|
|
DTA *p_dta;
|
|
struct baspag *p_parent;
|
|
long p_resrvd0;
|
|
char *p_env;
|
|
char p_stdfh[6];
|
|
char p_resrvd1;
|
|
char p_curdrv;
|
|
long p_resrvd2[18];
|
|
char p_cmdlin[128];
|
|
} BASPAG;
|
|
|
|
|
|
typedef struct /* used by Getbpb */
|
|
{
|
|
int recsiz;
|
|
int clsiz;
|
|
int clsizb;
|
|
int rdlen;
|
|
int fsiz;
|
|
int fatrec;
|
|
int datrec;
|
|
int numcl;
|
|
int bflags;
|
|
} BPB;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
unsigned int time;
|
|
unsigned int date;
|
|
} DOSTIME;
|
|
|
|
|
|
typedef struct /* used by Iorec */
|
|
{
|
|
void *ibuf;
|
|
int ibufsiz;
|
|
int ibufhd;
|
|
int ibuftl;
|
|
int ibuflow;
|
|
int ibufhi;
|
|
} IOREC;
|
|
|
|
|
|
typedef struct /* used by Kbdvbase */
|
|
{
|
|
void (*kb_midivec)();
|
|
void (*kb_vkbderr)();
|
|
void (*kb_vmiderr)();
|
|
void (*kb_statvec)();
|
|
void (*kb_mousevec)();
|
|
void (*kb_clockvec)();
|
|
void (*kb_joyvec)();
|
|
void (*kb_midisys)();
|
|
void (*kb_kbdsys)();
|
|
} KBDVBASE;
|
|
|
|
|
|
typedef struct /* used by Pexec */
|
|
{
|
|
unsigned char length;
|
|
char command_tail[128];
|
|
} COMMAND;
|
|
|
|
|
|
typedef struct /* used by Initmouse */
|
|
{
|
|
char topmode;
|
|
char buttons;
|
|
char x_scale;
|
|
char y_scale;
|
|
int x_max;
|
|
int y_max;
|
|
int x_start;
|
|
int y_start;
|
|
} MOUSE;
|
|
|
|
|
|
typedef struct /* used by Prtblk */
|
|
{
|
|
void *pb_scrptr;
|
|
int pb_offset;
|
|
int pb_width;
|
|
int pb_height;
|
|
int pb_left;
|
|
int pb_right;
|
|
int pb_screz;
|
|
int pb_prrez;
|
|
void *pb_colptr;
|
|
int pb_prtype;
|
|
int pb_prport;
|
|
void *pb_mask;
|
|
} PBDEF;
|
|
|
|
|
|
typedef struct /* used by Keytbl */
|
|
{
|
|
char *unshift;
|
|
char *shift;
|
|
char *capslock;
|
|
} KEYTAB;
|
|
|
|
|
|
typedef struct __md
|
|
{
|
|
struct __md *m_link;
|
|
void *m_start;
|
|
long m_length;
|
|
BASPAG *m_own;
|
|
} MD;
|
|
|
|
|
|
typedef struct /* used by Getmpb */
|
|
{
|
|
MD *mp_mfl;
|
|
MD *mp_mal;
|
|
MD *mp_rover;
|
|
} MPB;
|
|
|
|
typedef struct
|
|
{
|
|
int (*Bconstat) ();
|
|
long (*Bconin) ();
|
|
int (*Bcostat) ();
|
|
void (*Bconout) ();
|
|
long (*Rsconf) ();
|
|
IOREC *iorec;
|
|
} MAPTAB;
|
|
|
|
typedef struct
|
|
{
|
|
MAPTAB *maptab;
|
|
int maptabsize;
|
|
} BCONMAP;
|
|
|
|
/* system variable _sysbase (0x4F2L) points to next structure */
|
|
typedef struct _syshdr
|
|
{
|
|
unsigned os_entry; /* $00 BRA to reset handler */
|
|
unsigned os_version; /* $02 TOS version number */
|
|
void *os_start; /* $04 -> reset handler */
|
|
struct _syshdr *os_base; /* $08 -> baseof OS */
|
|
void *os_membot; /* $0c -> end BIOS/GEMDOS/VDI ram usage */
|
|
void *os_rsv1; /* $10 << unused,reserved >> */
|
|
long *os_magic; /* $14 -> GEM memoryusage parm. block */
|
|
long os_gendat; /* $18 Date of system build($MMDDYYYY) */
|
|
int os_palmode; /* $1c OS configuration bits */
|
|
int os_gendatg; /* $1e DOS-format date of systembuild */
|
|
/*
|
|
The next three fields are only available in TOS versions 1.2 and
|
|
greater
|
|
*/
|
|
void *_root; /* $20 -> base of OS pool */
|
|
long *kbshift; /* $24 -> keyboard shift state variable */
|
|
BASPAG **_run; /* $28 -> GEMDOS PID of current process */
|
|
void *p_rsv2; /* $2c << unused, reserved >> */
|
|
} SYSHDR;
|
|
|
|
|
|
|
|
/* attributes for Fcreate/Fsfirst/Fsnext: */
|
|
|
|
#define FA_READONLY 0x01
|
|
#define FA_HIDDEN 0x02
|
|
#define FA_SYSTEM 0x04
|
|
#define FA_VOLUME 0x08
|
|
#define FA_SUBDIR 0x10
|
|
#define FA_ARCHIVE 0x20
|
|
|
|
/* Fopen modes: */
|
|
|
|
#define FO_READ 0
|
|
#define FO_WRITE 1
|
|
#define FO_RW 2
|
|
|
|
extern BASPAG *_BasPag;
|
|
extern unsigned long _PgmSize;
|
|
|
|
long TRAP( 1) gemdos( void, ... );
|
|
long TRAP(13) bios ( void, ... );
|
|
long TRAP(14) xbios ( void, ... );
|
|
|
|
/****** Tos *************************************************************/
|
|
|
|
void GEMDOS(0) Pterm0( void );
|
|
long GEMDOS(1) Cconin( void );
|
|
void GEMDOS(2) Cconout( int c );
|
|
int GEMDOS(3) Cauxin( void );
|
|
void GEMDOS(4) Cauxout( int c );
|
|
int GEMDOS(5) Cprnout( int c );
|
|
long GEMDOS(6) Crawio( int w );
|
|
long GEMDOS(7) Crawcin( void );
|
|
long GEMDOS(8) Cnecin( void );
|
|
int GEMDOS(9) Cconws( const char *buf );
|
|
void GEMDOS(10) Cconrs( LINE *buf );
|
|
int GEMDOS(11) Cconis( void );
|
|
long GEMDOS(14) Dsetdrv( int drv );
|
|
int GEMDOS(16) Cconos( void );
|
|
int GEMDOS(17) Cprnos( void );
|
|
int GEMDOS(18) Cauxis( void );
|
|
int GEMDOS(19) Cauxos( void );
|
|
int GEMDOS(25) Dgetdrv( void );
|
|
void GEMDOS(26) Fsetdta( DTA *buf );
|
|
long GEMDOS(32) Super( void *stack );
|
|
unsigned int GEMDOS(42) Tgetdate( void );
|
|
unsigned int GEMDOS(43) Tsetdate( unsigned int date );
|
|
unsigned int GEMDOS(44) Tgettime( void );
|
|
unsigned int GEMDOS(45) Tsettime( unsigned int time );
|
|
DTA * GEMDOS(47) Fgetdta( void );
|
|
int GEMDOS(48) Sversion( void );
|
|
void GEMDOS(49) Ptermres( long keepcnt, int retcode );
|
|
int GEMDOS(54) Dfree( DISKINFO *buf, int driveno );
|
|
int GEMDOS(57) Dcreate( const char *path );
|
|
int GEMDOS(58) Ddelete( const char *path );
|
|
int GEMDOS(59) Dsetpath( const char *path );
|
|
long GEMDOS(60) Fcreate( const char *filename, int attr );
|
|
long GEMDOS(61) Fopen( const char *filename, int mo );
|
|
int GEMDOS(62) Fclose( int handle );
|
|
long GEMDOS(63) Fread( int handle, long count, void *buf );
|
|
long GEMDOS(64) Fwrite( int handle, long count, void *buf );
|
|
int GEMDOS(65) Fdelete( const char *filename );
|
|
long GEMDOS(66) Fseek( long offset, int handle, int seekmode );
|
|
int GEMDOS(67) Fattrib( const char *filename, int wflag, int attrib );
|
|
long GEMDOS(69) Fdup( int handle );
|
|
int GEMDOS(70) Fforce( int stch, int nonstdh );
|
|
int GEMDOS(71) Dgetpath( char *path, int driveno );
|
|
void * GEMDOS(72) Malloc( long number );
|
|
int GEMDOS(73) Mfree( void *block );
|
|
int GEMDOS(74) Mshrink( int zero, void *block, long newsiz );
|
|
long GEMDOS(75) Pexec( int mo, char *ptr1, void *ptr2, void *ptr3 );
|
|
void GEMDOS(76) Pterm( int retcode );
|
|
int GEMDOS(78) Fsfirst( const char *filename, int attr );
|
|
int GEMDOS(79) Fsnext( void );
|
|
int GEMDOS(86) Frename( int zero, const char *oldname, const char *newname );
|
|
int GEMDOS(87) Fdatime( DOSTIME *timeptr, int handle, int wflag );
|
|
int GEMDOS(0x119) Pdomain( int newdom );
|
|
void * GEMDOS(0x112) Psignal( int sig, void *handler );
|
|
|
|
/****** TOS 030 Gemdos Extension ****************************************/
|
|
|
|
void * GEMDOS(68) Mxalloc( long number, int mo );
|
|
long GEMDOS(20) Maddalt( void *start, long size );
|
|
|
|
/****** Network Gemdos Extension ****************************************/
|
|
|
|
long GEMDOS(92) Flock( int handle, int mo, long start, long length );
|
|
|
|
/****** Bios ************************************************************/
|
|
|
|
void BIOS( 0) Getmpb( MPB *ptr );
|
|
int BIOS( 1) Bconstat( int dev );
|
|
long BIOS( 2) Bconin( int dev );
|
|
long BIOS( 3) Bconout( int dev, int c );
|
|
long BIOS( 4) Rwabs( int rwflag, void *buf, int cnt, int recnr, int dev );
|
|
void (* BIOS(5) Setexc( int number, void (*exchdlr)() )) ();
|
|
long BIOS( 6) Tickcal( void );
|
|
BPB * BIOS( 7) Getbpb( int dev );
|
|
long BIOS( 8) Bcostat( int dev );
|
|
long BIOS( 9) Mediach( int dev );
|
|
long BIOS(10) Drvmap( void );
|
|
long BIOS(11) Kbshift( int mo );
|
|
long BIOS(12) Lrwabs( int rwflag, void *buf, int cnt, int recnr, int dev );
|
|
|
|
/****** XBios ***********************************************************/
|
|
|
|
void XBIOS(0) Initmouse( int type, MOUSE *par, void (*mousevec)() );
|
|
void * XBIOS(1) Ssbrk( int count );
|
|
void * XBIOS(2) Physbase( void );
|
|
void * XBIOS(3) Logbase( void );
|
|
int XBIOS(4) Getrez( void );
|
|
void XBIOS(5) Setscreen( void *laddr, void *paddr, int rez );
|
|
void XBIOS(6) Setpalette( void *pallptr );
|
|
int XBIOS(7) Setcolor( int colornum, int color );
|
|
int XBIOS(8) Floprd( void *buf, void *filler, int devno, int sectno,
|
|
int trackno, int sideno, int count );
|
|
int XBIOS(9) Flopwr( void *buf, void *filler, int devno, int sectno,
|
|
int trackno, int sideno, int count );
|
|
int XBIOS(10) Flopfmt( void *buf, void *filler, int devno, int spt, int trackno,
|
|
int sideno, int interlv, long magic, int virgin );
|
|
void XBIOS(12) Midiws( int cnt, void *ptr );
|
|
void XBIOS(13) Mfpint( int erno, void (*vector)() );
|
|
IOREC * XBIOS(14) Iorec( int dev );
|
|
long XBIOS(15) Rsconf( int baud, int ctr, int ucr, int rsr, int tsr, int scr );
|
|
KEYTAB *XBIOS(16) Keytbl( void *unshift, void *shift, void *capslock );
|
|
long XBIOS(17) Random( void );
|
|
void XBIOS(18) Protobt( void *buf, long serialno, int disktype, int execflag );
|
|
int XBIOS(19) Flopver( void *buf, void *filler, int devno, int sectno,
|
|
int trackno, int sideno, int count );
|
|
void XBIOS(20) Scrdmp( void );
|
|
int XBIOS(21) Cursconf( int func, int rate );
|
|
void XBIOS(22) Settime( unsigned long time );
|
|
unsigned
|
|
long XBIOS(23) Gettime( void );
|
|
void XBIOS(24) Bioskeys( void );
|
|
void XBIOS(25) Ikbdws( int count, void *ptr );
|
|
void XBIOS(26) Jdisint( int number );
|
|
void XBIOS(27) Jenabint( int number );
|
|
char XBIOS(28) Giaccess( char data, int regno );
|
|
void XBIOS(29) Offgibit( int bitno );
|
|
void XBIOS(30) Ongibit( int bitno );
|
|
void XBIOS(31) Xbtimer( int timer, int control, int data, void (*vector)() );
|
|
void * XBIOS(32) Dosound( void *buf );
|
|
int XBIOS(33) Setprt( int config );
|
|
KBDVBASE * XBIOS(34)Kbdvbase( void );
|
|
int XBIOS(35) Kbrate( int initial, int repeat );
|
|
void XBIOS(36) Prtblk( PBDEF *par );
|
|
void XBIOS(37) Vsync( void );
|
|
typedef long Supfunc(void);
|
|
long XBIOS(38) Supexec( Supfunc * );
|
|
void XBIOS(39) Puntaes( void );
|
|
int XBIOS(41) Floprate( int devno, int newrate );
|
|
int XBIOS(64) Blitmode( int mo );
|
|
|
|
/* TOS030 XBios */
|
|
int XBIOS(42) DMAread( long sector, int count, void *buffer, int devno );
|
|
int XBIOS(43) DMAwrite( long sector, int count, void *buffer, int devno );
|
|
long XBIOS(44) Bconmap( int devno );
|
|
int XBIOS(46) NVMaccess( int opcode, int start, int count, void *buffer );
|
|
int XBIOS(80) Esetshift( int shftMode );
|
|
int XBIOS(81) Egetshift( void );
|
|
int XBIOS(82) EsetBank( int bankNum );
|
|
int XBIOS(83) EsetColor( int colorNum, int color );
|
|
void XBIOS(84) EsetPalette( int colorNum, int count, int *palettePtr );
|
|
void XBIOS(85) EgetPalette( int colorNum, int count, int *palettePtr );
|
|
int XBIOS(86) EsetGray( int swtch );
|
|
int XBIOS(87) EsetSmear( int swtch );
|
|
|
|
#if !defined( __SIGNAL__ )
|
|
#define __SIGNAL__
|
|
/* signal handling */
|
|
|
|
#define NSIG 31 /* number of signals recognized */
|
|
|
|
#define SIGNULL 0 /* not really a signal */
|
|
#define SIGHUP 1 /* hangup signal */
|
|
#define SIGINT 2 /* sent by ^C */
|
|
#define SIGQUIT 3 /* quit signal */
|
|
#define SIGILL 4 /* illegal instruction */
|
|
#define SIGTRAP 5 /* trace trap */
|
|
#define SIGABRT 6 /* abort signal */
|
|
#define SIGPRIV 7 /* privilege violation */
|
|
#define SIGFPE 8 /* divide by zero */
|
|
#define SIGKILL 9 /* cannot be ignored */
|
|
#define SIGBUS 10 /* bus error */
|
|
#define SIGSEGV 11 /* illegal memory reference */
|
|
#define SIGSYS 12 /* bad argument to a system call */
|
|
#define SIGPIPE 13 /* broken pipe */
|
|
#define SIGALRM 14 /* alarm clock */
|
|
#define SIGTERM 15 /* software termination signal */
|
|
#define SIGURG 16 /* urgent condition on I/O channel */
|
|
#define SIGSTOP 17 /* stop signal not from terminal */
|
|
#define SIGTSTP 18 /* stop signal from terminal */
|
|
#define SIGCONT 19 /* continue stopped process */
|
|
#define SIGCHLD 20 /* child stopped or exited */
|
|
#define SIGTTIN 21 /* read by background process */
|
|
#define SIGTTOU 22 /* write by background process */
|
|
#define SIGIO 23 /* I/O possible on a descriptor */
|
|
#define SIGXCPU 24 /* CPU time exhausted */
|
|
#define SIGXFSZ 25 /* file size limited exceeded */
|
|
#define SIGVTALRM 26 /* virtual timer alarm */
|
|
#define SIGPROF 27 /* profiling timer expired */
|
|
#define SIGWINCH 28 /* window size changed */
|
|
#define SIGUSR1 29 /* user signal 1 */
|
|
#define SIGUSR2 30 /* user signal 2 */
|
|
|
|
#define SIG_DFL 0 /* default signal handler */
|
|
#define SIG_IGN 1 /* ignore the signal */
|
|
#endif
|
|
|
|
#ifndef S_IFMT
|
|
|
|
/* file types (Could be already in mint.h) */
|
|
#define S_IFMT 0170000 /* mask to select file type */
|
|
#define S_IFCHR 0020000 /* BIOS special file */
|
|
#define S_IFDIR 0040000 /* directory file */
|
|
#define S_IFREG 0100000 /* regular file */
|
|
#define S_IFIFO 0120000 /* FIFO */
|
|
#define S_IMEM 0140000 /* memory region or process */
|
|
#define S_IFLNK 0160000 /* symbolic link */
|
|
|
|
/* special bits: setuid, setgid, sticky bit */
|
|
#define S_ISUID 0004000
|
|
#define S_ISGID 0002000
|
|
#define S_ISVTX 0001000
|
|
|
|
/* file access modes for user, group, and other*/
|
|
#define S_IRUSR 0000400
|
|
#define S_IWUSR 0000200
|
|
#define S_IXUSR 0000100
|
|
#define S_IRGRP 0000040
|
|
#define S_IWGRP 0000020
|
|
#define S_IXGRP 0000010
|
|
#define S_IROTH 0000004
|
|
#define S_IWOTH 0000002
|
|
#define S_IXOTH 0000001
|
|
|
|
#define DEFAULT_DIRMODE (0777)
|
|
#if 0
|
|
#define DEFAULT_MODE (0666)
|
|
#endif
|
|
|
|
typedef struct
|
|
{
|
|
long msg1;
|
|
long msg2;
|
|
int pid;
|
|
} MSG;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned int mode;
|
|
long index;
|
|
unsigned int dev;
|
|
unsigned int reserved1;
|
|
unsigned int nlink;
|
|
unsigned int uid;
|
|
unsigned int gid;
|
|
long size;
|
|
long blksize;
|
|
long nblocks;
|
|
int mtime;
|
|
int mdate;
|
|
int atime;
|
|
int adate;
|
|
int ctime;
|
|
int cdate;
|
|
int attr;
|
|
int reserved2;
|
|
long reserved3[2];
|
|
} XATTR;
|
|
|
|
|
|
#define SA_NOCLDSTOP 1
|
|
|
|
typedef struct
|
|
{
|
|
void (*sa_handler)( long sig );
|
|
long sa_mask;
|
|
int sa_flags;
|
|
} SIGACTION;
|
|
|
|
typedef struct
|
|
{
|
|
long msg1;
|
|
long msg2;
|
|
int pid;
|
|
} __MSG;
|
|
|
|
#endif /* S_IFMT */
|
|
|
|
int GEMDOS(0xff) Syield( void );
|
|
int GEMDOS(0x100) Fpipe( int *usrh );
|
|
int GEMDOS(0x104) Fcntl( int f, long arg, int cmd );
|
|
long GEMDOS(0x105) Finstat( int f );
|
|
long GEMDOS(0x106) Foutstat( int f );
|
|
long GEMDOS(0x107) Fgetchar( int f, int mo );
|
|
long GEMDOS(0x108) Fputchar( int f, long c, int mo );
|
|
long GEMDOS(0x109) Pwait( void );
|
|
int GEMDOS(0x10a) Pnice( int delta );
|
|
int GEMDOS(0x10b) Pgetpid( void );
|
|
int GEMDOS(0x10c) Pgetppid( void );
|
|
int GEMDOS(0x10d) Pgetpgrp( void );
|
|
int GEMDOS(0x10e) Psetpgrp( int pid, int newgrp );
|
|
int GEMDOS(0x10f) Pgetuid( void );
|
|
int GEMDOS(0x110) Psetuid( int id );
|
|
int GEMDOS(0x111) Pkill( int pid, int sig );
|
|
int GEMDOS(0x113) Pvfork( void );
|
|
int GEMDOS(0x114) Pgetgid( void );
|
|
int GEMDOS(0x115) Psetgid( int id );
|
|
long GEMDOS(0x116) Psigblock( long mask );
|
|
long GEMDOS(0x117) Psigsetmask( long mask );
|
|
long GEMDOS(0x118) Pusrval( long arg );
|
|
void GEMDOS(0x11a) Psigreturn( void );
|
|
int GEMDOS(0x11b) Pfork( void );
|
|
long GEMDOS(0x11c) Pwait3( int flag, long *rusage );
|
|
int GEMDOS(0x11d) Fselect( unsigned int timeout, long *rfds, long *wfds, long *xfds );
|
|
void GEMDOS(0x11e) Prusage( long *r );
|
|
long GEMDOS(0x11f) Psetlimit( int lim, long value );
|
|
long GEMDOS(0x120) Talarm( long secs );
|
|
void GEMDOS(0x121) Pause( void );
|
|
long GEMDOS(0x122) Sysconf( int n );
|
|
long GEMDOS(0x123) Psigpending( void );
|
|
long GEMDOS(0x124) Dpathconf( char *name, int n );
|
|
long GEMDOS(0x125) Pmsg( int mo, long mbox, __MSG *msg );
|
|
long GEMDOS(0x126) Fmidipipe( int pid, int in, int out );
|
|
int GEMDOS(0x127) Prenice( int pid, int delta );
|
|
long GEMDOS(0x128) Dopendir( const char *name, int flag );
|
|
long GEMDOS(0x129) Dreaddir( int buflen, long dir, char *buf );
|
|
long GEMDOS(0x12a) Drewinddir( long dir );
|
|
long GEMDOS(0x12b) Dclosedir( long dir );
|
|
long GEMDOS(0x12c) Fxattr( int flag, const char *name, XATTR *buf );
|
|
long GEMDOS(0x12d) Flink( char *oldname, char *newname );
|
|
long GEMDOS(0x12e) Fsymlink( char *oldname, char *newname );
|
|
long GEMDOS(0x12f) Freadlink( int size, char *buf, char *name );
|
|
long GEMDOS(0x130) Dcntl( int cmd, char *name, long arg );
|
|
long GEMDOS(0x131) Fchown( char *name, int uid, int gid );
|
|
long GEMDOS(0x132) Fchmod( char *name, int mo );
|
|
long GEMDOS(0x133) Pumask( unsigned int mo );
|
|
long GEMDOS(0x134) Psemaphore( int mo, long id, long timeout );
|
|
long GEMDOS(0x135) Dlock( int mo, int drive );
|
|
void GEMDOS(0x136) Psigpause( unsigned long mask );
|
|
long GEMDOS(0x137) Psigaction( int sig, SIGACTION *act, SIGACTION *oact );
|
|
int GEMDOS(0x138) Pgeteuid( void );
|
|
int GEMDOS(0x139) Pgetegid( void );
|
|
long GEMDOS(0x13b) Dgetcwd( char *path, int drv, int size );
|
|
long GEMDOS(0x13a) Pwaitpid( int pid, int flag, long *rusage );
|
|
long GEMDOS(0x13c) Salert(char *msg);
|
|
|
|
/* Falcon */
|
|
|
|
#define VERTFLAG 0x0100
|
|
#define STMODES 0x0080
|
|
#define OVERSCAN 0x0040
|
|
#define PAL 0x0020
|
|
#define VGA_FALCON 0x0010
|
|
#define TV 0x0000
|
|
|
|
#define COL80 0x08
|
|
#define COL40 0x00
|
|
|
|
#define BPS16 4
|
|
#define BPS8 3
|
|
#define BPS4 2
|
|
#define BPS2 1
|
|
#define BPS1 0
|
|
|
|
#define NUMCOLS 7
|
|
|
|
|
|
typedef struct
|
|
{
|
|
int blocktype;
|
|
long blocksize;
|
|
void *blockaddr;
|
|
} DSPBLOCK;
|
|
|
|
|
|
void XBIOS( 5) VsetScreen( void *log, void *phys, int mode, int modecode);
|
|
int XBIOS( 88) Vsetmode( int modecode );
|
|
int XBIOS( 89) mon_type( void );
|
|
int XBIOS( 89) VgetMonitor( void );
|
|
void XBIOS( 90) VsetSync( int flag );
|
|
long XBIOS( 91) VgetSize( int mode );
|
|
void XBIOS( 92) VsetMask( int ormask, int andmask, int overlay );
|
|
void XBIOS( 93) VsetRGB( int index, int count, long *array );
|
|
void XBIOS( 94) VgetRGB( int index, int count, long *array );
|
|
int XBIOS( 95) VcheckMode( int modecode );
|
|
int XBIOS( 95) ValidMode( int modecode );
|
|
|
|
void XBIOS( 96) Dsp_DoBlock( char *data_in, long size_in, char *data_out,
|
|
long size_out );
|
|
void XBIOS( 97) Dsp_BlkHandShake( char *data_in, long size_in, char *data_out,
|
|
long size_out );
|
|
void XBIOS( 98) Dsp_BlkUnpacked( long *data_in, long size_in, long *data_out,
|
|
long size_out );
|
|
void XBIOS( 99) Dsp_InStream( char *data_in, long block_size, long num_blocks,
|
|
long *blocks_done );
|
|
void XBIOS(100) Dsp_OutStream( char *data_out, long block_size, long num_blocks,
|
|
long *blocks_done );
|
|
void XBIOS(101) Dsp_IOStream( char *data_in, char *data_out, long block_insize,
|
|
long block_outsize, long num_blocks,
|
|
long *blocks_done );
|
|
void XBIOS(102) Dsp_RemoveInterrupts( int mask );
|
|
int XBIOS(103) Dsp_GetWordSize( void );
|
|
int XBIOS(104) Dsp_Lock( void );
|
|
void XBIOS(105) Dsp_Unlock( void );
|
|
void XBIOS(106) Dsp_Available( long *xavailable, long *yavailable );
|
|
int XBIOS(107) Dsp_Reserve( long xreserve, long yreserve );
|
|
int XBIOS(108) Dsp_LoadProg( char *file, int ability, char *buffer );
|
|
void XBIOS(109) Dsp_ExecProg( char *codeptr, long codesize, int ability );
|
|
void XBIOS(110) Dsp_ExecBoot( char *codeptr, long codesize, int ability );
|
|
long XBIOS(111) Dsp_LodToBinary( char *file, char *codeptr );
|
|
void XBIOS(112) Dsp_TriggerHC( int vector );
|
|
int XBIOS(113) Dsp_RequestUniqueAbility( void );
|
|
int XBIOS(114) Dsp_GetProgAbility( void );
|
|
void XBIOS(115) Dsp_FlushSubroutines( void );
|
|
int XBIOS(116) Dsp_LoadSubroutine( char *codeptr, long codesize, int ability );
|
|
int XBIOS(117) Dsp_InqSubrAbility( int ability );
|
|
int XBIOS(118) Dsp_RunSubroutine( int handle );
|
|
int XBIOS(119) Dsp_Hf0( int flag );
|
|
int XBIOS(120) Dsp_Hf1( int flag );
|
|
int XBIOS(121) Dsp_Hf2( void );
|
|
int XBIOS(122) Dsp_Hf3( void );
|
|
void XBIOS(123) Dsp_BlkWords( void *data_in, long size_in, void *data_out,
|
|
long size_out );
|
|
void XBIOS(124) Dsp_BlkBytes( void *data_in, long size_in, void *data_out,
|
|
long size_out );
|
|
char XBIOS(125) Dsp_HStat( void );
|
|
void XBIOS(126) Dsp_SetVectors( void (*receiver)( ), long (*transmitter)( ));
|
|
void XBIOS(127) Dsp_MultBlocks( long numsend, long numreceive,
|
|
DSPBLOCK *sendblocks, DSPBLOCK *receiveblocks );
|
|
|
|
long XBIOS(128) locksnd( void );
|
|
long XBIOS(129) unlocksnd( void );
|
|
long XBIOS(130) soundcmd( int mode, int data );
|
|
long XBIOS(131) setbuffer( int reg, void *begaddr, void *endaddr );
|
|
long XBIOS(132) setmode( int mode );
|
|
long XBIOS(133) settracks( int playtracks, int rectracks );
|
|
long XBIOS(134) setmontracks( int montrack );
|
|
long XBIOS(135) setinterrupt( int src_inter, int cause );
|
|
long XBIOS(136) buffoper( int mode );
|
|
long XBIOS(137) dsptristate( int dspxmit, int dsprec );
|
|
long XBIOS(138) gpio( int mode, int data );
|
|
long XBIOS(139) devconnect( int src, int dst, int srcclk, int prescale,
|
|
int protocol );
|
|
long XBIOS(140) sndstatus( int reset );
|
|
long XBIOS(141) buffptr( long *ptr );
|
|
|
|
/* XBIOS(150) VsetVars ( ?????? ); */
|
|
|
|
int XBIOS(165) WavePlay( int flags, long rate, void *sptr, long slen );
|
|
|
|
#endif
|
|
|
|
/************************************************************************/
|