|
|
1.1 ! root 1: /* Special osbind.h file for MiNT and PureC, see puremint.txt ! 2: ! 3: for details */ ! 4: ! 5: ! 6: ! 7: typedef struct /* used by Cconrs */ ! 8: ! 9: { ! 10: ! 11: unsigned char maxlen; ! 12: ! 13: unsigned char actuallen; ! 14: ! 15: char buffer[255]; ! 16: ! 17: } LINE; ! 18: ! 19: ! 20: ! 21: ! 22: ! 23: typedef struct /* used by Fsetdta, Fgetdta */ ! 24: ! 25: { ! 26: ! 27: char d_reserved[21]; ! 28: ! 29: unsigned char d_attrib; ! 30: ! 31: unsigned int d_time; ! 32: ! 33: unsigned int d_date; ! 34: ! 35: unsigned long d_length; ! 36: ! 37: char d_fname[14]; ! 38: ! 39: } DTA; ! 40: ! 41: ! 42: ! 43: typedef struct baspag /* used by Pexec */ ! 44: ! 45: { ! 46: ! 47: void *p_lowtpa; ! 48: ! 49: void *p_hitpa; ! 50: ! 51: void *p_tbase; ! 52: ! 53: long p_tlen; ! 54: ! 55: void *p_dbase; ! 56: ! 57: long p_dlen; ! 58: ! 59: void *p_bbase; ! 60: ! 61: long p_blen; ! 62: ! 63: DTA *p_dta; ! 64: ! 65: struct baspag *p_parent; ! 66: ! 67: long p_resrvd0; ! 68: ! 69: char *p_env; ! 70: ! 71: char p_stdfh[6]; ! 72: ! 73: char p_resrvd1; ! 74: ! 75: char p_curdrv; ! 76: ! 77: long p_resrvd2[18]; ! 78: ! 79: char p_cmdlin[128]; ! 80: ! 81: } BASPAG; ! 82: ! 83: ! 84: ! 85: typedef struct /* used by Getbpb */ ! 86: ! 87: { ! 88: ! 89: int recsiz; ! 90: ! 91: int clsiz; ! 92: ! 93: int clsizb; ! 94: ! 95: int rdlen; ! 96: ! 97: int fsiz; ! 98: ! 99: int fatrec; ! 100: ! 101: int datrec; ! 102: ! 103: int numcl; ! 104: ! 105: int bflags; ! 106: ! 107: } BPB; ! 108: ! 109: ! 110: ! 111: typedef struct /* used by Iorec */ ! 112: ! 113: { ! 114: ! 115: void *ibuf; ! 116: ! 117: int ibufsiz; ! 118: ! 119: int ibufhd; ! 120: ! 121: int ibuftl; ! 122: ! 123: int ibuflow; ! 124: ! 125: int ibufhi; ! 126: ! 127: } IOREC; ! 128: ! 129: ! 130: ! 131: ! 132: ! 133: typedef struct /* used by Kbdvbase */ ! 134: ! 135: { ! 136: ! 137: void (*kb_midivec)(); ! 138: ! 139: void (*kb_vkbderr)(); ! 140: ! 141: void (*kb_vmiderr)(); ! 142: ! 143: void (*kb_statvec)(); ! 144: ! 145: void (*kb_mousevec)(); ! 146: ! 147: void (*kb_clockvec)(); ! 148: ! 149: void (*kb_joyvec)(); ! 150: ! 151: void (*kb_midisys)(); ! 152: ! 153: void (*kb_kbdsys)(); ! 154: ! 155: } KBDVBASE; ! 156: ! 157: ! 158: ! 159: ! 160: ! 161: typedef struct /* used by Pexec */ ! 162: ! 163: { ! 164: ! 165: unsigned char length; ! 166: ! 167: char command_tail[128]; ! 168: ! 169: } COMMAND; ! 170: ! 171: ! 172: ! 173: ! 174: ! 175: typedef struct /* used by Prtblk */ ! 176: ! 177: { ! 178: ! 179: void *pb_scrptr; ! 180: ! 181: int pb_offset; ! 182: ! 183: int pb_width; ! 184: ! 185: int pb_height; ! 186: ! 187: int pb_left; ! 188: ! 189: int pb_right; ! 190: ! 191: int pb_screz; ! 192: ! 193: int pb_prrez; ! 194: ! 195: void *pb_colptr; ! 196: ! 197: int pb_prtype; ! 198: ! 199: int pb_prport; ! 200: ! 201: void *pb_mask; ! 202: ! 203: } PBDEF; ! 204: ! 205: ! 206: ! 207: ! 208: ! 209: typedef struct /* used by Keytbl */ ! 210: ! 211: { ! 212: ! 213: char *unshift; ! 214: ! 215: char *shift; ! 216: ! 217: char *capslock; ! 218: ! 219: } KEYTAB; ! 220: ! 221: ! 222: ! 223: ! 224: ! 225: typedef struct __md ! 226: ! 227: { ! 228: ! 229: struct __md *m_link; ! 230: ! 231: void *m_start; ! 232: ! 233: long m_length; ! 234: ! 235: BASPAG *m_own; ! 236: ! 237: } MD; ! 238: ! 239: ! 240: ! 241: ! 242: ! 243: typedef struct /* used by Getmpb */ ! 244: ! 245: { ! 246: ! 247: MD *mp_mfl; ! 248: ! 249: MD *mp_mal; ! 250: ! 251: MD *mp_rover; ! 252: ! 253: } MPB; ! 254: ! 255: ! 256: ! 257: typedef struct ! 258: ! 259: { ! 260: ! 261: int (*Bconstat) (); ! 262: ! 263: long (*Bconin) (); ! 264: ! 265: int (*Bcostat) (); ! 266: ! 267: void (*Bconout) (); ! 268: ! 269: long (*Rsconf) (); ! 270: ! 271: IOREC *iorec; ! 272: ! 273: } MAPTAB; ! 274: ! 275: ! 276: ! 277: typedef struct ! 278: ! 279: { ! 280: ! 281: MAPTAB *maptab; ! 282: ! 283: int maptabsize; ! 284: ! 285: } BCONMAP; ! 286: ! 287: ! 288: ! 289: /* system variable _sysbase (0x4F2L) points to next structure */ ! 290: ! 291: typedef struct _syshdr ! 292: ! 293: { ! 294: ! 295: unsigned os_entry; /* $00 BRA to reset handler */ ! 296: ! 297: unsigned os_version; /* $02 TOS version number */ ! 298: ! 299: void *os_start; /* $04 -> reset handler */ ! 300: ! 301: struct _syshdr *os_base; /* $08 -> baseof OS */ ! 302: ! 303: void *os_membot; /* $0c -> end BIOS/GEMDOS/VDI ram usage */ ! 304: ! 305: void *os_rsv1; /* $10 << unused,reserved >> */ ! 306: ! 307: long *os_magic; /* $14 -> GEM memoryusage parm. block */ ! 308: ! 309: long os_gendat; /* $18 Date of system build($MMDDYYYY) */ ! 310: ! 311: int os_palmode; /* $1c OS configuration bits */ ! 312: ! 313: int os_gendatg; /* $1e DOS-format date of systembuild */ ! 314: ! 315: /* ! 316: ! 317: The next three fields are only available in TOS versions 1.2 and ! 318: ! 319: greater ! 320: ! 321: */ ! 322: ! 323: void *_root; /* $20 -> base of OS pool */ ! 324: ! 325: long *kbshift; /* $24 -> keyboard shift state variable */ ! 326: ! 327: BASPAG **_run; /* $28 -> GEMDOS PID of current process */ ! 328: ! 329: void *p_rsv2; /* $2c << unused, reserved >> */ ! 330: ! 331: } SYSHDR; ! 332: ! 333: ! 334: ! 335: ! 336: ! 337: ! 338: ! 339: /* attributes for Fcreate/Fsfirst/Fsnext: */ ! 340: ! 341: ! 342: ! 343: #define FA_READONLY 0x01 ! 344: ! 345: #define FA_HIDDEN 0x02 ! 346: ! 347: #define FA_SYSTEM 0x04 ! 348: ! 349: #define FA_VOLUME 0x08 ! 350: ! 351: #define FA_SUBDIR 0x10 ! 352: ! 353: #define FA_ARCHIVE 0x20 ! 354: ! 355: ! 356: ! 357: /* Fopen modes: */ ! 358: ! 359: ! 360: ! 361: #define FO_READ 0 ! 362: ! 363: #define FO_WRITE 1 ! 364: ! 365: #define FO_RW 2 ! 366: ! 367: ! 368: ! 369: extern BASPAG *_BasPag; ! 370: ! 371: extern long _PgmSize; ! 372: ! 373: ! 374: ! 375: /****** Tos *************************************************************/ ! 376: ! 377: ! 378: ! 379: void Pterm0( void ); ! 380: ! 381: long Cconin( void ); ! 382: ! 383: void Cconout( int c ); ! 384: ! 385: int Cauxin( void ); ! 386: ! 387: void Cauxout( int c ); ! 388: ! 389: int Cprnout( int c ); ! 390: ! 391: long Crawio( int w ); ! 392: ! 393: long Crawcin( void ); ! 394: ! 395: long Cnecin( void ); ! 396: ! 397: int Cconws( const char *buf ); ! 398: ! 399: void Cconrs( LINE *buf ); ! 400: ! 401: int Cconis( void ); ! 402: ! 403: long Dsetdrv( int drv ); ! 404: ! 405: int Cconos( void ); ! 406: ! 407: int Cprnos( void ); ! 408: ! 409: int Cauxis( void ); ! 410: ! 411: int Cauxos( void ); ! 412: ! 413: int Dgetdrv( void ); ! 414: ! 415: void Fsetdta( void *buf ); ! 416: ! 417: long Super( void *stack ); ! 418: ! 419: unsigned int Tgetdate( void ); ! 420: ! 421: unsigned int Tsetdate( unsigned int date ); ! 422: ! 423: unsigned int Tgettime( void ); ! 424: ! 425: unsigned int Tsettime( unsigned int time ); ! 426: ! 427: DTA *Fgetdta( void ); ! 428: ! 429: int Sversion( void ); ! 430: ! 431: void Ptermres( long keepcnt, int retcode ); ! 432: ! 433: int Dfree( long *buf, int driveno ); ! 434: ! 435: int Dcreate( const char *path ); ! 436: ! 437: int Ddelete( const char *path ); ! 438: ! 439: int Dsetpath( const char *path ); ! 440: ! 441: long Fcreate( const char *filename, int attr ); ! 442: ! 443: long Fopen( const char *filename, int mode ); ! 444: ! 445: int Fclose( int handle ); ! 446: ! 447: long Fread( int handle, long count, void *buf ); ! 448: ! 449: long Fwrite( int handle, long count, void *buf ); ! 450: ! 451: int Fdelete( const char *filename ); ! 452: ! 453: long Fseek( long offset, int handle, int seekmode ); ! 454: ! 455: int Fattrib( const char *filename, int wflag, int attrib ); ! 456: ! 457: long Fdup( int handle ); ! 458: ! 459: long Fforce( int stch, int nonstdh ); ! 460: ! 461: int Dgetpath( char *path, int driveno ); ! 462: ! 463: long Malloc( long number ); ! 464: ! 465: int Mfree( void *block ); ! 466: ! 467: int Mshrink( int zero, void *block, long newsiz ); ! 468: ! 469: long Pexec( int mode, char *ptr1, void *ptr2, void *ptr3 ); ! 470: ! 471: void Pterm( int retcode ); ! 472: ! 473: int Fsfirst( const char *filename, int attr ); ! 474: ! 475: int Fsnext( void ); ! 476: ! 477: int Frename( int zero, const char *oldname, const char *newname ); ! 478: ! 479: int Fdatime( short *timeptr, int handle, int wflag ); ! 480: ! 481: ! 482: ! 483: /****** TOS 030 Gemdos Extension ****************************************/ ! 484: ! 485: ! 486: ! 487: long Mxalloc( long number, int mode ); ! 488: ! 489: long Maddalt( void *start, long size ); ! 490: ! 491: ! 492: ! 493: /****** Network Gemdos Extension ****************************************/ ! 494: ! 495: ! 496: ! 497: long Flock( int handle, int mode, long start, long length ); ! 498: ! 499: ! 500: ! 501: /****** Bios ************************************************************/ ! 502: ! 503: ! 504: ! 505: void Getmpb( MPB *ptr ); ! 506: ! 507: int Bconstat( int dev ); ! 508: ! 509: long Bconin( int dev ); ! 510: ! 511: long Bconout( int dev, int c ); ! 512: ! 513: long Rwabs( int rwflag, void *buf, int cnt, int recnr, int dev ); ! 514: ! 515: void (*Setexc( int number, long *exchdlr)); ! 516: ! 517: long Tickcal( void ); ! 518: ! 519: BPB *Getbpb( int dev ); ! 520: ! 521: long Bcostat( int dev ); ! 522: ! 523: long Mediach( int dev ); ! 524: ! 525: long Drvmap( void ); ! 526: ! 527: long Kbshift( int mode ); ! 528: ! 529: ! 530: ! 531: ! 532: ! 533: /****** XBios ***********************************************************/ ! 534: ! 535: ! 536: ! 537: void Initmous( int type, char *par, void *mousevec); ! 538: ! 539: void *Ssbrk( int count ); ! 540: ! 541: void *Physbase( void ); ! 542: ! 543: void *Logbase( void ); ! 544: ! 545: int Getrez( void ); ! 546: ! 547: void Setscreen( void *laddr, void *paddr, int rez ); ! 548: ! 549: void Setpalette( void *pallptr ); ! 550: ! 551: int Setcolor( int colornum, int color ); ! 552: ! 553: int Floprd( void *buf, long filler, int devno, int sectno, ! 554: ! 555: int trackno, int sideno, int count ); ! 556: ! 557: int Flopwr( void *buf, long filler, int devno, int sectno, ! 558: ! 559: int trackno, int sideno, int count ); ! 560: ! 561: int Flopfmt( void *buf, long filler, int devno, int spt, int trackno, ! 562: ! 563: int sideno, int interlv, long magic, int virgin ); ! 564: ! 565: void Midiws( int cnt, void *ptr ); ! 566: ! 567: void Mfpint( int erno, void (*vector)() ); ! 568: ! 569: IOREC *Iorec( int dev ); ! 570: ! 571: long Rsconf( int baud, int ctr, int ucr, int rsr, int tsr, int scr ); ! 572: ! 573: KEYTAB *Keytbl( void *unshift, void *shift, void *capslock ); ! 574: ! 575: long Random( void ); ! 576: ! 577: void Protobt( void *buf, long serialno, int disktype, int execflag ); ! 578: ! 579: int Flopver( void *buf, long filler, int devno, int sectno, ! 580: ! 581: int trackno, int sideno, int count ); ! 582: ! 583: void Scrdmp( void ); ! 584: ! 585: int Cursconf( int func, int rate ); ! 586: ! 587: void Settime( unsigned long time ); ! 588: ! 589: unsigned long Gettime( void ); ! 590: ! 591: void Bioskeys( void ); ! 592: ! 593: void Ikbdws( int count, void *ptr ); ! 594: ! 595: void Jdisint( int number ); ! 596: ! 597: void Jenabint( int number ); ! 598: ! 599: char Giaccess( char data, int regno ); ! 600: ! 601: void Offgibit( int bitno ); ! 602: ! 603: void Ongibit( int bitno ); ! 604: ! 605: void Xbtimer( int timer, int control, int data, void (*vector)() ); ! 606: ! 607: void *Dosound( void *buf ); ! 608: ! 609: int Setprt( int config ); ! 610: ! 611: KBDVBASE *Kbdvbase( void ); ! 612: ! 613: int Kbrate( int initial, int repeat ); ! 614: ! 615: void Prtblk( PBDEF *par ); ! 616: ! 617: void Vsync( void ); ! 618: ! 619: long Supexec( long (*func)() ); ! 620: ! 621: void Puntaes( void ); ! 622: ! 623: int Floprate( int devno, int newrate ); ! 624: ! 625: int Blitmode( int mode ); ! 626: ! 627: ! 628: ! 629: /* TOS030 XBios */ ! 630: ! 631: int DMAread( long sector, int count, void *buffer, int devno ); ! 632: ! 633: int DMAwrite( long sector, int count, void *buffer, int devno ); ! 634: ! 635: int NVMaccess( int opcode, int start, int count, void *buffer ); ! 636: ! 637: long Bconmap( int devno ); ! 638: ! 639: int Esetshift( int shftMode ); ! 640: ! 641: int Egetshift( void ); ! 642: ! 643: int EsetBank( int bankNum ); ! 644: ! 645: int EsetColor( int colorNum, int color ); ! 646: ! 647: void EsetPalette( int colorNum, int count, int *palettePtr ); ! 648: ! 649: void EgetPalette( int colorNum, int count, int *palettePtr ); ! 650: ! 651: int EsetGray( int swtch ); ! 652: ! 653: int EsetSmear( int swtch ); ! 654:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.