first commit - moved from local dev to git
This commit is contained in:
36
devtools/ahcccf.bin/include/mint/basepage.h
Normal file
36
devtools/ahcccf.bin/include/mint/basepage.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* BASEPAGE.H Definition of the basepage structure
|
||||
*/
|
||||
|
||||
#ifndef _MINT_BASEPAGE_H
|
||||
# define _MINT_BASEPAGE_H 1
|
||||
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
typedef struct basep {
|
||||
char *p_lowtpa; /* pointer to self (bottom of TPA) */
|
||||
char *p_hitpa; /* pointer to top of TPA + 1 */
|
||||
char *p_tbase; /* base of text segment */
|
||||
long p_tlen; /* length of text segment */
|
||||
char *p_dbase; /* base of data segment */
|
||||
long p_dlen; /* length of data segment */
|
||||
char *p_bbase; /* base of BSS segment */
|
||||
long p_blen; /* length of BSS segment */
|
||||
char *p_dta; /* (UNOFFICIAL, DON'T USE) */
|
||||
struct basep *p_parent; /* pointer to parent's basepage */
|
||||
char *p_reserved; /* reserved for future use */
|
||||
char *p_env; /* pointer to environment string */
|
||||
char p_junk[8];
|
||||
long p_undef[18]; /* scratch area... don't touch */
|
||||
char p_cmdlin[128]; /* command line image */
|
||||
} BASEPAGE;
|
||||
|
||||
extern BASEPAGE *_base;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _MINT_BASEPAGE_H */
|
||||
569
devtools/ahcccf.bin/include/mint/cookie.h
Normal file
569
devtools/ahcccf.bin/include/mint/cookie.h
Normal file
@@ -0,0 +1,569 @@
|
||||
#ifndef _cookie_h_
|
||||
#define _cookie_h_
|
||||
|
||||
/* This cookie list was generated from cookie.dat (Kelly's MiNT-Setter) */
|
||||
/* Some defines had had to be renamed because some cookie names containing */
|
||||
/* 'non-define-able' characters. For this special characters '_' were */
|
||||
/* inserted (e.g. LP/2 -> C_LP_2, UN*X -> C_UN_X) */
|
||||
|
||||
#define C_3DMN 0x33444D4EL /* 3D-Menu */
|
||||
#define C_3RDB 0x33524442L /* Third Button */
|
||||
#define C_60Hz 0x3630487AL /* 60Hz resident */
|
||||
#define C_A2sv 0x41327376L /* Trapsave */
|
||||
#define C_ACCS 0x41434353L /* ACC.PRG */
|
||||
#define C_AFnt 0x41466E74L /* AES Font Loader */
|
||||
#define C_AgK0 0x41674B30L /* AusGuck RAMdisk */
|
||||
#define C_AHVR 0x41485652L /* VRAM */
|
||||
#define C_ALHP 0x414C4850L /* Alman HP Deskjet Screendumper */
|
||||
#define C_ALIC 0x414C4943L /* Alice */
|
||||
#define C_ALRM 0x414C524DL /* Driver for DIGIFON TDS3000 */
|
||||
#define C_AmAN 0x416D414EL /* A-MAN */
|
||||
#define C_AMC1 0x414D4331L /* Monitor Switchbox */
|
||||
#define C_AMC2 0x414D4332L /* PC Keyboard Driver Software */
|
||||
#define C_ANSe 0x414E5365L /* ANSI-Emulation */
|
||||
#define C_APGM 0x4150474DL /* SysGem by Andreas Pietsch */
|
||||
#define C_ARTS 0x41525453L /* Screen-Artist screensaver */
|
||||
#define C_asGT 0x61734754L /* Wacom Graphiktablett Driver */
|
||||
#define C_ASum 0x4153756DL /* ASUNLENK */
|
||||
#define C_AVmw 0x41566D77L /* Virus Warning Program */
|
||||
#define C_AVOJ 0x41564F4AL /* Oliver Joppich's Anti Virus program */
|
||||
#define C_BASH 0x42415348L /* Bourne Again Shell */
|
||||
#define C_BBD2 0x42424432L /* Bastel-Bus-Treiber V2.xx */
|
||||
#define C_BCKW 0x42434B57L /* BackWard */
|
||||
#define C_BGEM 0x4247454DL /* BubbleGEM */
|
||||
#define C_BGHD 0x42474844L /* BubbleGEM-Help-D<>mon */
|
||||
#define C_BHdl 0x4248646CL /* BadHandle */
|
||||
#define C_BHLP 0x42484C50L /* BubbleGEM Konficookie */
|
||||
#define C_BIGS 0x42494753L /* Big Screen */
|
||||
#define C_BIOC 0x42494F43L /* Pirosca */
|
||||
#define C_BLNK 0x424C4E4BL /* Screenblanker */
|
||||
#define C_BLOW 0x424C4F57L /* Blowup030 */
|
||||
#define C_BSIM 0x4253494DL /* Drive B Simulator */
|
||||
#define C_BUG1 0x42554731L /* Bugaboo Debugger */
|
||||
#define C_C24P 0x43323450L /* CyRel 24Bit-Patch */
|
||||
#define C_CACH 0x43414348L /* Cache-Control */
|
||||
#define C_CALD 0x43414C44L /* Computer Aided Loudspeaker Desgin */
|
||||
#define C_CASE 0x43415345L /* Casing Type Gemini */
|
||||
#define C_CatS 0x43617453L /* CatStick */
|
||||
#define C_CaTT 0x43615454L /* CyRel Cattamaran */
|
||||
#define C_CB2K 0x4342324BL /* Claus Brod GEMDOS Bug Patch */
|
||||
#define C_CBCE 0x43424345L /* Claus Brod Critical Error Handler Patch */
|
||||
#define C_CBDF 0x43424446L /* Claus Brod Dabbel Feature */
|
||||
#define C_CBHD 0x43424844L /* Claus Brod HD Driver */
|
||||
#define C_CBHY 0x43424859L /* Claus Brod Hyper Format */
|
||||
#define C_CBIT 0x43424954L /* C'T Bus Interface Driver */
|
||||
#define C_CCDA 0x43434441L /* Tempus Word */
|
||||
#define C_cdMC 0x63644D43L /* CDROM.XFS */
|
||||
#define C_CFIX 0x43464958L /* Console Fix */
|
||||
#define C_CFsl 0x4346736CL /* Compo FSel */
|
||||
#define C_CHAM 0x4348414DL /* Chameleon */
|
||||
#define C_CHN1 0x43484E31L /* Changes */
|
||||
#define C_CHNG 0x43484E47L /* Changes */
|
||||
#define C_CHTW 0x43485457L /* Chatwin */
|
||||
#define C_CISY 0x43495359L /* CISYSTEM */
|
||||
#define C_CISY 0x43495359L /* Cisystem */
|
||||
#define C_CJAR 0x434A4152L /* Cookie.prg */
|
||||
#define C_CJar 0x434A6172L /* JarXXX Program */
|
||||
#define C_CKBD 0x434B4244L /* Composed Character Deluxe Keyboard Driver */
|
||||
#define C_CKJR 0x434B4A52L /* Create Cookie Jar Program */
|
||||
#define C_CLCK 0x434C434BL /* Mega-ST Hardware clock TSR Utilities */
|
||||
#define C_CLK1 0x434C4B31L /* MEGA ST Clock Utility */
|
||||
#define C_CLOK 0x434C4F4BL /* CLOK for GMT settings (?) */
|
||||
#define C_CM16 0x434D3136L /* CyReL's M16 Versatile Installation Program */
|
||||
#define C_CNTS 0x434E5453L /* CentScreen */
|
||||
#define C_COLO 0x434F4C4FL /* Colos Mono-Colour Converter */
|
||||
#define C_CPSL 0x4350534CL /* Caps Lock Display */
|
||||
#define C_CRAC 0x43524143L /* Protar HD Driver */
|
||||
#define C_CRIT 0x43524954L /* Crypt-It */
|
||||
#define C_CSMD 0x43534D44L /* CyReL's Serial Mouse Manager */
|
||||
#define C_CT60 0x43543630L /* CT60 present */
|
||||
#define C_CTCH 0x43544348L /* Master-Module Catch.mmx */
|
||||
#define C_CtCp 0x43744370L /* CapsLock Display */
|
||||
#define C_CTSF 0x43545346L /* CTS Bug Fix */
|
||||
#define C_cVDI 0x63564449L /* CyReL's M-16-1280 VDI Driver */
|
||||
#define C_CWCo 0x4357436FL /* Compo FSel */
|
||||
#define C_DATE 0x44415445L /* Led Panel Date */
|
||||
#define C_DATL 0x4441544CL /* TwiLight */
|
||||
#define C_DAWN 0x4441574EL /* Before Dawn */
|
||||
#define C_DBFX 0x44424658L /* Diabalo Emulator patch fix for MiNT */
|
||||
#define C_DCdd 0x44436464L /* Double-Click Software Data Diet */
|
||||
#define C_DCF7 0x44434637L /* DCF77 */
|
||||
#define C_DECD 0x44454344L /* DECDriver Cookie */
|
||||
#define C_DEPI 0x44455049L /* DeskPic */
|
||||
#define C_DHST 0x44485354L /* Document History Protocol */
|
||||
#define C_DIG2 0x44494732L /* Digiplay by Emmanuel Jaccard */
|
||||
#define C_DJBX 0x444A4258L /* DeskJet-Init BIOS-Erweiterung */
|
||||
#define C_DKEY 0x444B4559L /* Dead Key from Brainstorm */
|
||||
#define C_DNTR 0x444E5452L /* DNT ramdisk */
|
||||
#define C_DPRS 0x44505253L /* Printer Buffer */
|
||||
#define C_DRIV 0x44524956L /* Drive Edit */
|
||||
#define C_DRRH 0x44525248L /* Wodan Keyboard Layout Program */
|
||||
#define C_Dsel 0x4473656CL /* Dsel - Systemkern f<>r Fileselector */
|
||||
#define C_DSSO 0x4453534FL /* Sokrates Keyboard Driver */
|
||||
#define C_DYJA 0x44594A41L /* CCONRS.PRG */
|
||||
#define C_DYJD 0x44594A44L /* Dosound */
|
||||
#define C_DYJT 0x44594A54L /* ToBig */
|
||||
#define C_DYNL 0x44594E4CL /* Dynamic Link Library Driver */
|
||||
#define C_DYWL 0x4459574CL /* WIN_LNK */
|
||||
#define C_EADC 0x45414443L /* Easydisc - Ramdisk */
|
||||
#define C_EBPO 0x4542504FL /* EB Modeleur Universel Modeler */
|
||||
#define C_EdDI 0x45644449L /* EdDI by Sven&Wilfried Behne, BELA */
|
||||
#define C_EDFX 0x45444658L /* EDPBFIX.PRG */
|
||||
#define C_EGON 0x45474F4EL /* EGON! CD-ROM Driver */
|
||||
#define C_EMNP 0x454D4E50L /* MNP emulator */
|
||||
#define C_ENV_ 0x454E565FL /* Desktop environment manager */
|
||||
#define C_ENVN 0x454E564EL /* Environ.prg - setzt GEM-Environment */
|
||||
#define C_ENVR 0x454E5652L /* Environment manager */
|
||||
#define C_EPro 0x4550726FL /* Extendos Pro CD-ROM Driver */
|
||||
#define C_EURO 0x4555524FL /* Euro-Zeichen */
|
||||
#define C_EXRA 0x45585241L /* Extra RAM Speeder Card Software */
|
||||
#define C_EXTD 0x45585444L /* TOS File Name Extender */
|
||||
#define C_FaKE 0x46614B45L /* FakeMiNT */
|
||||
#define C_FALT 0x46414C54L /* Faltoff Screen() MEGA STE bufixer */
|
||||
#define C_FAXR 0x46415852L /* FaxRedirector */
|
||||
#define C_FHFX 0x46484658L /* F030HFIX - Falcon-GEMDOS-Handle-Fix */
|
||||
#define C_FIX2 0x46495832L /* FIX24 68030 -> 24 bits */
|
||||
#define C_FLTP 0x464C5450L /* FlyTop */
|
||||
#define C_FLXD 0x464C5844L /* Flexdisk */
|
||||
#define C_fMSX 0x664D5358L /* freeMSXemulators */
|
||||
#define C_FOse 0x464F7365L /* Fontselector */
|
||||
#define C_Fose 0x466F7365L /* Font Selector */
|
||||
#define C_FrmD 0x46726D44L /* Form_do_it */
|
||||
#define C_FSEL 0x4653454CL /* Extended File Selector (e.g. Selectric<69>,Freedom<6F>) */
|
||||
#define C_FSER 0x46534552L /* Fast Serial Interface Routines */
|
||||
#define C_FSMC 0x46534D43L /* Advanced GDOS */
|
||||
#define C_FSmp 0x46536D70L /* Fileselector */
|
||||
#define C_FSmp 0x46536D70L /* Martin Patzel File Selector */
|
||||
#define C_F_3D 0x465F3344L /* Focus 3D */
|
||||
#define C_GABI 0x47414249L /* Gabrielle Serial Port Typewriter Emulator */
|
||||
#define C_GBel 0x4742656CL /* GemBell */
|
||||
#define C_GCOM 0x47434F4DL /* GEM Component Object Model */
|
||||
#define C_GDEV 0x47444556L /* GNU-C Device-Driver */
|
||||
#define C_GEHC 0x47454843L /* Hypercache Turbo */
|
||||
#define C_GEHD 0x47454844L /* Harddisktreiber */
|
||||
#define C_GEMB 0x47454D42L /* GE Soft HD Driver */
|
||||
#define C_GENV 0x47454E56L /* GEM Environment Setter */
|
||||
#define C_Gfix 0x47666978L /* Gamefix for Falcon030 */
|
||||
#define C_GI30 0x47493330L /* Gandhi */
|
||||
#define C_GIGA 0x47494741L /* Giga Box ST Driver */
|
||||
#define C_gk5_ 0x676B355FL /* Treiber f<>r 5.25" HIGH-Density-Drittlaufwerk */
|
||||
#define C_gkCO 0x676B434FL /* Calamus Thingy */
|
||||
#define C_GLAS 0x474C4153L /* Free memorydisplay */
|
||||
#define C_GLBL 0x474C424CL /* GEMLABEL System Extension */
|
||||
#define C_GMNI 0x474D4E49L /* Gemini */
|
||||
#define C_GMTC 0x474D5443L /* Timezone CPX */
|
||||
#define C_GNUC 0x474E5543L /* GNU-C Library */
|
||||
#define C_Gnva 0x476E7661L /* Geneva Multi-tasking AES */
|
||||
#define C_GOBJ 0x474F424AL /* ObjectGEM PurePascal library */
|
||||
#define C_GOff 0x474F6666L /* Grow/Shrinkbox off */
|
||||
#define C_GSND 0x47534E44L /* Gemsound */
|
||||
#define C_GSP1 0x47535031L /* GEM Spooler */
|
||||
#define C_GSXB 0x47535842L /* Generic sound Xbios */
|
||||
#define C_GULM 0x47554C4DL /* Gulam Shell */
|
||||
#define C_HABO 0x4841424FL /* Haboo Harddisk Cache */
|
||||
#define C_hade 0x68616465L /* Hades */
|
||||
#define C_HAMM 0x48414D4DL /* Melody Maker Software */
|
||||
#define C_HBFS 0x48424653L /* BoxKite File Selector */
|
||||
#define C_HcP6 0x48635036L /* NEC P6 Hardcopy Driver */
|
||||
#define C_HDDR 0x48444452L /* HD Driver */
|
||||
#define C_HDEX 0x48444558L /* HDDriver-eigenes Interface */
|
||||
#define C_HDEY 0x48444559L /* Hard Disc Eye */
|
||||
#define C_HDJR 0x48444A52L /* Hushi HD Interface Driver */
|
||||
#define C_HDLD 0x48444C44L /* 'HD-LED' */
|
||||
#define C_HDPR 0x48445052L /* HD Protect */
|
||||
#define C_HDRC 0x48445243L /* AUDIODRV */
|
||||
#define C_HDST 0x48445354L /* Eickmann HD Driver */
|
||||
#define C_HDSW 0x48445357L /* High Density Switcher */
|
||||
#define C_HFIX 0x48464958L /* Handle Bug Fix */
|
||||
#define C_hFRB 0x68465242L /* BIOS-Treiber f<>r Rwabs-Transfers */
|
||||
#define C_HIDS 0x48494453L /* High Density Disk Driver */
|
||||
#define C_HMDU 0x484D4455L /* HM2 System Memory Dump */
|
||||
#define C_HMOC 0x484D4F43L /* H<>nisch Modula Object Cache */
|
||||
#define C_HMRD 0x484D5244L /* H<>nisch Modula Run-Time Debugger */
|
||||
#define C_HMRS 0x484D5253L /* HM2 Run-Time System */
|
||||
#define C_HPHC 0x48504843L /* HP Deskjet Hardcopy */
|
||||
#define C_HPLJ 0x48504C4AL /* HP-Laserjet-Emulator V1.04 */
|
||||
#define C_HSCD 0x48534344L /* MiNT-CDROM-Treiber */
|
||||
#define C_HSnd 0x48536E64L /* CrazySounds */
|
||||
#define C_HWAM 0x4857414DL /* Cookie Jar creator program */
|
||||
#define C_IBMP 0x49424D50L /* Norwegian->IBM Printer Converter */
|
||||
#define C_ICFS 0x49434653L /* Iconify Server */
|
||||
#define C_ICST 0x49435354L /* INETCUST Cookie */
|
||||
#define C_IDSK 0x4944534BL /* Icon Desk */
|
||||
#define C_IMAC 0x494D4143L /* Bootsector Guardian */
|
||||
#define C_IMNE 0x494D4E45L /* Imagine graphics card */
|
||||
#define C_INSJ 0x494E534AL /* Cookie Jar installer/extendor program */
|
||||
#define C_INXR 0x494E5852L /* Index generator */
|
||||
#define C_iPRN 0x6950524EL /* iPRN */
|
||||
#define C_IRSB 0x49525342L /* SEGA Shutterbrille */
|
||||
#define C_iTMA 0x69544D41L /* E-Copy ab 2.0, E-Backup ab 2.0, Kobold ab 3.0 */
|
||||
#define C_JAM1 0x4A414D31L /* Butler James */
|
||||
#define C_JB2G 0x4A423247L /* Bios2Gdos */
|
||||
#define C_JCLK 0x4A434C4BL /* Clocky Multiutility */
|
||||
#define C_JCNB 0x4A434E42L /* JCN Bootselector */
|
||||
#define C_JCNC 0x4A434E43L /* JCN Multi Accessory */
|
||||
#define C_JCNH 0x4A434E48L /* Hardcopy Program */
|
||||
#define C_JCNT 0x4A434E54L /* Cocteau Word Processor */
|
||||
#define C_JFTP 0x4A465450L /* SCSI driver for generic tape devices */
|
||||
#define C_JINX 0x4A494E58L /* Jinx */
|
||||
#define C_JMLB 0x4A4D4C42L /* McBoot */
|
||||
#define C_JMLS 0x4A4D4C53L /* JML Snapshot */
|
||||
#define C_JSHD 0x4A534844L /* High Density Control Program */
|
||||
#define C_JUST 0x4A555354L /* Justify */
|
||||
#define C_J_Sc 0x4A5F5363L /* SECURE.PRG */
|
||||
#define C_KbEv 0x4B624576L /* MM2 Keyboard Handling Module */
|
||||
#define C_KEYT 0x4B455954L /* KEYTAB */
|
||||
#define C_KGTF 0x4B475446L /* Tos Fix */
|
||||
#define C_KIDI 0x4B494449L /* RAMdisk */
|
||||
#define C_KREG 0x4B524547L /* KillRegisters */
|
||||
#define C_KyMp 0x4B794D70L /* Keyboard Macro & Remapping Utility */
|
||||
#define C_LACY 0x4C414359L /* LAZy-Shell-III */
|
||||
#define C_LALA 0x4C414C41L /* Albolala BellHook Sample Player */
|
||||
#define C_lanc 0x6C616E63L /* MiNT-Net ethernet driver for AMD LANCE */
|
||||
#define C_LASB 0x4C415342L /* Laserbrain */
|
||||
#define C_LAWC 0x4C415743L /* Look-Ahead-Write-Cache */
|
||||
#define C_LDGE 0x4C444745L /* GEM Dynamical Libraries (LDG) */
|
||||
#define C_LEDP 0x4C454450L /* LED-Panel */
|
||||
#define C_LLCR 0x4C4C4352L /* Logilex 1st Lock */
|
||||
#define C_LOGB 0x4C4F4742L /* Logbuch */
|
||||
#define C_LoSe 0x4C6F5365L /* SER-LOG */
|
||||
#define C_LP_2 0x4C505F32L /* Malloc 2 Gemdos Vector */
|
||||
#define C_LPCD 0x4C504344L /* Carrier Detector */
|
||||
#define C_LPJM 0x4C504A4DL /* Joy Mouse */
|
||||
#define C_LTMF 0x4C544D46L /* Let 'em Fly */
|
||||
#define C_M16s 0x4D313673L /* CyRel M16-1280 Graphikkarte */
|
||||
#define C_M16X 0x4D313658L /* CyReL M16 XBIOS-Emulator */
|
||||
#define C_macc 0x6D616363L /* Maccel 3 */
|
||||
#define C_MADD 0x4D414444L /* Add mem for TT */
|
||||
#define C_MADN 0x4D41444EL /* NEX-Output */
|
||||
#define C_MagC 0x4D616743L /* Magic Dials Configuration program */
|
||||
#define C_MagX 0x4D616758L /* MagiC */
|
||||
#define C_MAST 0x4D415354L /* Master */
|
||||
#define C_MaTC 0x4D615443L /* Matrix True Colour Graphics Card */
|
||||
#define C_MBRD 0x4D425244L /* Blit_RD: Ramdisk */
|
||||
#define C_MCL_ 0x4D434C5FL /* MiNT control */
|
||||
#define C_McSn 0x4D63536EL /* MacSound */
|
||||
#define C_MCWR 0x4D435752L /* Microwire DMA sound interface */
|
||||
#define C_MDIA 0x4D444941L /* Multi-Dialog */
|
||||
#define C_MDRK 0x4D44524BL /* MegaDark */
|
||||
#define C_MDSa 0x4D445361L /* Medical Design Software's Serial Fix */
|
||||
#define C_MFAC 0x4D464143L /* Multi Accessory */
|
||||
#define C_MFFM 0x4D46464DL /* Marcus' file selector for MiNT */
|
||||
#define C_MFIX 0x4D464958L /* MONOFIX.PRG */
|
||||
#define C_MFNT 0x4D464E54L /* Fontloader */
|
||||
#define C_MGEM 0x4D47454DL /* MultiGEM */
|
||||
#define C_MgMc 0x4D674D63L /* MagiCMac */
|
||||
#define C_MgMx 0x4D674D78L /* MagiCMac X */
|
||||
#define C_MID3 0x4D494433L /* MIDINET3 */
|
||||
#define C_MIMA 0x4D494D41L /* MIDI Manager */
|
||||
#define C_MiNT 0x4D694E54L /* Mint/MultiTOS */
|
||||
#define C_MIPS 0x4D495053L /* SPOOL120.PRG - Druckerspooler */
|
||||
#define C_MJAF 0x4D4A4146L /* AUTOFONT */
|
||||
#define C_MKHC 0x4D4B4843L /* Hardcopy Fixer */
|
||||
#define C_MkJr 0x4D6B4A72L /* Cookie Jar creator program */
|
||||
#define C_MMAC 0x4D4D4143L /* Magic Mouse Accelerator */
|
||||
#define C_MMUT 0x4D4D5554L /* Midi Maze II Utility */
|
||||
#define C_MM_2 0x4D4D5F32L /* Midimaze 2 */
|
||||
#define C_MNAM 0x4D4E414DL /* Name cookie */
|
||||
#define C_MOAF 0x4D4F4146L /* ARROWFIX */
|
||||
#define C_MOGR 0x4D4F4752L /* GEMRAM */
|
||||
#define C_MPRO 0x4D50524FL /* Magic Pro Config CPX */
|
||||
#define C_MRAM 0x4D52414DL /* More RAM */
|
||||
#define C_MSPD 0x4D535044L /* Mouse Speeder */
|
||||
#define C_MSPO 0x4D53504FL /* Magic Spooler */
|
||||
#define C_mstx 0x6D737478L /* Mouse Tricks */
|
||||
#define C_MTft 0x4D546674L /* Trapper */
|
||||
#define C_MUPF 0x4D555046L /* Mupfel */
|
||||
#define C_MWHL 0x4D57484CL /* MHweel */
|
||||
#define C_MZTR 0x4D5A5452L /* TRASH */
|
||||
#define C_N203 0x4E323033L /* Multi Accessory */
|
||||
#define C_nAES 0x6E414553L /* N.AES, the AES for MiNT */
|
||||
#define C_NBEL 0x4E42454CL /* SOUND.PRG */
|
||||
#define C_NBLL 0x4E424C4CL /* NEWBELL.PRG */
|
||||
#define C_NCLN 0x4E434C4EL /* NiceLine */
|
||||
#define C_ne2k 0x6E65326BL /* ne2000.xif */
|
||||
#define C_NERV 0x4E455256L /* No etv_critic_alert */
|
||||
#define C_NETS 0x4E455453L /* PAM Novell Software */
|
||||
#define C_NEXB 0x4E455842L /* NEX-Buffer */
|
||||
#define C_NEXK 0x4E45584BL /* NEX-Toolkit */
|
||||
#define C_NFMT 0x4E464D54L /* INFOMAT */
|
||||
#define C_NFnt 0x4E466E74L /* Neodesk Font Loader */
|
||||
#define C_NKCC 0x4E4B4343L /* NKCC - Normalized Key Code Converter */
|
||||
#define C_NLdr 0x4E4C6472L /* Neodesk Loader */
|
||||
#define C_NO7P 0x4E4F3750L /* Norwegian->7 bit printer converter */
|
||||
#define C_noCF 0x6E6F4346L /* noSystem */
|
||||
#define C_NOR5 0x4E4F5235L /* Norwegian Keyboard Driver */
|
||||
#define C_NOVA 0x4E4F5641L /* NOVA graphics card */
|
||||
#define C_NSC1 0x4E534331L /* N_Syscom accessory */
|
||||
#define C_nTAS 0x6E544153L /* TAS-Instruktionen */
|
||||
#define C_NTK4 0x4E544B34L /* NTK4 Falcon MOD player */
|
||||
#define C_NUL_ 0x4E554C5FL /* System startup utility */
|
||||
#define C_NVDI 0x4E564449L /* NewVDI */
|
||||
#define C_OBNL 0x4F424E4CL /* Load-Time-Linking (kurz "LTL") Protokoll */
|
||||
#define C_OFLS 0x4F464C53L /* Check Open Files */
|
||||
#define C_OPMM 0x4F504D4DL /* Open Helper */
|
||||
#define C_OSBL 0x4F53424CL /* Screen Blaster */
|
||||
#define C_OSTT 0x4F535454L /* OverScan TT */
|
||||
#define C_OV24 0x4F563234L /* OverScan Hardcopy Driver 24 pins */
|
||||
#define C_oVDI 0x6F564449L /* oVDI */
|
||||
#define C_OVDJ 0x4F56444AL /* Overscan Hardcopytreiber f<>r HP-DeskJet */
|
||||
#define C_OVDJ 0x4F56444AL /* OverScan Hardcopy Driver HP Deskjet */
|
||||
#define C_OVEP 0x4F564550L /* OverScan Hardcopy Driver 9 pins */
|
||||
#define C_OVER 0x4F564552L /* AutoSwitch OverScan Hardware Driver */
|
||||
#define C_OVEX 0x4F564558L /* OverScan Exception Patch */
|
||||
#define C_OVFS 0x4F564653L /* OverScan Fileselector Patch */
|
||||
#define C_OVIM 0x4F56494DL /* OverScan Hardcopy Driver */
|
||||
#define C_OVLS 0x4F564C53L /* OverScan DMC Laserbrain Patch */
|
||||
#define C_OVRD 0x4F565244L /* OverScan RamDisk */
|
||||
#define C_OVUT 0x4F565554L /* OverScan Screen Blanker */
|
||||
#define C_OVWI 0x4F565749L /* OverScan Window-Size Patch */
|
||||
#define C_PAMN 0x50414D4EL /* PAM Network Driver */
|
||||
#define C_PBUG 0x50425547L /* PeaceBug */
|
||||
#define C_PCI_ 0x5043495FL /* PCI-BIOS */
|
||||
#define C_PDeb 0x50446562L /* PureDebuggger */
|
||||
#define C_PDOS 0x50444F53L /* PowerDOS */
|
||||
#define C_PDRZ 0x5044525AL /* LockGetrez */
|
||||
#define C_PFIX 0x50464958L /* PTSINFIX Fix */
|
||||
#define C_Pinp 0x50696E70L /* Parallel Input Port Driver */
|
||||
#define C_PKSH 0x504B5348L /* PKS-Shell */
|
||||
#define C_PMMU 0x504D4D55L /* PMMU reprogrammed */
|
||||
#define C_POIS 0x504F4953L /* Poison! */
|
||||
#define C_POWM 0x504F574DL /* PowerMouse */
|
||||
#define C_PRCS 0x50524353L /* CopySTar */
|
||||
#define C_PRDS 0x50524453L /* Peter Rohde Disk Speeder */
|
||||
#define C_PRMD 0x50524D44L /* MIDIPRT */
|
||||
#define C_PRN_ 0x50524E5FL /* WandelSZ */
|
||||
#define C_PRN_ 0x50524E5FL /* WandelSZ */
|
||||
#define C_PRO5 0x50524F35L /* Resident virus check/kill/prtotect program */
|
||||
#define C_PROB 0x50524F42L /* Profibase */
|
||||
#define C_PROT 0x50524F54L /* Protos Screen Utility */
|
||||
#define C_PRTD 0x50525444L /* Print to Disk V1.10 */
|
||||
#define C_PRTO 0x5052544FL /* ST Tools */
|
||||
#define C_PRTR 0x50525452L /* Protar HD Driver */
|
||||
#define C_prtr 0x70727472L /* Atari->IBM Printer Converter */
|
||||
#define C_PSND 0x50534E44L /* ProSound Driver */
|
||||
#define C_PSSG 0x50535347L /* Paint Shop Hardcopy vector */
|
||||
#define C_PTOS 0x50544F53L /* ROMRAM: copy TOS in TT-RAM */
|
||||
#define C_QIKM 0x51494B4DL /* Quick Mouse */
|
||||
#define C_QMAC 0x514D4143L /* Quick Mouse Driver Accessory */
|
||||
#define C_QMCP 0x514D4350L /* Chemplot Quick Mouse Driver */
|
||||
#define C_QST2 0x51535432L /* Quick ST 2 */
|
||||
#define C_QST3 0x51535433L /* Quick ST 3 */
|
||||
#define C_QUAN 0x5155414EL /* QuanTOS Multiutility */
|
||||
#define C_RAIL 0x5241494CL /* Rail Manager */
|
||||
#define C_RaSn 0x5261536EL /* Rational Sounds */
|
||||
#define C_RESG 0x52455347L /* RESET GUARD */
|
||||
#define C_RFLX 0x52464C58L /* AutoSwitch Driver for Reflex Graphics Card */
|
||||
#define C_RFUS 0x52465553L /* Rufus terminal program */
|
||||
#define C_RGUS 0x52475553L /* Argus */
|
||||
#define C_RING 0x52494E47L /* Telefonklingel Detektor */
|
||||
#define C_ROT8 0x524F5438L /* Rotate */
|
||||
#define C_RREG 0x52524547L /* Restore Register */
|
||||
#define C_RSLT 0x52534C54L /* GengTEC VGA Monochrome/16 Colour Driver */
|
||||
#define C_RSpd 0x52537064L /* RS_SPEED (Serial Fix) */
|
||||
#define C_RSVE 0x52535645L /* RSVE Patch */
|
||||
#define C_RSVF 0x52535646L /* RS232 Version Fast (HSMODEM) */
|
||||
#define C_RTKC 0x52544B43L /* Keyclick */
|
||||
#define C_RTOB 0x52544F42L /* Optobell */
|
||||
#define C_RWIN 0x5257494EL /* RootWindow */
|
||||
#define C_SBKM 0x53424B4DL /* Ring Recognition in Modem Routs */
|
||||
#define C_SBTE 0x53425445L /* Terminal Program */
|
||||
#define C_SBTS 0x53425453L /* Trap Spy */
|
||||
#define C_SCAH 0x53434148L /* Speed Cache */
|
||||
#define C_SCKM 0x53434B4DL /* MagXNet (SOCKET.DEV) */
|
||||
#define C_SCRD 0x53435244L /* Screen To Disk */
|
||||
#define C_SCRN 0x5343524EL /* Screen Scroll */
|
||||
#define C_SCRS 0x53435253L /* Screen Blanker */
|
||||
#define C_SCRW 0x53435257L /* Screen Watch */
|
||||
#define C_SCSI 0x53435349L /* SCSI Driver */
|
||||
#define C_SCSV 0x53435356L /* Line Art Screensaver */
|
||||
#define C_SDCH 0x53444348L /* 2C - Second Chance */
|
||||
#define C_SDES 0x53444553L /* Softdesk */
|
||||
#define C_SDsk 0x5344736BL /* Softdisk */
|
||||
#define C_SDWN 0x5344574EL /* ScreenDown */
|
||||
#define C_SELC 0x53454C43L /* C-Lab File selector */
|
||||
#define C_SENV 0x53454E56L /* Set Environment */
|
||||
#define C_SFA_ 0x5346415FL /* Fontloader system */
|
||||
#define C_SFIX 0x53464958L /* Serial Port Fix */
|
||||
#define C_SFMN 0x53464D4EL /* SafeMenu */
|
||||
#define C_ShLk 0x53684C6BL /* Shift Lock */
|
||||
#define C_shlp 0x73686C70L /* shelhelp */
|
||||
#define C_SKEY 0x534B4559L /* SpecialKeys */
|
||||
#define C_SLCT 0x534C4354L /* Selectric */
|
||||
#define C_SLif 0x534C6966L /* SoundLifter */
|
||||
#define C_SLIP 0x534C4950L /* Socket library */
|
||||
#define C_SM00 0x534D3030L /* SOTA Printer Spooler */
|
||||
#define C_SM01 0x534D3031L /* ReProK Office Management DUO */
|
||||
#define C_SM02 0x534D3032L /* ReProK International EM-NET II */
|
||||
#define C_SMAL 0x534D414CL /* Small AES Icon fonts */
|
||||
#define C_SMAU 0x534D4155L /* Set Mouse Accessory */
|
||||
#define C_SMon 0x534D6F6EL /* SysMon */
|
||||
#define C_SMTT 0x534D5454L /* SM-124 Emulator */
|
||||
#define C_SNAP 0x534E4150L /* That's Snap Accessory */
|
||||
#define C_SOFS 0x534F4653L /* Softscreen */
|
||||
#define C_SOSW 0x534F5357L /* Softswitch */
|
||||
#define C_SpcE 0x53706345L /* Space */
|
||||
#define C_SPCK 0x5350434BL /* RAMdisk for SPC Modula */
|
||||
#define C_SPEE 0x53504545L /* Mouse Speeder */
|
||||
#define C_SPEK 0x5350454BL /* Spektrum-Grafikkarten */
|
||||
#define C_SPEX 0x53504558L /* Steve's Printing Exzessory */
|
||||
#define C_Spol 0x53706F6CL /* Flexible Printer Spooler */
|
||||
#define C_SPRG 0x53505247L /* STARTER.ACC */
|
||||
#define C_SSND 0x53534E44L /* Petra */
|
||||
#define C_ST_C 0x53542D43L /* Cache Program */
|
||||
#define C_ST17 0x53543137L /* ST-68017 */
|
||||
#define C_STAT 0x53544154L /* StaTOS */
|
||||
#define C_STEW 0x53544557L /* Stewart */
|
||||
#define C_STFA 0x53544641L /* Sound treiber fur Atari */
|
||||
#define C_StIc 0x53744963L /* Stewart Iconserver */
|
||||
#define C_STiK 0x5354694BL /* ST Internet Kit */
|
||||
#define C_STMS 0x53544D53L /* ST Magazine Screendump */
|
||||
#define C_STRX 0x53545258L /* SAT-Trax Antenna driver */
|
||||
#define C_SVAR 0x53564152L /* Shows MacMiNT */
|
||||
#define C_SVGA 0x53564741L /* Super VGA Emulator */
|
||||
#define C_SWAP 0x53574150L /* Outside */
|
||||
#define C_SwTm 0x5377546DL /* Uhr */
|
||||
#define C_SYMB 0x53594D42L /* Symbol driver */
|
||||
#define C_SYNL 0x53594E4CL /* Dynamic Link Library Driver */
|
||||
#define C_SYNT 0x53594E54L /* Syntex */
|
||||
#define C_SysE 0x53797345L /* System Editor */
|
||||
#define C_Syso 0x5379736FL /* ST Sysop */
|
||||
#define C_SYST 0x53595354L /* Systime */
|
||||
#define C_SZ_M 0x535A5F4DL /* Dynamic Mouse Speeder */
|
||||
#define C_S_DR 0x535F4452L /* CDROM SCSI driver */
|
||||
#define C_T206 0x54323036L /* PATCHX06.PRG */
|
||||
#define C_T2GM 0x5432474DL /* TOS2GEM */
|
||||
#define C_TAPE 0x54415045L /* TabeBIOS */
|
||||
#define C_TASS 0x54415353L /* Turbo Assembler */
|
||||
#define C_TCFS 0x54434653L /* Turbo C File Selector */
|
||||
#define C_TCRB 0x54435242L /* Turbo Cache */
|
||||
#define C_Tenv 0x54656E76L /* Environment Set Program for Terminal */
|
||||
#define C_TFIX 0x54464958L /* TOS 1.04 fix */
|
||||
#define C_THNX 0x54484E58L /* Thinx */
|
||||
#define C_THRM 0x5448524DL /* Temoeraturdatenauswertung */
|
||||
#define C_THST 0x54485354L /* TurboHST */
|
||||
#define C_TIM3 0x54494D33L /* Time Driver */
|
||||
#define C_TIM5 0x54494D35L /* Time Driver plus Screen Blanker */
|
||||
#define C_TIME 0x54494D45L /* Led Panel Time */
|
||||
#define C_TK40 0x544B3430L /* MC68040 ToolKit */
|
||||
#define C_TL3D 0x544C3344L /* Dritte Floppy */
|
||||
#define C_TLWV 0x544C5756L /* STGAWVBL */
|
||||
#define C_TMon 0x544D6F6EL /* TempleMon */
|
||||
#define C_TOpW 0x544F7057L /* Top Manager Watcher */
|
||||
#define C_TOUC 0x544F5543L /* Touch */
|
||||
#define C_TPat 0x54506174L /* Tos Patch */
|
||||
#define C_TPGM 0x5450474DL /* TraPatch */
|
||||
#define C_TRAK 0x5452414BL /* Track Speed */
|
||||
#define C_TraP 0x54726150L /* TraPatch */
|
||||
#define C_TRUE 0x54525545L /* TrueDisk */
|
||||
#define C_TSEN 0x5453454EL /* TSE Net */
|
||||
#define C_TSWP 0x54535750L /* TonySoft Write Protection */
|
||||
#define C_TTTF 0x54545446L /* Thirty Two to Twenty Four */
|
||||
#define C_TUBS 0x54554253L /* TUBS - The Ultimate Boot Selector */
|
||||
#define C_TWFS 0x54574653L /* That's Write File Selector Accessory */
|
||||
#define C_Typ1 0x54797031L /* Daisywheel accessory */
|
||||
#define C_UFSL 0x5546534CL /* Extended Universal Font Selector */
|
||||
#define C_UIS3 0x55495333L /* Universal Item Selector 3 */
|
||||
#define C_UKB1 0x554B4231L /* Fastload */
|
||||
#define C_UKB3 0x554B4233L /* Fastload plus MIDI Through */
|
||||
#define C_UN_X 0x554E5F58L /* Unixname (/->\ Converter) */
|
||||
#define C_USCK 0x5553434BL /* CHECKIT */
|
||||
#define C_USHD 0x55534844L /* Diskus HD driver */
|
||||
#define C_USPK 0x5553504BL /* Hard Disk Auto Parker */
|
||||
#define C_USRS 0x55535253L /* Romspeed */
|
||||
#define C_UTRK 0x5554524BL /* Ultimate Tracker */
|
||||
#define C_VBLF 0x56424C46L /* VBLFIX.PRG */
|
||||
#define C_VDLY 0x56444C59L /* Videlity */
|
||||
#define C_VECS 0x56454353L /* Vecshow */
|
||||
#define C_VeiL 0x5665694CL /* Turbo Veille */
|
||||
#define C_VFIX 0x56464958L /* VDIFix */
|
||||
#define C_VFNT 0x56464E54L /* VdiFont */
|
||||
#define C_VGAS 0x56474153L /* VGA Simulator */
|
||||
#define C_VI_2 0x56495F32L /* Videl Inside */
|
||||
#define C_View 0x56696577L /* View Protocol */
|
||||
#define C_VIRA 0x56495241L /* Virus Alarm */
|
||||
#define C_VMEM 0x564D454DL /* Virtual Memory */
|
||||
#define C_VPCH 0x56504348L /* VDIPATCH.PRG */
|
||||
#define C_VRAM 0x5652414DL /* Virtual Memory Management for the TT */
|
||||
#define C_VREP 0x56524550L /* Vector Guard */
|
||||
#define C_VSco 0x5653636FL /* Virus Scope */
|
||||
#define C_VSCR 0x56534352L /* Structure of Virtual Screens */
|
||||
#define C_VSTM 0x5653544DL /* MIDI Transfer */
|
||||
#define C_vT52 0x76543532L /* CyRel VT52-Emulator */
|
||||
#define C_VTFX 0x56544658L /* VT52FIX.PRG */
|
||||
#define C_VXCK 0x5658434BL /* VoxClock */
|
||||
#define C_WaHW 0x57614857L /* HIGH_WAY */
|
||||
#define C_WARP 0x57415250L /* Warp 9 */
|
||||
#define C_WaSA 0x57615341L /* SATELLIT */
|
||||
#define C_WBrd 0x57427264L /* Bird's Wing */
|
||||
#define C_wdlg 0x77646C67L /* Window-Dialog-Library (wdialog) */
|
||||
#define C_WDOG 0x57444F47L /* Watchdog */
|
||||
#define C_WEGA 0x57454741L /* WEGA Libraries */
|
||||
#define C_WFSL 0x5746534CL /* Window File Selector */
|
||||
#define C_WICO 0x5749434FL /* WinCom */
|
||||
#define C_WinK 0x57696E4BL /* WinKeys */
|
||||
#define C_WINX 0x57494E58L /* WINX */
|
||||
#define C_WINZ 0x57494E5AL /* Luftscho<68>/WinzRAM RAMdisk */
|
||||
#define C_WPRO 0x5750524FL /* Write Protect */
|
||||
#define C_WrAp 0x57724170L /* WarpMouse */
|
||||
#define C_XALT 0x58414C54L /* AlberTT GFX card driver */
|
||||
#define C_XBTN 0x5842544EL /* Maus-Routine in 'XBOOT' */
|
||||
#define C_XBTN 0x5842544EL /* Mouse speeder routine from XBOOT */
|
||||
#define C_XDsk 0x5844736BL /* X-DISK ramdisk */
|
||||
#define C_XFRB 0x58465242L /* Extended Fast Ram Buffer */
|
||||
#define C_XFS1 0x58465331L /* Master Module for extended TOS File System */
|
||||
#define C_xFSL 0x7846534CL /* Extended Font Selector */
|
||||
#define C_XHDI 0x58484449L /* XHDI driver */
|
||||
#define C_XKBD 0x584B4244L /* Extended Keyboard */
|
||||
#define C_XMMU 0x584D4D55L /* TK40's interface for PMMU setting */
|
||||
#define C_XMuz 0x584D757AL /* Ultra Player */
|
||||
#define C_xNet 0x784E6574L /* xNet-ST */
|
||||
#define C_XPCI 0x58504349L /* Xbios functions for PCIbios */
|
||||
#define C_xRmt 0x78526D74L /* XREMOTE */
|
||||
#define C_XSND 0x58534E44L /* Digi-Sound */
|
||||
#define C_XSSI 0x58535349L /* Extended Screen Saver Information */
|
||||
#define C_XTOS 0x58544F53L /* Extend TOS */
|
||||
#define C_xUFC 0x78554643L /* Extended Universal Font Selector Configuration Program */
|
||||
#define C_XWin 0x5857696EL /* Extended Windows moudle */
|
||||
#define C_zCAC 0x7A434143L /* 680x0 Cache Control CPX */
|
||||
#define C_zDCF 0x7A444346L /* DCF-Time receiver */
|
||||
#define C__AFM 0x5F41464DL /* Audio Fun Machine */
|
||||
#define C__AKP 0x5F414B50L /* Keyboard/Language Configuration */
|
||||
#define C__CPU 0x5F435055L /* Central Processor Unit Type */
|
||||
#define C__DOS 0x5F444F53L /* GEMDOS-Einsprung (im GEMDOS 0.30) */
|
||||
#define C__FDC 0x5F464443L /* Disk Drive Type */
|
||||
#define C__FLK 0x5F464C4BL /* File Locking Extension */
|
||||
#define C__FPU 0x5F465055L /* Floating Point Unit Type */
|
||||
#define C__FRB 0x5F465242L /* Fast Ram Buffer */
|
||||
#define C__FSR 0x5F465352L /* Patch program for serial (TOS 4.00->4.04) */
|
||||
#define C__IDT 0x5F494454L /* International Date/Time Format */
|
||||
#define C__INF 0x5F494E46L /* STEFIX Program */
|
||||
#define C__ISO 0x5F49534FL /* specifies the real keyboard/font nationality */
|
||||
#define C__JPD 0x5F4A5044L /* Falcon030 JPEG Decoder by Brainstorm */
|
||||
#define C__MCH 0x5F4D4348L /* Machine Type */
|
||||
#define C__MET 0x5F4D4554L /* MetaDOS */
|
||||
#define C__MIL 0x5F4D494CL /* Milan computer */
|
||||
#define C__NET 0x5F4E4554L /* GEMDOS Network Support */
|
||||
#define C__OOL 0x5F4F4F4CL /* Pool Fix */
|
||||
#define C__PCI 0x5F504349L /* PCIbios */
|
||||
#define C__PKT 0x5F504B54L /* Paket Driver Cookie */
|
||||
#define C__PWR 0x5F505752L /* Power Management unit */
|
||||
#define C__SLM 0x5F534C4DL /* SLM Driver */
|
||||
#define C__SND 0x5F534E44L /* Sound Hardware */
|
||||
#define C__SWI 0x5F535749L /* Configuration Switches */
|
||||
#define C__T2W 0x5F543257L /* TOS2WIN Emulator */
|
||||
#define C__T30 0x5F543330L /* KAOS TOS */
|
||||
#define C__VDI 0x5F564449L /* Milan VDI */
|
||||
#define C__VDO 0x5F56444FL /* Video Type */
|
||||
#define C___NF 0x5F5F4E46L /* Native features proposal */
|
||||
#define C__FSC 0x5F465343L /* Falcon Screen */
|
||||
|
||||
#define C_MACCEL 0x00AA006EL /* MACCELL */
|
||||
|
||||
/* Return values of Getcookie() */
|
||||
#define C_FOUND 0
|
||||
#define C_NOTFOUND 1
|
||||
|
||||
extern int Getcookie(long cookie, long *val);
|
||||
|
||||
#endif
|
||||
507
devtools/ahcccf.bin/include/mint/dcntl.h
Normal file
507
devtools/ahcccf.bin/include/mint/dcntl.h
Normal file
@@ -0,0 +1,507 @@
|
||||
/*
|
||||
* This file belongs to FreeMiNT. It's not in the original MiNT 1.12
|
||||
* distribution. See the file Changes.MH for a detailed log of changes.
|
||||
*/
|
||||
|
||||
/*
|
||||
* begin: 1998-06
|
||||
* last change: 1998-09-07
|
||||
*
|
||||
* Author: Frank Naumann - <fnaumann@cs.uni-magdeburg.de>
|
||||
*
|
||||
* please send suggestions, patches or bug reports to me or
|
||||
* the MiNT mailing list
|
||||
*
|
||||
*
|
||||
* Description: Constants for Dcntl() and Fcntl() calls.
|
||||
*
|
||||
*/
|
||||
|
||||
# ifndef _DCNTL_H
|
||||
# define _DCNTL_H
|
||||
|
||||
|
||||
#ifndef LLONG
|
||||
# define LLONG
|
||||
# ifdef __GNUC__
|
||||
typedef long long llong; /* 64bit int */
|
||||
# else
|
||||
typedef struct { long hi; unsigned long lo; } llong; /* 64bit int */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
# define F_DUPFD 0 /* handled by kernel */
|
||||
# define F_GETFD 1 /* handled by kernel */
|
||||
# define F_SETFD 2 /* handled by kernel */
|
||||
/* flag: */
|
||||
# define FD_CLOEXEC 1 /* close on exec flag */
|
||||
|
||||
# define F_GETFL 3 /* handled by kernel */
|
||||
# define F_SETFL 4 /* handled by kernel */
|
||||
# define F_GETLK 5
|
||||
# define F_SETLK 6
|
||||
# define F_SETLKW 7
|
||||
|
||||
#ifdef __KERNEL__
|
||||
struct flock
|
||||
{
|
||||
short l_type; /* type of lock */
|
||||
# define F_RDLCK 0
|
||||
# define F_WRLCK 1
|
||||
# define F_UNLCK 3
|
||||
short l_whence; /* SEEK_SET, SEEK_CUR, SEEK_END */
|
||||
long l_start; /* start of locked region */
|
||||
long l_len; /* length of locked region */
|
||||
short l_pid; /* pid of locking process (F_GETLK only) */
|
||||
};
|
||||
#endif /* not __KERNEL__ */
|
||||
|
||||
# define F_GETOPENS 8 /* handled by kernel */
|
||||
|
||||
/* jr: structure for F_GETOPENS */
|
||||
struct listopens
|
||||
{
|
||||
# define LO_FILEOPEN 1
|
||||
# define LO_DIROPEN 2
|
||||
# define LO_CURDIR 4
|
||||
# define LO_CURROOT 8
|
||||
short lo_pid; /* input: first pid to check;
|
||||
* output: who's using it? */
|
||||
short lo_reason; /* input: bitmask of interesting reasons;
|
||||
* output: why EACCDN? */
|
||||
short lo_flags; /* file's open flags */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Minix-FS
|
||||
*/
|
||||
|
||||
# define MFS_VERIFY 0x100 /* minixfs/docs/syscall.doc */
|
||||
# define MFS_MAGIC 0x18970431 /* Magic number from MFS_VERIFY */
|
||||
# define MFS_SYNC 0x101 /* minixfs/docs/syscall.doc */
|
||||
# define MFS_CINVALID 0x102 /* minixfs/docs/syscall.doc */
|
||||
# define MFS_FINVALID 0x103 /* minixfs/docs/syscall.doc */
|
||||
# define MFS_INFO 0x104 /* minixfs/docs/syscall.doc */
|
||||
# define MFS_USAGE 0x105 /* minixfs/minixfs.h */
|
||||
# define MFS_IMODE 0x106 /* minixfs/docs/syscall.doc */
|
||||
# define MFS_GTRANS 0x107 /* minixfs/docs/syscall.doc */
|
||||
# define MFS_STRANS 0x108 /* minixfs/docs/syscall.doc */
|
||||
# define MFS_PHYS 0x109 /* minixfs/minixfs.h */
|
||||
# define MFS_IADDR 0x10a /* minixfs/docs/syscall.doc */
|
||||
# define MFS_UPDATE 0x10b /* minixfs/docs/syscall.doc */
|
||||
# define MFS_MOUNT 0x10c /* minixfs/docs/syscall.doc */
|
||||
# define MFS_UMOUNT 0x10d /* minixfs/docs/syscall.doc */
|
||||
# define MFS_LOPEN 0x10e /* minixfs/docs/syscall.doc */
|
||||
# define MFS_MKNOD 0x10f /* minixfs/docs/syscall.doc */
|
||||
|
||||
|
||||
/*
|
||||
* MagiC specific calls for filesystem installation (use group 'm'!)
|
||||
*/
|
||||
|
||||
/*# define KER_INSTXFS 0x0200*/ /* mgx_dos.txt */
|
||||
/*# define KER_SETWBACK 0x0300*/ /* mgx_dos.txt */
|
||||
/*# define DFS_GETINFO 0x1100*/ /* mgx_dos.txt */
|
||||
/*# define DFS_INSTDFS 0x1200*/ /* mgx_dos.txt */
|
||||
|
||||
|
||||
/*
|
||||
* CD-ROMs
|
||||
*/
|
||||
|
||||
# define CDROMREADOFFSET (('C'<< 8) | 0) /* cdromio.h */
|
||||
# define CDROMPAUSE (('C'<< 8) | 1) /* cdromio.h */
|
||||
# define CDROMRESUME (('C'<< 8) | 2) /* cdromio.h */
|
||||
# define CDROMPLAYMSF (('C'<< 8) | 3) /* cdromio.h */
|
||||
# define CDROMPLAYTRKIND (('C'<< 8) | 4) /* cdromio.h */
|
||||
# define CDROMREADTOCHDR (('C'<< 8) | 5) /* cdromio.h */
|
||||
# define CDROMREADTOCENTRY (('C'<< 8) | 6) /* cdromio.h */
|
||||
# define CDROMSTOP (('C'<< 8) | 7) /* cdromio.h */
|
||||
# define CDROMSTART (('C'<< 8) | 8) /* cdromio.h */
|
||||
# define CDROMEJECT (('C'<< 8) | 9) /* cdromio.h */
|
||||
# define CDROMVOLCTRL (('C'<< 8) | 10) /* cdromio.h */
|
||||
# define CDROMSUBCHNL (('C'<< 8) | 11) /* cdromio.h */
|
||||
# define CDROMREADMODE2 (('C'<< 8) | 12) /* cdromio.h */
|
||||
# define CDROMREADMODE1 (('C'<< 8) | 13) /* cdromio.h */
|
||||
# define CDROMPREVENTREMOVAL (('C'<< 8) | 14) /* cdromio.h */
|
||||
# define CDROMALLOWTREMOVAL (('C'<< 8) | 15) /* cdromio.h */
|
||||
# define CDROMAUDIOCTRL (('C'<< 8) | 16) /* cdromio.h */
|
||||
# define CDROMREADDA (('C'<< 8) | 17) /* cdromio.h */
|
||||
|
||||
# define CDROMGETMCN (('C'<< 8) | 19) /* cdromio.h */
|
||||
# define CDROMGETTISRC (('C'<< 8) | 20) /* cdromio.h */
|
||||
|
||||
|
||||
/*
|
||||
* Big-DOS
|
||||
*/
|
||||
|
||||
# define DL_SECSIZ (('D'<< 8) | 0) /* max. bpb->recsiz */
|
||||
# define DL_MINFAT (('D'<< 8) | 1) /* min. Anzahl FATs */
|
||||
# define DL_MAXFAT (('D'<< 8) | 2) /* max. Anzahl FATs */
|
||||
# define DL_MINSPC (('D'<< 8) | 3) /* min. bpb->clsiz */
|
||||
# define DL_MAXSPC (('D'<< 8) | 4) /* max. bpb->clsiz */
|
||||
# define DL_CLUSTS (('D'<< 8) | 5) /* max. bpb->numcl FAT16 */
|
||||
# define DL_MAXSEC (('D'<< 8) | 6) /* max. number of sectors */
|
||||
# define DL_DRIVES (('D'<< 8) | 7) /* max. number of drives */
|
||||
# define DL_CLSIZB (('D'<< 8) | 8) /* max. bpb->clsizb */
|
||||
# define DL_RDLEN (('D'<< 8) | 9) /* max. (bpb->rdlen * bpb->recsiz / 32) */
|
||||
# define DL_FSIZ (('D'<< 8) | 10) /* max. bpb->fsiz */
|
||||
# define DL_FATREC (('D'<< 8) | 11) /* max. bpb->fatrec */
|
||||
# define DL_CLUSTS12 (('D'<< 8) | 12) /* max. bpb->numcl FAT12 */
|
||||
# define DL_CLUSTS32 (('D'<< 8) | 13) /* max. bpb->l_numcl FAT32 */
|
||||
# define DL_BFLAGS (('D'<< 8) | 14) /* supported bits in bpb->bflags */
|
||||
# define DL_FILESYS (('D'<< 8) | 15) /* cookie of the filesystem */
|
||||
# define DL_VERSION (('D'<< 8) | 16) /* version of the filesystem */
|
||||
# define DL_CHAR (('D'<< 8) | 17) /* pointer to a string with legal chars */
|
||||
# define DL_SETCHAR (('D'<< 8) | 18) /* ask or set valid names */
|
||||
|
||||
|
||||
/*
|
||||
* file
|
||||
*/
|
||||
|
||||
# define FSTAT (('F'<< 8) | 0) /* handled by kernel */
|
||||
# define FIONREAD (('F'<< 8) | 1)
|
||||
# define FIONWRITE (('F'<< 8) | 2)
|
||||
# define FUTIME (('F'<< 8) | 3)
|
||||
|
||||
/* structure for FUTIME */
|
||||
struct mutimbuf
|
||||
{
|
||||
unsigned short actime, acdate; /* GEMDOS format */
|
||||
unsigned short modtime, moddate;
|
||||
};
|
||||
|
||||
# define FTRUNCATE (('F'<< 8) | 4)
|
||||
# define FIOEXCEPT (('F'<< 8) | 5)
|
||||
|
||||
# define FMACOPENRES (('F'<< 8) | 72) /* macmint/macfile.h */
|
||||
# define FMACGETTYCR (('F'<< 8) | 73) /* macmint/macfile.h */
|
||||
# define FMACSETTYCR (('F'<< 8) | 74) /* macmint/macfile.h */
|
||||
# define FMAGICMAC (('F'<< 8) | 75) /* (reserved for MagiCMac) */
|
||||
|
||||
|
||||
/*
|
||||
* shared memory
|
||||
*/
|
||||
|
||||
# define SHMGETBLK (('M'<< 8) | 0)
|
||||
# define SHMSETBLK (('M'<< 8) | 1)
|
||||
|
||||
|
||||
/*
|
||||
* processes
|
||||
*/
|
||||
|
||||
# define PPROCADDR (('P'<< 8) | 1)
|
||||
# define PBASEADDR (('P'<< 8) | 2)
|
||||
# define PCTXTSIZE (('P'<< 8) | 3)
|
||||
# define PSETFLAGS (('P'<< 8) | 4)
|
||||
# define PGETFLAGS (('P'<< 8) | 5)
|
||||
# define PTRACESFLAGS (('P'<< 8) | 6)
|
||||
# define PTRACEGFLAGS (('P'<< 8) | 7)
|
||||
|
||||
/* flags: */
|
||||
# define P_ENABLE (1 << 0) /* enable tracing */
|
||||
# ifdef NOTYETDEFINED
|
||||
# define P_DOS (1 << 1) /* trace DOS calls - unimplemented */
|
||||
# define P_BIOS (1 << 2) /* trace BIOS calls - unimplemented */
|
||||
# define P_XBIOS (1 << 3) /* trace XBIOS calls - unimplemented */
|
||||
# endif
|
||||
|
||||
# define PTRACEGO (('P'<< 8) | 8) /* these 4 must be together */
|
||||
# define PTRACEFLOW (('P'<< 8) | 9)
|
||||
# define PTRACESTEP (('P'<< 8) | 10)
|
||||
# define PTRACE11 (('P'<< 8) | 11)
|
||||
# define PLOADINFO (('P'<< 8) | 12)
|
||||
# define PFSTAT (('P'<< 8) | 13)
|
||||
|
||||
struct ploadinfo
|
||||
{
|
||||
/* passed */
|
||||
short fnamelen;
|
||||
|
||||
/* returned */
|
||||
char *cmdlin /* 128 byte */, *fname;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Socket ioctls: these require MiNT-Net 3.0 (or later)
|
||||
*/
|
||||
|
||||
# define SIOCGLOWAT (('S' << 8) | 1)
|
||||
# define SIOCSLOWAT (('S' << 8) | 2)
|
||||
# define SIOCGHIWAT (('S' << 8) | 3)
|
||||
# define SIOCSHIWAT (('S' << 8) | 4)
|
||||
# define SIOCSPGRP (('S' << 8) | 5)
|
||||
# define SIOCGPGRP (('S' << 8) | 6)
|
||||
# define SIOCATMARK (('S' << 8) | 7)
|
||||
|
||||
# define SIOCGIFCONF (('S' << 8) | 12) /* get iface list */
|
||||
# define SIOCGIFFLAGS (('S' << 8) | 13) /* get flags */
|
||||
# define SIOCSIFFLAGS (('S' << 8) | 14) /* set flags */
|
||||
# define SIOCGIFADDR (('S' << 8) | 15) /* get iface address */
|
||||
# define SIOCSIFADDR (('S' << 8) | 16) /* set iface address */
|
||||
# define SIOCGIFDSTADDR (('S' << 8) | 17) /* get iface remote address */
|
||||
# define SIOCSIFDSTADDR (('S' << 8) | 18) /* set iface remotw address */
|
||||
# define SIOCGIFBRDADDR (('S' << 8) | 19) /* get iface ibroadcast address */
|
||||
# define SIOCSIFBRDADDR (('S' << 8) | 20) /* set iface broadcast address */
|
||||
# define SIOCGIFNETMASK (('S' << 8) | 21) /* get iface network mask */
|
||||
# define SIOCSIFNETMASK (('S' << 8) | 22) /* set iface network mask */
|
||||
# define SIOCGIFMETRIC (('S' << 8) | 23) /* get metric */
|
||||
# define SIOCSIFMETRIC (('S' << 8) | 24) /* set metric */
|
||||
|
||||
# define SIOCGIFMTU (('S' << 8) | 27) /* get MTU size */
|
||||
# define SIOCSIFMTU (('S' << 8) | 28) /* set MTU size */
|
||||
|
||||
# define SIOCADDRT (('S' << 8) | 30) /* add routing table entry */
|
||||
# define SIOCDELRT (('S' << 8) | 31) /* delete routing table entry */
|
||||
|
||||
# define SIOCDARP (('S' << 8) | 40) /* delete ARP table entry */
|
||||
# define SIOCGARP (('S' << 8) | 41) /* get ARP table entry */
|
||||
# define SIOCSARP (('S' << 8) | 42) /* set ARP table entry */
|
||||
|
||||
|
||||
/*
|
||||
* terminals
|
||||
*/
|
||||
|
||||
# define TIOCGETP (('T'<< 8) | 0)
|
||||
# define TIOCSETN (('T'<< 8) | 1)
|
||||
# define TIOCGETC (('T'<< 8) | 2)
|
||||
# define TIOCSETC (('T'<< 8) | 3)
|
||||
# define TIOCGLTC (('T'<< 8) | 4)
|
||||
# define TIOCSLTC (('T'<< 8) | 5)
|
||||
# define TIOCGPGRP (('T'<< 8) | 6)
|
||||
# define TIOCSPGRP (('T'<< 8) | 7)
|
||||
# define TIOCFLUSH (('T'<< 8) | 8)
|
||||
# define TIOCSTOP (('T'<< 8) | 9)
|
||||
# define TIOCSTART (('T'<< 8) | 10)
|
||||
# define TIOCGWINSZ (('T'<< 8) | 11)
|
||||
# define TIOCSWINSZ (('T'<< 8) | 12)
|
||||
# define TIOCGXKEY (('T'<< 8) | 13)
|
||||
# define TIOCSXKEY (('T'<< 8) | 14)
|
||||
# define TIOCIBAUD (('T'<< 8) | 18)
|
||||
# define TIOCOBAUD (('T'<< 8) | 19)
|
||||
# define TIOCCBRK (('T'<< 8) | 20)
|
||||
# define TIOCSBRK (('T'<< 8) | 21)
|
||||
# define TIOCGFLAGS (('T'<< 8) | 22)
|
||||
# define TIOCSFLAGS (('T'<< 8) | 23)
|
||||
# define TIOCOUTQ (('T'<< 8) | 24)
|
||||
# define TIOCSETP (('T'<< 8) | 25)
|
||||
# define TIOCHPCL (('T'<< 8) | 26)
|
||||
# define TIOCCAR (('T'<< 8) | 27)
|
||||
# define TIOCNCAR (('T'<< 8) | 28)
|
||||
# define TIOCWONLINE (('T'<< 8) | 29)
|
||||
# define TIOCSFLAGSB (('T'<< 8) | 30)
|
||||
# define TIOCGSTATE (('T'<< 8) | 31)
|
||||
# define TIOCSSTATEB (('T'<< 8) | 32)
|
||||
# define TIOCGVMIN (('T'<< 8) | 33)
|
||||
# define TIOCSVMIN (('T'<< 8) | 34)
|
||||
# define TIOCGHUPCL (('T'<< 8) | 98) /* mdm0 ioctls */
|
||||
# define TIOCSHUPCL (('T'<< 8) | 99)
|
||||
# define TIOCGSOFTCAR (('T'<< 8) | 100)
|
||||
# define TIOCSSOFTCAR (('T'<< 8) | 101)
|
||||
|
||||
# define TIOCBUFFER (('T'<< 8) | 128) /* HSMODA/hsm_doku/sersoftst.txt */
|
||||
# define TIOCCTLMAP (('T'<< 8) | 129)
|
||||
# define TIOCCTLGET (('T'<< 8) | 130)
|
||||
# define TIOCCTLSET (('T'<< 8) | 131)
|
||||
# define TIOCCTLSFAST (('T'<< 8) | 132) /* HSMODA/hsm_doku/sersoftst.txt */
|
||||
# define TIOCCTLSSLOW (('T'<< 8) | 133) /* HSMODA/hsm_doku/sersoftst.txt */
|
||||
# define TIONOTSEND (('T'<< 8) | 134)
|
||||
# define TIOCERROR (('T'<< 8) | 135)
|
||||
|
||||
# define TIOCLBIS (('T'<< 8) | 246) /* faked by the MiNT library */
|
||||
# define TIOCLBIC (('T'<< 8) | 247)
|
||||
# define TIOCMGET (('T'<< 8) | 248)
|
||||
|
||||
/* bits in longword fetched by TIOCMGET: */
|
||||
# define TIOCM_LE 0001 /* not supported */
|
||||
# define TIOCM_DTR 0002
|
||||
# define TIOCM_RTS 0004
|
||||
# define TIOCM_ST 0010 /* not supported */
|
||||
# define TIOCM_SR 0020 /* not supported */
|
||||
# define TIOCM_CTS 0040
|
||||
# define TIOCM_CAR 0100
|
||||
# define TIOCM_CD TIOCM_CAR
|
||||
# define TIOCM_RNG 0200
|
||||
# define TIOCM_RI TIOCM_RNG
|
||||
# define TIOCM_DSR 0400 /* not supported */
|
||||
|
||||
# define TIOCCDTR (('T'<< 8) | 249)
|
||||
# define TIOCSDTR (('T'<< 8) | 250)
|
||||
# define TIOCNOTTY (('T'<< 8) | 251)
|
||||
# define TIOCGETD (('T'<< 8) | 252) /* not yet implemented in MiNT */
|
||||
# define TIOCSETD (('T'<< 8) | 253)
|
||||
# define TIOCLGET (('T'<< 8) | 254)
|
||||
# define TIOCLSET (('T'<< 8) | 255)
|
||||
|
||||
# define NTTYDISC 1
|
||||
|
||||
|
||||
/*
|
||||
* (V)FAT filesystem extensions (MiNT/MagiC)
|
||||
*/
|
||||
|
||||
# define VFAT_CNFDFLN (('V'<< 8) | 0) /* MiNT/MagiC */
|
||||
# define VFAT_CNFLN (('V'<< 8) | 1) /* MiNT/MagiC */
|
||||
# define V_CNTR_SLNK (('V'<< 8) | 2) /* MiNT, works on FAT and VFAT */
|
||||
# define V_CNTR_RES3 (('V'<< 8) | 3) /* reserved, not used at the moment */
|
||||
# define V_CNTR_MODE (('V'<< 8) | 4) /* MiNT, works on FAT */
|
||||
|
||||
/* name mode flags: */
|
||||
# define GEMDOS 0
|
||||
# define ISO 1
|
||||
# define MSDOS 2
|
||||
|
||||
# define V_CNTR_FAT32 (('V'<< 8) | 10) /* MiNT, FAT32 control */
|
||||
|
||||
struct control_FAT32
|
||||
{
|
||||
unsigned short mode; /* 0 = fill out; 1 = set values */
|
||||
unsigned short mirr; /* FAT mirroring: 0 = enabled, otherwise active FAT */
|
||||
unsigned short fats; /* number of FATs */
|
||||
unsigned short info; /* status of additional info sector */
|
||||
# define FAT32_info_exist 0x1
|
||||
# define FAT32_info_active 0x2
|
||||
# define FAT32_info_reset 0x4
|
||||
};
|
||||
|
||||
# define V_CNTR_WP (('V'<< 8) | 100) /* MiNT, write protect control */
|
||||
# define V_CNTR_WB (('V'<< 8) | 101) /* MiNT, write back control */
|
||||
|
||||
|
||||
/*
|
||||
* Ext2 filesystem extensions
|
||||
*/
|
||||
|
||||
# define EXT2_IOC_GETFLAGS (('f'<< 8) | 1)
|
||||
# define EXT2_IOC_SETFLAGS (('f'<< 8) | 2)
|
||||
# define EXT2_IOC_GETVERSION (('v'<< 8) | 1)
|
||||
# define EXT2_IOC_SETVERSION (('v'<< 8) | 2)
|
||||
|
||||
|
||||
/*
|
||||
* cursor control
|
||||
*/
|
||||
|
||||
# define TCURSOFF (('c'<< 8) | 0)
|
||||
# define TCURSON (('c'<< 8) | 1)
|
||||
# define TCURSBLINK (('c'<< 8) | 2)
|
||||
# define TCURSSTEADY (('c'<< 8) | 3)
|
||||
# define TCURSSRATE (('c'<< 8) | 4)
|
||||
# define TCURSGRATE (('c'<< 8) | 5)
|
||||
# define TCURSSDELAY (('c'<< 8) | 6) /* undocumented! */
|
||||
# define TCURSGDELAY (('c'<< 8) | 7) /* undocumented! */
|
||||
|
||||
|
||||
/*
|
||||
* MagiC opcodes (all group 'm' opcodes are reserved for MagiC)
|
||||
*/
|
||||
|
||||
# define MX_KER_GETINFO (('m'<< 8) | 0) /* mgx_dos.txt */
|
||||
# define MX_KER_DOSLIMITS (('m'<< 8) | 1) /* mgx_dos.txt */
|
||||
# define MX_KER_INSTXFS (('m'<< 8) | 2) /* mgx_dos.txt */
|
||||
# define MX_KER_DRVSTAT (('m'<< 8) | 4) /* mgx_dos.txt */
|
||||
# define MX_KER_XFSNAME (('m'<< 8) | 5) /* mgx_dos.txt */
|
||||
# define MX_DEV_INSTALL (('m'<< 8) | 0x20) /* mgx_dos.txt */
|
||||
# define MX_DFS_GETINFO (('m'<< 8) | 0x40) /* mgx_dos.txt */
|
||||
# define MX_DFS_INSTDFS (('m'<< 8) | 0x41) /* mgx_dos.txt */
|
||||
|
||||
|
||||
/*
|
||||
* Printers (whole range reserved)
|
||||
*/
|
||||
|
||||
/*# define PNVDI (('p'<< 8) | *)*/ /* NVDI programmer's manual */
|
||||
|
||||
|
||||
/*
|
||||
* MagiC specific calls for device driver installation (use group 'm'!)
|
||||
*/
|
||||
|
||||
/*# define PROC_CREATE 0xcc00*/ /* mgx_dos.txt */
|
||||
/*# define DEV_M_INSTALL 0xcd00*/ /* mgx_dos.txt */
|
||||
|
||||
|
||||
/*
|
||||
* device driver installation
|
||||
*/
|
||||
|
||||
# define DEV_NEWTTY 0xde00
|
||||
# define DEV_NEWBIOS 0xde01
|
||||
# define DEV_INSTALL 0xde02
|
||||
|
||||
|
||||
/*
|
||||
* filesystem installation
|
||||
*/
|
||||
|
||||
# define FS_INSTALL 0xf001 /* let the kernel know about the file system */
|
||||
# define FS_MOUNT 0xf002 /* make a new directory for a file system */
|
||||
# define FS_UNMOUNT 0xf003 /* remove a directory for a file system */
|
||||
# define FS_UNINSTALL 0xf004 /* remove a file system from the list */
|
||||
|
||||
/*
|
||||
* filesystem information
|
||||
*/
|
||||
|
||||
# define FS_INFO 0xf100 /* xfs fill out the following struct */
|
||||
|
||||
struct fs_info
|
||||
{
|
||||
char name [32]; /* name of the xfs (same as MX_KER_XFSNAME but more space) */
|
||||
long version; /* upper word: major version; lower word: minor version */
|
||||
long type; /* upper word: major type; lower word: minor type */
|
||||
char type_asc[32]; /* human readable version of type */
|
||||
};
|
||||
|
||||
/* values of fs_info.type */
|
||||
# define _MAJOR_FAT (1L << 16)
|
||||
# define _MAJOR_VFAT (2L << 16)
|
||||
# define _MAJOR_MINIX (3L << 16)
|
||||
# define _MAJOR_RAMFS (4L << 16)
|
||||
# define _MAJOR_EXT2 (5L << 16)
|
||||
# define _MAJOR_HSIERRA (6L << 16)
|
||||
# define _MAJOR_ISO9660 (7L << 16)
|
||||
# define _MAJOR_JOLIET (8L << 16)
|
||||
# define _MAJOR_HFS (9L << 16)
|
||||
# define _MAJOR_CDRAW (10L << 16)
|
||||
# define _MAJOR_STONX (11L << 16)
|
||||
|
||||
# define FS_OLDTOS (0L) /* default/unknown */
|
||||
# define FS_FAT12 (_MAJOR_FAT | 0) /* MiNT 1.15 */
|
||||
# define FS_FAT16 (_MAJOR_FAT | 1) /* MiNT 1.15 */
|
||||
# define FS_FAT32 (_MAJOR_FAT | 2) /* MiNT 1.15 */
|
||||
# define FS_VFAT12 (_MAJOR_VFAT | 0) /* MiNT 1.15 */
|
||||
# define FS_VFAT16 (_MAJOR_VFAT | 1) /* MiNT 1.15 */
|
||||
# define FS_VFAT32 (_MAJOR_VFAT | 2) /* MiNT 1.15 */
|
||||
# define FS_MINIX (_MAJOR_MINIX) /* MinixFS 0.70p6 */
|
||||
# define FS_RAMFS (_MAJOR_RAMFS) /* fnRamFS 0.52 */
|
||||
# define FS_EXT2 (_MAJOR_EXT2) /* Ext2 0.?? */
|
||||
# define FS_HSIERRA (_MAJOR_HSIERRA) /* Spin 0.35 */
|
||||
# define FS_ISO9669 (_MAJOR_ISO9660) /* Spin 0.35 */
|
||||
# define FS_JOLIET (_MAJOR_JOLIET) /* Spin 0.35 */
|
||||
# define FS_HFS (_MAJOR_HFS) /* Spin 0.35 */
|
||||
# define FS_CDRAW (_MAJOR_CDRAW) /* Spin 0.35 */
|
||||
# define FS_STONX (_MAJOR_STONX) /* STonXfs4MiNT */
|
||||
|
||||
|
||||
# define FS_USAGE 0xf101 /* xfs fill out the following struct */
|
||||
|
||||
struct fs_usage
|
||||
{
|
||||
unsigned long blocksize; /* 32bit: size in bytes of a block */
|
||||
llong blocks; /* 64bit: number of blocks */
|
||||
llong free_blocks; /* 64bit: number of free blocks */
|
||||
llong inodes; /* 64bit: number of inodes or FS_UNLIMITED */
|
||||
llong free_inodes; /* 64bit: number of free inodes or FS_UNLIMITED */
|
||||
# define FS_UNLIMITED -1
|
||||
};
|
||||
|
||||
# endif /* _DCNTL_H */
|
||||
757
devtools/ahcccf.bin/include/mint/errno.h
Normal file
757
devtools/ahcccf.bin/include/mint/errno.h
Normal file
@@ -0,0 +1,757 @@
|
||||
/* mint/errno.h -- MiNTLib.
|
||||
Copyright (C) 1999 Guido Flohr <guido@freemint.de>
|
||||
|
||||
This file is part of the MiNTLib project, and may only be used
|
||||
modified and distributed under the terms of the MiNTLib project
|
||||
license, COPYMINT. By continuing to use, modify, or distribute
|
||||
this file you indicate that you have read the license and
|
||||
understand and accept it fully.
|
||||
*/
|
||||
|
||||
#ifndef _MINT_ERRNO_H
|
||||
# define _MINT_ERRNO_H 1 /* Allow multiple inclusion. */
|
||||
|
||||
#ifndef __KERNEL__
|
||||
# ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
# endif
|
||||
|
||||
/* See below. */
|
||||
#define __KERNEL_NEG(c) c
|
||||
|
||||
#else /* __KERNEL__ */
|
||||
/* The kernel should actually have code like
|
||||
|
||||
if (whew_we_dont_know_that)
|
||||
return -ENOSYS;
|
||||
|
||||
instead of the current
|
||||
|
||||
if (whew_we_dont_know_that)
|
||||
return ENOSYS;
|
||||
|
||||
That seems to be a matter of taste.
|
||||
|
||||
As a convenience we offer both possibilities here:
|
||||
*/
|
||||
|
||||
# ifdef POSITIVE_ERROR_CODES
|
||||
# define __KERNEL_NEG(c) (c)
|
||||
# else /* not POSITIVE_ERROR_CODES */
|
||||
# define __KERNEL_NEG(c) (-(c))
|
||||
# endif /* not POSITIVE_ERROR_CODES */
|
||||
|
||||
/* If you prefer to type E_OK instead of 0 ... */
|
||||
# define E_OK 0
|
||||
|
||||
#endif /* not __KERNEL__ */
|
||||
|
||||
/* The original atarierr.h defined quite a few error codes which were
|
||||
either useless or non-standard. Important codes such as EISDIR,
|
||||
ENOTEMPTY were missing, others were simply misunderstood (for example
|
||||
the usual EINVAL would really be an ENOSYS, EINVAL is not invalid
|
||||
function number but invalid argument) and especially in MiNT
|
||||
some error codes got really overloaded, for example ENOENT serves
|
||||
as ENOENT, ESRCH and ECHILD, or EACCES and EPERM were the same.
|
||||
|
||||
The codes in this file try to find the closest equivalent for
|
||||
all error codes currently in use, marks some error codes as
|
||||
deprecated and tries to be fit for the future by defining all
|
||||
error codes that may be needed for future enhancement.
|
||||
*/
|
||||
|
||||
/*
|
||||
The explanations are mostly taken from the GNU libc manual.
|
||||
Unfortunately they don't always document the current usage in the
|
||||
MiNT system but rather how it should be. I've marked all current
|
||||
misusage with either `KERNEL' or `FIXME'.
|
||||
|
||||
We provide way too many synonyms for error codes here. Both in
|
||||
the kernel and the libc only the `official' name (the one in the
|
||||
top row that bears the actual define) should be used.
|
||||
*/
|
||||
|
||||
/* Where is ENOERR and E_OK? This file is <errno.h> and not <noerror.h>,
|
||||
no error is 0, basta. */
|
||||
|
||||
/* Is this really needed? Deprecated. */
|
||||
#define EERROR __KERNEL_NEG(1) /* Generic error. */
|
||||
|
||||
/* A system resource that can't be shared is already in use. For example
|
||||
if you try to delete a file that is the root of a currently mounted
|
||||
filesystem, you get this error.
|
||||
This used to be EDRNRDY resp. EDRNRDY. */
|
||||
#define EBUSY __KERNEL_NEG(2) /* Resource busy. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EDRNRDY EBUSY
|
||||
# define EDRVNR EBUSY
|
||||
#endif
|
||||
|
||||
/* Deprecated. */
|
||||
#define EUKCMD __KERNEL_NEG(3) /* Unknown command. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EUNCMD EUKCMD
|
||||
#endif
|
||||
|
||||
/* Checksum error detected while reading from a block device such as
|
||||
a floppy drive. Obviously non-standard but often used. */
|
||||
#define ECRC __KERNEL_NEG(4) /* CRC error. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define E_CRC ECRC
|
||||
#endif
|
||||
|
||||
/* Bad request. */
|
||||
#define EBADR __KERNEL_NEG(5) /* Bad request. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EBADREQ EBADR
|
||||
# define EBADRQ EBADR
|
||||
#endif
|
||||
|
||||
/* Invalid seek operation (such as on a pipe). */
|
||||
/* KERNEL: The pipe file system currently returns 0 for seek on a pipe! */
|
||||
#define ESPIPE __KERNEL_NEG(6) /* Illegal seek. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define ESEEK ESPIPE
|
||||
# define E_SEEK ESPIPE
|
||||
#endif
|
||||
|
||||
/* Wrong medium type. */
|
||||
#define EMEDIUMTYPE __KERNEL_NEG(7) /* Wrong medium type. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EUKMEDIA EMEDIUMTYPE
|
||||
# define EMEDIA EMEDIUMTYPE
|
||||
#endif
|
||||
|
||||
/* A sector that does not exist was addressed in the call to a bock
|
||||
device function. */
|
||||
#define ESECTOR __KERNEL_NEG(8) /* Sector not found. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define ESECNF ESECTOR
|
||||
#endif
|
||||
|
||||
/* No paper. No, not at the conveniences, in the printer. */
|
||||
#define EPAPER __KERNEL_NEG(9) /* No paper. */
|
||||
|
||||
/* Read and write faults. Deprecated, be more specific instead. */
|
||||
#define EWRITE __KERNEL_NEG(10) /* Write fault. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EWRITEF EWRITE
|
||||
#endif
|
||||
#define EREAD __KERNEL_NEG(11) /* Read fault. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EREADF EREAD
|
||||
#endif
|
||||
|
||||
/* Another generic error. Who can tell the difference to EERROR? */
|
||||
#define EGENERIC __KERNEL_NEG(12) /* General mishap. */
|
||||
|
||||
/* An attempt was made to modify something on a read-only file
|
||||
file system. */
|
||||
#define EROFS __KERNEL_NEG(13) /* Write protect. */
|
||||
|
||||
/* A removable medium was exchanged before the operation could finish. */
|
||||
#define ECHMEDIA __KERNEL_NEG(14) /* Media change. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define E_CHNG ECHMEDIA
|
||||
#endif
|
||||
|
||||
/* The wrong type of device was given to a function that expects a
|
||||
particular sort of device. */
|
||||
#define ENODEV __KERNEL_NEG(15) /* No such device. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EUKDEV ENODEV
|
||||
# define EUNDEV ENODEV
|
||||
#endif
|
||||
|
||||
/* Bad sectors on block device medium found. Uhm, if the driver found
|
||||
them, mark them as bad and don't bother the user with that.
|
||||
Deprecated. */
|
||||
#define EBADSEC __KERNEL_NEG(16) /* Bad sectors found. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EBADSF EBADSEC
|
||||
#endif
|
||||
|
||||
/* A device with a removable media (such as a floppy) is empty. */
|
||||
#define ENOMEDIUM __KERNEL_NEG(17) /* No medium found. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EIDISK ENOMEDIUM
|
||||
# define EOTHER ENOMEDIUM
|
||||
#endif
|
||||
|
||||
/* MetaDOS error (deprecated). */
|
||||
#define EINSERT __KERNEL_NEG(18) /* Insert media. */
|
||||
|
||||
/* MetaDOS error (deprecated). */
|
||||
#define EDRVNRSP __KERNEL_NEG(19) /* Drive not responding. */
|
||||
|
||||
/* No process matches the specified process ID.
|
||||
|
||||
KERNEL: This is a new error code. Currently ENOENT is returned instead. */
|
||||
#define ESRCH __KERNEL_NEG(20) /* No such process. */
|
||||
|
||||
/* There are no child processes. This error happens on operations
|
||||
that are supposed to manipulate child processes, when there aren't
|
||||
any processes to manipulate.
|
||||
|
||||
KERNEL: This is a new error code. Currently ENOENT is returned instead. */
|
||||
#define ECHILD __KERNEL_NEG(21) /* No child processes. */
|
||||
|
||||
/* Deadlock avoided; allocating a system resource would have resulted
|
||||
in a deadlock situation. The system does not guarantee that it
|
||||
will notice all such situations. This error means you got lucky
|
||||
and the system noticed; it might just hang.
|
||||
|
||||
KERNEL: This is a new error code. The kernel currently never returns
|
||||
it. But that doesn't mean that there are no deadlock situations in
|
||||
the kernel. */
|
||||
#define EDEADLK __KERNEL_NEG(22) /* Resource deadlock would occur. */
|
||||
#define EDEADLOCK EDEADLK
|
||||
|
||||
/* A file that isn't a block special file was given in a situation
|
||||
that requires one. For example, trying to mount an ordinary file
|
||||
as a file system in Unix gives this error. New code. */
|
||||
#define ENOTBLK __KERNEL_NEG(23) /* Block device required. */
|
||||
|
||||
/* File is a directory; you cannot open a directory for writing, or
|
||||
create or remove hard links to it.
|
||||
|
||||
KERNEL: This is a new error code. Flink() should be fixed. */
|
||||
#define EISDIR __KERNEL_NEG(24) /* Is a directory. */
|
||||
|
||||
/* Invalid argument. This is used to indicate various kinds of
|
||||
problems with passing the wrong argument to a library function.
|
||||
|
||||
FIXME: This used to be the same as `ENOSYS'. In fact that should
|
||||
be two distinct error codes. For example, the `fchmod' function
|
||||
should return `EINVAL' if the file descriptor passed as an
|
||||
argument corresponds to a pipe or socket, not an ordinary file.
|
||||
But since `fchmod' is a function that is currently only supported
|
||||
under MiNT the same error would be reported if the operating
|
||||
system does not support the call at all. It is common practice
|
||||
to cache such failures because in the case of `ENOSYS' there
|
||||
is no chance that succeeding calls will proceed. So how do
|
||||
you want to distinguish between these cases? */
|
||||
#define EINVAL __KERNEL_NEG(25) /* Invalid argument. */
|
||||
|
||||
/* Inappropriate file type or format. The file was the wrong type
|
||||
for the operation, or a data file had the wrong format.
|
||||
|
||||
On some systems `chmod' returns this error if you try to set the
|
||||
sticky bit on a non-directory file. */
|
||||
#define EFTYPE __KERNEL_NEG(26) /* Inappropriate file type or format. */
|
||||
|
||||
/* While decoding a multibyte character the function came along an
|
||||
invalid or an incomplete sequence of bytes or the given wide
|
||||
character is invalid. */
|
||||
#define EILSEQ __KERNEL_NEG(27) /* Illegal byte sequence. */
|
||||
|
||||
/* Function not implemented. Some functions have commands or options
|
||||
defined that might not be supported in all implementations, and
|
||||
this is the kind of error you get if your request them and they are
|
||||
not supported.
|
||||
|
||||
KERNEL: This was usually called EINVFN (invalid function number) and
|
||||
that's why it was probably mixed up with EINVAL (invalid argument).
|
||||
|
||||
FIXME: Grep thru the MiNTLib sources for EINVAL and replace it with
|
||||
the correct ENOSYS. Same for the kernel. */
|
||||
#define ENOSYS __KERNEL_NEG(32) /* Function not implemented. */
|
||||
|
||||
/* This is a "file doesn't exist" error for ordinary files that are
|
||||
referenced in contexts where they are expected to already exist.
|
||||
|
||||
KERNEL/FIXME: This used to be the same as ESRCH and and ECHILD,
|
||||
in the kernel it was usually called EFILNF. Fix the wrong usage
|
||||
of ESRCH and ECHILD and replace EFILNF with ENOENT. */
|
||||
#define ENOENT __KERNEL_NEG(33) /* No such file or directory. */
|
||||
|
||||
/* A file that isn't a directory was specified when a directory is
|
||||
required. The usage of the synonyme EPATH is deprecated! */
|
||||
#define ENOTDIR __KERNEL_NEG(34) /* Not a directory. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EPATH ENOTDIR
|
||||
#endif
|
||||
|
||||
/* The current process has too many files open and can't open any
|
||||
more. Duplicate descriptors do count toward this limit.
|
||||
|
||||
In BSD and GNU, the number of open files is controlled by a
|
||||
resource limit that can usually be increased. If you get this
|
||||
error, you might want to increase the `RLIMIT_NOFILE' limit
|
||||
or make it unlimited.
|
||||
|
||||
Under MiNT we currently have to live without such luxury. */
|
||||
#define EMFILE __KERNEL_NEG(35) /* Too many open files. */
|
||||
|
||||
/* Permission denied; the file permissions do not allow the
|
||||
attempted operation.
|
||||
|
||||
KERNEL: This used to be mixed up with EPERM (operation not permitted). */
|
||||
#define EACCES __KERNEL_NEG(36) /* Permission denied. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EACCESS EACCES
|
||||
#endif
|
||||
|
||||
/* Bad file descriptor; for example, I/O on a descriptor that has been
|
||||
closed or reading from a descriptor open only for writing (or vice
|
||||
versa). */
|
||||
#define EBADF __KERNEL_NEG(37) /* Bad file descriptor. */
|
||||
|
||||
/* Operation not permitted; only the owner of the file (or other
|
||||
resource) or processes with special privileges can perform the
|
||||
operation.
|
||||
|
||||
This is a new error code (used to be a synonyme for EACCES). As
|
||||
a general rule you can say, whenever you want to disallow something
|
||||
take EACCES. Only if you positively know that EPERM should be
|
||||
used, then take this one.
|
||||
|
||||
FIXME: Some kernel functions should return EPERM, for example
|
||||
Tsettimeofday, Tsetdate, Tsettime, Setdate ... */
|
||||
#define EPERM __KERNEL_NEG(38) /* Operation not permitted. */
|
||||
|
||||
/* No memory available. The system cannot allocate more virtual
|
||||
memory because its capacity is full. */
|
||||
#define ENOMEM __KERNEL_NEG(39) /* Cannot allocate memory. */
|
||||
|
||||
/* Bad address; an invalid pointer was detected. In the GNU system,
|
||||
this error never happens; you get a signal instead. In the MiNT
|
||||
system this error often happens, and you get angry mails and flames
|
||||
on the usenet. */
|
||||
#define EFAULT __KERNEL_NEG(40) /* Bad address. */
|
||||
|
||||
/* No such device or address. The system tried to use the device
|
||||
represented by a file you specified, and it couldn't find the
|
||||
device. This can mean that the device file was installed
|
||||
incorrectly, or that the physical device is missing or not
|
||||
correctly attached to the computer.
|
||||
|
||||
Under MiNT this can also happen if a pathname starts with a
|
||||
drive letter followed by a colon (e. g. `x:/dont/exist'). This
|
||||
was called `invalid drive specification' or `invalid drive id'. */
|
||||
#define ENXIO __KERNEL_NEG(46) /* No such device or address. */
|
||||
|
||||
/* An attempt to make an improper link across file systems was
|
||||
detected. This happens not only when you use `link' (for
|
||||
hard links) but also when you rename a file with `rename'. */
|
||||
#define EXDEV __KERNEL_NEG(48) /* Cross-device link. */
|
||||
|
||||
/* No more matching file names, only used by Fsnext(2). Don't mix
|
||||
that up with ENFILE. */
|
||||
#define ENMFILES __KERNEL_NEG(49) /* No more matching file names. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define ENMFIL ENMFILES
|
||||
#endif
|
||||
|
||||
/* There are too many distinct file openings in the entire system.
|
||||
Note that any number of linked channels count as just one file
|
||||
opening. This error never occurs in the GNU system, and it probably
|
||||
never occurs in the MiNT system, too. */
|
||||
#define ENFILE __KERNEL_NEG(50) /* File table overflow. */
|
||||
|
||||
/* Locking conflict. Deprecated.
|
||||
|
||||
KERNEL: If the LOCK_NB flag was selected EWOULDBLOCK should be used
|
||||
instead. Otherwise the process should be blocked until the lock
|
||||
is available? */
|
||||
#define ELOCKED __KERNEL_NEG(58) /* Locking conflict. */
|
||||
|
||||
/* Deprecated, should only happen with Dlock(). */
|
||||
#define ENSLOCK __KERNEL_NEG(59) /* No such lock. */
|
||||
|
||||
/* Bad argument, used to be `range error/context unknown'. Deprecated. */
|
||||
#define EBADARG __KERNEL_NEG(64) /* Bad argument. */
|
||||
|
||||
/* Another spurious error, deprecated. */
|
||||
#define EINTERNAL __KERNEL_NEG(65) /* Internal error. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EINTRN EINTERNAL
|
||||
#endif
|
||||
|
||||
/* Invalid executable file format. This condition is detected by the
|
||||
`exec' functions. */
|
||||
#define ENOEXEC __KERNEL_NEG(66) /* Invalid executable file format. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EPLFMT ENOEXEC
|
||||
#endif
|
||||
|
||||
/* Can't grow block, deprecated. At least within the library this should
|
||||
be handled with ENOMEM. */
|
||||
#define ESBLOCK __KERNEL_NEG(67) /* Memory block growth failure. */
|
||||
#ifdef __LOOSE_ERRROR_CODES
|
||||
# define EGSBF ESBLOCK
|
||||
#endif
|
||||
|
||||
/* Terminated with CTRL-C (Kaos, MagiC, BigDOS). Nonsense. */
|
||||
#define EBREAK __KERNEL_NEG(68) /* Aborted by user. */
|
||||
|
||||
/* This looks like a joke but it isn't. Who has introduced that
|
||||
in the kernel? - fna: comes from MagiC */
|
||||
#define EXCPT __KERNEL_NEG(69) /* Terminated with bombs. */
|
||||
|
||||
/* An attempt to execute a file that is currently open for writing, or
|
||||
write to a file that is currently being executed. Often using a
|
||||
debugger to run a program is considered having it open for writing
|
||||
and will cause this error. (The name stands for "text file
|
||||
busys".) This is not an error in the GNU system; the text is
|
||||
copied as necessary. In the MiNT system this error currently cannot
|
||||
occur. */
|
||||
#define ETXTBSY __KERNEL_NEG(70) /* Text file busy. */
|
||||
|
||||
/* File too big; the size of a file would be larger than allowed by
|
||||
the system.
|
||||
|
||||
KERNEL: This is a new code. If this error condition can occur,
|
||||
then the correct code should be returned. */
|
||||
#define EFBIG __KERNEL_NEG(71) /* File too big. */
|
||||
|
||||
/* Too many levels of symbolic links were encountered in looking up a
|
||||
file name. This often indicates a cycle of symbolic links.
|
||||
|
||||
KERNEL: There was no difference between EMLINK (too many links and
|
||||
ELOOP (too many symbolic links). The more common meaning of this
|
||||
error code is preserved, but whenenver EMLINK should be used, this
|
||||
has to be fixed in the kernel. */
|
||||
#define ELOOP __KERNEL_NEG(80) /* Too many symbolic links. */
|
||||
|
||||
/* Broken pipe; there is no process reading from the other end of a
|
||||
pipe. Every function that returns this error code also generates
|
||||
a `SIGPIPE' signal; this signal terminates the program if not
|
||||
handled or blocked. Thus, your program will never actually see
|
||||
`EPIPE' unless it has handled or blocked `SIGPIPE'. */
|
||||
#define EPIPE __KERNEL_NEG(81) /* Broken pipe. */
|
||||
|
||||
/* Too many links; the link count of a single file would become too
|
||||
large. `rename' can cause this error if the file being renamed
|
||||
already has as many links as it can take.
|
||||
|
||||
KERNEL: This is a new error code. See the note for ELOOP. */
|
||||
#define EMLINK __KERNEL_NEG(82) /* Too many links. */
|
||||
|
||||
/* Directory not empty, where an empty directory was expected. Typically
|
||||
this error occurs when you are trying to delete a directory.
|
||||
|
||||
KERNEL: New error code, for the case of non-empty directories
|
||||
EEXIST was returned. The new behavior could cause compatibility
|
||||
problems since inproper implementations of recursive rm commands
|
||||
could rely on the old error code (85) being returned.
|
||||
|
||||
Which error is more probable? */
|
||||
#define ENOTEMPTY __KERNEL_NEG(83) /* Directory not empty. */
|
||||
|
||||
/* File exists; an existing file was specified in a context where it
|
||||
only makes sense to specify a new file. */
|
||||
#define EEXIST __KERNEL_NEG(85) /* File exists. */
|
||||
|
||||
/* Filename too long (longer than `PATH_MAX') or host name too long
|
||||
(in `gethostname' or `sethostname'). */
|
||||
#define ENAMETOOLONG __KERNEL_NEG(86) /* Name too long. */
|
||||
|
||||
/* Inappropriate I/O control operation, such as trying to set terminal
|
||||
modes on ordinary files. */
|
||||
#define ENOTTY __KERNEL_NEG(87) /* Not a tty. */
|
||||
|
||||
/* Range error; used by mathematical functions when the result value
|
||||
is not representable because of overflow or underflow.
|
||||
|
||||
The string to number conversion functions (`strtol', `strtoul',
|
||||
`strtod', etc. can also return this error. */
|
||||
#define ERANGE __KERNEL_NEG(88) /* Range error. */
|
||||
|
||||
/* Domain error; used by mathematical functions when an argument
|
||||
value does not fall into the domain over which the function is
|
||||
defined. */
|
||||
#define EDOM __KERNEL_NEG(89) /* Domain error. */
|
||||
|
||||
/* Input/output error; usually used for physical read or write errors. */
|
||||
#define EIO __KERNEL_NEG(90) /* I/O error */
|
||||
|
||||
/* No space left on device; write operation on a file failed because
|
||||
the disk is full. */
|
||||
#define ENOSPC __KERNEL_NEG(91) /* No space left on device. */
|
||||
|
||||
/* Error number 92-99 reserved for TraPatch. */
|
||||
|
||||
/* This means that the per-user limit on new process would be
|
||||
exceeded by an attempted `fork'. */
|
||||
#define EPROCLIM __KERNEL_NEG(100) /* Too many processes for user. */
|
||||
|
||||
/* This file quota system is confused because there are too many users. */
|
||||
#define EUSERS __KERNEL_NEG(101) /* Too many users. */
|
||||
|
||||
/* The user's disk quota was exceeded. */
|
||||
#define EDQUOT __KERNEL_NEG(102) /* Quota exceeded. */
|
||||
|
||||
/* Stale NFS handle. This indicates an internal confusion in
|
||||
the NFS system which is due to file system rearrangements on the
|
||||
server host. Reparing this condition usually requires unmounting
|
||||
and remounting the NFS file system on the local host. */
|
||||
#define ESTALE __KERNEL_NEG(103) /* Stale NFS file handle. */
|
||||
|
||||
/* An attempt was made to NFS-mount a remote file system with a file
|
||||
name that already specifies an NFS-mounted file. (This is an
|
||||
error on some operating systems, but we expect it to work properly
|
||||
on the GNU system, making this error code impossible). */
|
||||
#define EREMOTE __KERNEL_NEG(104) /* Object is remote. */
|
||||
|
||||
/* ??? */
|
||||
#define EBADRPC __KERNEL_NEG(105) /* RPC struct is bad. */
|
||||
#define ERPCMISMATCH __KERNEL_NEG(106) /* RPC version wrong. */
|
||||
#define EPROGUNAVAIL __KERNEL_NEG(107) /* RPC program not available. */
|
||||
#define EPROGMISMATCH __KERNEL_NEG(108) /* RPC program version wrong. */
|
||||
#define EPROCUNAVAIL __KERNEL_NEG(109) /* RPC bad procedure for program. */
|
||||
|
||||
/* No locks available. This is used by the file locking facilities;
|
||||
This error is never generated by the GNU system, but it can result
|
||||
from an operation to an NFS server running another operating system. */
|
||||
#define ENOLCK __KERNEL_NEG(110) /* No locks available. */
|
||||
|
||||
/* ??? */
|
||||
#define EAUTH __KERNEL_NEG(111) /* Authentication error. */
|
||||
#define ENEEDAUTH __KERNEL_NEG(112) /* Need authenticator. */
|
||||
|
||||
/* In the GNU system, servers supporting the `term' protocol return
|
||||
this error for certain operations when the caller is not in the
|
||||
foreground process group of the terminal. Users do not usually
|
||||
see this error because functions such as `read' and `write'
|
||||
translate it into a `SIGTTIN' or `SIGTTOU' signal. */
|
||||
#define EBACKGROUND __KERNEL_NEG(113) /* Inappropriate operation for background process. */
|
||||
|
||||
/* ??? */
|
||||
#define EBADMSG __KERNEL_NEG(114) /* Not a data message. */
|
||||
#define EIDRM __KERNEL_NEG(115) /* Identifier removed. */
|
||||
#define EMULTIHOP __KERNEL_NEG(116) /* Multihop attempted. */
|
||||
#define ENODATA __KERNEL_NEG(117) /* No data available. */
|
||||
#define ENOLINK __KERNEL_NEG(118) /* Link has been severed. */
|
||||
#define ENOMSG __KERNEL_NEG(119) /* No message of desired type. */
|
||||
#define ENOSR __KERNEL_NEG(120) /* Out of streams resources. */
|
||||
#define ENOSTR __KERNEL_NEG(121) /* Device not a stream. */
|
||||
#define EOVERFLOW __KERNEL_NEG(122) /* Value too large for defined data type. */
|
||||
#define EPROTO __KERNEL_NEG(123) /* Protocol error. */
|
||||
#define ETIME __KERNEL_NEG(124) /* Timer expired. */
|
||||
|
||||
/* Argument list too long; used when the arguments passed to a new
|
||||
program being executed with one of the `exec' functions occupy
|
||||
too much memory space. This condition never arises in the
|
||||
MiNT system. */
|
||||
#define E2BIG __KERNEL_NEG(125) /* Argument list too long. */
|
||||
|
||||
/* The following error codes are defined by the Linux/i386 kernel.
|
||||
Some of them are probably useful for MiNT, too. */
|
||||
#define ERESTART __KERNEL_NEG(126) /* Interrupted system call should be
|
||||
restarted. */
|
||||
#define ECHRNG __KERNEL_NEG(127) /* Channel number out of range. */
|
||||
|
||||
/* Interrupted function call; an asynchronous signal occured and
|
||||
prevented completion of the call. When this happens, you should
|
||||
try the call again.
|
||||
|
||||
On other systems you can choose to have functions resume after a
|
||||
signal handled, rather than failing with `EINTR'. */
|
||||
#define EINTR __KERNEL_NEG(128) /* Interrupted function call. */
|
||||
|
||||
/* Falcon XBIOS errors. */
|
||||
#define ESNDLOCKED __KERNEL_NEG(129) /* Sound system is already locked. */
|
||||
#define ESNDNOTLOCK __KERNEL_NEG(130) /* Sound system is not locked. */
|
||||
|
||||
#define EL2NSYNC __KERNEL_NEG(131) /* Level 2 not synchronized. */
|
||||
#define EL3HLT __KERNEL_NEG(132) /* Level 3 halted. */
|
||||
#define EL3RST __KERNEL_NEG(133) /* Level 3 reset. */
|
||||
#define ELNRNG __KERNEL_NEG(134) /* Link number out of range. */
|
||||
#define EUNATCH __KERNEL_NEG(135) /* Protocol driver not attached. */
|
||||
#define ENOCSI __KERNEL_NEG(136) /* No CSI structure available. */
|
||||
#define EL2HLT __KERNEL_NEG(137) /* Level 2 halted. */
|
||||
#define EBADE __KERNEL_NEG(138) /* Invalid exchange. */
|
||||
#define EXFULL __KERNEL_NEG(139) /* Exchange full. */
|
||||
#define ENOANO __KERNEL_NEG(140) /* No anode. */
|
||||
#define EBADRQC __KERNEL_NEG(141) /* Invalid request code. */
|
||||
#define EBADSLT __KERNEL_NEG(142) /* Invalid slot. */
|
||||
#define EBFONT __KERNEL_NEG(143) /* Bad font file format. */
|
||||
#define ENONET __KERNEL_NEG(144) /* Machine is not on the network. */
|
||||
#define ENOPKG __KERNEL_NEG(145) /* Package is not installed. */
|
||||
#define EADV __KERNEL_NEG(146) /* Advertise error. */
|
||||
#define ESRMNT __KERNEL_NEG(147) /* Srmount error. */
|
||||
#define ECOMM __KERNEL_NEG(148) /* Communication error on send. */
|
||||
#define EDOTDOT __KERNEL_NEG(149) /* RFS specific error. */
|
||||
#define ELIBACC __KERNEL_NEG(150) /* Cannot access a needed shared library. */
|
||||
#define ELIBBAD __KERNEL_NEG(151) /* Accessing a corrupted shared library. */
|
||||
#define ELIBSCN __KERNEL_NEG(152) /* .lib section in a.out corrupted. */
|
||||
#define ELIBMAX __KERNEL_NEG(153) /* Attempting to link too many shared
|
||||
libraries. */
|
||||
#define ELIBEXEC __KERNEL_NEG(154) /* Cannot exec a shared library directly. */
|
||||
#define ESTRPIPE __KERNEL_NEG(155) /* Streams pipe error. */
|
||||
#define EUCLEAN __KERNEL_NEG(156) /* Structure needs cleaning. */
|
||||
#define ENOTNAM __KERNEL_NEG(157) /* Not a XENIX named type file. */
|
||||
#define ENAVAIL __KERNEL_NEG(158) /* NO XENIX semaphores available. */
|
||||
#define EREMOTEIO __KERNEL_NEG(159) /* Remote I/O error. */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
/* This is not really an error but a dummy error code used within the kernel
|
||||
to indicate that a mount point may have been crossed. */
|
||||
#define EMOUNT __KERNEL_NEG(200)
|
||||
#endif
|
||||
|
||||
/* There used to be a distinction between MiNTNet errors and ordinary
|
||||
MiNT errors. This macro is provided for backwards compatibility. */
|
||||
#define _NE_BASE 300
|
||||
|
||||
/* A file that isn't a socket was specified when a socket is required. */
|
||||
#define ENOTSOCK __KERNEL_NEG(300) /* Socket operation on non-socket. */
|
||||
|
||||
/* No default destination address was set for the socket. You get
|
||||
this error when you try to transmit data over a connectionless
|
||||
socket, without first specifying a destination for the data with
|
||||
`connect'. */
|
||||
#define EDESTADDRREQ __KERNEL_NEG(301) /* Destination address required. */
|
||||
|
||||
/* The size of a message sent on a socket was larger than the
|
||||
supported maximum size. */
|
||||
#define EMSGSIZE __KERNEL_NEG(302) /* Message too long. */
|
||||
|
||||
/* The socket type does not support the requested communications
|
||||
protocol. */
|
||||
#define EPROTOTYPE __KERNEL_NEG(303) /* Protocol wrong type for socket. */
|
||||
|
||||
/* You specified a socket option that doesn't make sense for the
|
||||
particular protocol being used by the socket. */
|
||||
#define ENOPROTOOPT __KERNEL_NEG(304) /* Protocol not available. */
|
||||
|
||||
/* The socket domain does not support the requested communications
|
||||
protocol (perhaps because the requested protocol is completely
|
||||
invalid). */
|
||||
#define EPROTONOSUPPORT __KERNEL_NEG(305) /* Protocol not supported. */
|
||||
|
||||
/* The socket type is not supported. */
|
||||
#define ESOCKTNOSUPPORT __KERNEL_NEG(306) /* Socket type not supported. */
|
||||
|
||||
/* The operation you requested is not supported. Some socket
|
||||
functions don't make sense for all type of sockets, and others
|
||||
may not be implemented for all communications prototcols. In the
|
||||
GNU system, this error can happen for many calls when the object
|
||||
does not support the particular operation; it is a generic
|
||||
indication that the server knows nothing to do for that
|
||||
cal. */
|
||||
#define EOPNOTSUPP __KERNEL_NEG(307) /* Operation not supported. */
|
||||
|
||||
/* The socket communications protocol family you requested is not
|
||||
supported. */
|
||||
#define EPFNOSUPPORT __KERNEL_NEG(308) /* Protocol family not supported. */
|
||||
|
||||
/* The address family specified for a socket is not supported; it is
|
||||
inconsistent with the protocol being used on the socket. */
|
||||
#define EAFNOSUPPORT __KERNEL_NEG(309) /* Address family not supported
|
||||
by protocol. */
|
||||
|
||||
/* The requested socket address is already in use. */
|
||||
#define EADDRINUSE __KERNEL_NEG(310) /* Address already in use */
|
||||
|
||||
/* The requested socket address is not available; for example, you
|
||||
tried to give a socket a name that doesn't match the local host
|
||||
name. */
|
||||
#define EADDRNOTAVAIL __KERNEL_NEG(311) /* Cannot assign requested address. */
|
||||
|
||||
/* A socket operation failed because the network was down. */
|
||||
#define ENETDOWN __KERNEL_NEG(312) /* Network is down. */
|
||||
|
||||
/* A socket operation failed because the subnet containing the remote
|
||||
host was unreachable. */
|
||||
#define ENETUNREACH __KERNEL_NEG(313) /* Network is unreachable. */
|
||||
|
||||
/* A network connection was reset because the remote host crashed. */
|
||||
#define ENETRESET __KERNEL_NEG(314) /* Network dropped conn. because of
|
||||
reset. */
|
||||
|
||||
/* A network connnection was aborted locally. */
|
||||
#define ECONNABORTED __KERNEL_NEG(315) /* Software caused connection abort. */
|
||||
|
||||
/* A network connection was closed for reasons outside the control of
|
||||
the local host, such as by the remote machine rebooting or an
|
||||
unrecoverable protocol violation. */
|
||||
#define ECONNRESET __KERNEL_NEG(316) /* Connection reset by peer. */
|
||||
|
||||
/* You tried to connect a socket that is already connected. */
|
||||
#define EISCONN __KERNEL_NEG(317) /* Socket is already connected. */
|
||||
|
||||
/* The socket is not connected to anything. You get this error when
|
||||
you try to transmit data over the socket, without first specifying
|
||||
a destination for the data. For a connectionless socket (for
|
||||
datagram protocols, such as UDP), you get `EDESTADDRREQ' instead. */
|
||||
#define ENOTCONN __KERNEL_NEG(318) /* Socket is not connected. */
|
||||
|
||||
/* The socket has already been shut down. */
|
||||
#define ESHUTDOWN __KERNEL_NEG(319) /* Cannot send after shutdown. */
|
||||
|
||||
/* A socket operation with a specified timeout received nor response
|
||||
during the timeout period. */
|
||||
#define ETIMEDOUT __KERNEL_NEG(320) /* Connection timed out. */
|
||||
|
||||
/* A remote host refused to allow the network connection (typically
|
||||
because it is not running the requested service). */
|
||||
#define ECONNREFUSED __KERNEL_NEG(321) /* Connection refused. */
|
||||
|
||||
/* The remote host for a requested network connection is down. */
|
||||
#define EHOSTDOWN __KERNEL_NEG(322) /* Host is down. */
|
||||
|
||||
/* The remote host for a requested network connection is not
|
||||
reachable. */
|
||||
#define EHOSTUNREACH __KERNEL_NEG(323) /* No route to host. */
|
||||
|
||||
/* An operation is already in progress on an object that has
|
||||
non-blocking mode selected. */
|
||||
#define EALREADY __KERNEL_NEG(324) /* Operation already in progress. */
|
||||
|
||||
/* An operation that cannot complete immediately was initiated on an
|
||||
object that has non-blocking mode selected. Some functions that
|
||||
must always block (such as `connect') never return `EAGAIN'. Instead
|
||||
they return `EINPROGRESS' to indicate that the operation has begun and
|
||||
will take some time. Attempts to manipulate the object before the
|
||||
call completes return `EALREADY'. You can use the `select' function
|
||||
to find out when the pending operation has completed. */
|
||||
#define EINPROGRESS __KERNEL_NEG(325) /* Operation now in progress. */
|
||||
|
||||
/* Resource temporarily unavailable; the call might work if you try
|
||||
again later. The macro `EWOULDBLOCK' is another name for `EAGAIN';
|
||||
they are always the same in the MiNT system.
|
||||
|
||||
This error can happen in a few different situations:
|
||||
|
||||
* An operation that would block was attempted on an object that
|
||||
has non-blocking mode selected. Trying the same operation
|
||||
again will block until some external condition makes it
|
||||
possible to read, write or connect (whatever the operation).
|
||||
You can use `select' to find out when the operation will be
|
||||
possible.
|
||||
|
||||
Portability Note: In many older Unix systems, this condition
|
||||
was indicated by `EWOULDBLOCK', which was a distinct error
|
||||
code different from `EAGAIN'. To make your program portable,
|
||||
you should check for both codes and treat them the same.
|
||||
In C programs you should not use a case statement for that
|
||||
because that will trigger a compile-time error for systems
|
||||
where `EWOULDBLOCK' and `EAGAIN' expand to the same numerical
|
||||
value. You should either handle treat it with preprocessor
|
||||
macros (test if they are equal or not) or use an if conditional.
|
||||
|
||||
* A temporary resource shortage made an operation impossible.
|
||||
`fork' can return this error. It indicates that the shortage
|
||||
is expected to pass, so your program can try the call again
|
||||
later and it may succeed. It is probably a good idea to
|
||||
delay for a few seconds before trying it again, to allow time
|
||||
for other processes to release scarce resources. Such
|
||||
shortages are usually fairly serious and affect the whole
|
||||
system, so usually an interactive program should report the
|
||||
error to the user and return to its command loop. */
|
||||
#define EAGAIN __KERNEL_NEG(326) /* Operation would block. */
|
||||
#define EWOULDBLOCK EAGAIN
|
||||
|
||||
/* The kernel's buffer for I/O operations are all in use. In GNU,
|
||||
this error is always synonymous with `ENOMEM'; you may get one or
|
||||
the other from network operations. */
|
||||
#define ENOBUFS __KERNEL_NEG(327) /* No buffer space available. */
|
||||
|
||||
/* Too many references: cannot splice. */
|
||||
#define ETOOMANYREFS __KERNEL_NEG(328) /* Too many references. */
|
||||
|
||||
#define _NE_MAX ETOOMANYREFS
|
||||
|
||||
#endif /* _MINT_ERRNO_H */
|
||||
462
devtools/ahcccf.bin/include/mint/falcon.h
Normal file
462
devtools/ahcccf.bin/include/mint/falcon.h
Normal file
@@ -0,0 +1,462 @@
|
||||
/*
|
||||
* GNU-C Bindings for Falcon XBIOS functions
|
||||
* -- hyc 11-9-1992 (uunet!hanauma.Jpl.Nasa.Gov!hyc)
|
||||
*/
|
||||
|
||||
#ifndef _FALCON_H
|
||||
#define _FALCON_H 1
|
||||
|
||||
#ifndef _MINT_OSBIND_H
|
||||
# include <mint/osbind.h>
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef trap_14_wwwwww
|
||||
#define trap_14_wwwwww(n,a,b,c,d,e) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
short _a = (short)(a); \
|
||||
short _b = (short)(b); \
|
||||
short _c = (short)(c); \
|
||||
short _d = (short)(d); \
|
||||
short _e = (short)(e); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movw %6,sp@-; \
|
||||
movw %5,sp@-; \
|
||||
movw %4,sp@-; \
|
||||
movw %3,sp@-; \
|
||||
movw %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #14; \
|
||||
lea sp@(12),sp" \
|
||||
: "=r"(retvalue) \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d), "r"(_e) \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2", "memory"); \
|
||||
retvalue; \
|
||||
})
|
||||
#endif
|
||||
|
||||
#ifndef trap_14_wllll
|
||||
#define trap_14_wllll(n,a,b,c,d) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long)(a); \
|
||||
long _b = (long)(b); \
|
||||
long _c = (long)(c); \
|
||||
long _d = (long)(d); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movl %5,sp@-; \
|
||||
movl %4,sp@-; \
|
||||
movl %3,sp@-; \
|
||||
movl %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #14; \
|
||||
lea sp@(18),sp" \
|
||||
: "=r"(retvalue) \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d) \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2", "memory"); \
|
||||
retvalue; \
|
||||
})
|
||||
#endif
|
||||
|
||||
#ifndef trap_14_wllllll
|
||||
#define trap_14_wllllll(n,a,b,c,d,e,f) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long)(a); \
|
||||
long _b = (long)(b); \
|
||||
long _c = (long)(c); \
|
||||
long _d = (long)(d); \
|
||||
long _e = (long)(e); \
|
||||
long _f = (long)(f); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movl %7,sp@-; \
|
||||
movl %6,sp@-; \
|
||||
movl %5,sp@-; \
|
||||
movl %4,sp@-; \
|
||||
movl %3,sp@-; \
|
||||
movl %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #14; \
|
||||
lea sp@(26),sp" \
|
||||
: "=r"(retvalue) \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d), "r"(_e), "r"(_f) \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2", "memory"); \
|
||||
retvalue; \
|
||||
})
|
||||
#endif
|
||||
|
||||
#ifndef trap_14_wll
|
||||
#define trap_14_wll(n,a,b) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long)(a); \
|
||||
long _b = (long)(b); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movl %3,sp@-; \
|
||||
movl %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #14; \
|
||||
lea sp@(10),sp" \
|
||||
: "=r"(retvalue) \
|
||||
: "g"(n), "r"(_a), "r"(_b) \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2", "memory"); \
|
||||
retvalue; \
|
||||
})
|
||||
#endif
|
||||
|
||||
#ifndef trap_14_wlwl
|
||||
#define trap_14_wlwl(n,a,b,c) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long)(a); \
|
||||
short _b = (short)(b); \
|
||||
long _c = (long)(c); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movl %4,sp@-; \
|
||||
movw %3,sp@-; \
|
||||
movl %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #14; \
|
||||
lea sp@(12),sp" \
|
||||
: "=r"(retvalue) \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c) \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2", "memory"); \
|
||||
retvalue; \
|
||||
})
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Video
|
||||
*/
|
||||
|
||||
/* Video mode codes */
|
||||
|
||||
#define VERTFLAG 0x100 /* double-line on VGA, interlace on ST/TV */
|
||||
#define STMODES 0x080 /* ST compatible */
|
||||
#define OVERSCAN 0x040 /* Multiply X&Y rez by 1.2, ignored on VGA */
|
||||
#define PAL 0x020 /* PAL if set, else NTSC */
|
||||
#define VGA 0x010 /* VGA if set, else TV mode */
|
||||
#define COL80 0x008 /* 80 column if set, else 40 column */
|
||||
#define NUMCOLS 7 /* Mask for number of bits per pixel */
|
||||
#define BPS16 4
|
||||
#define BPS8 3
|
||||
#define BPS4 2
|
||||
#define BPS2 1
|
||||
#define BPS1 0
|
||||
|
||||
/* VgetMonitor() return values */
|
||||
enum montypes {STmono=0, STcolor, VGAcolor, TVcolor};
|
||||
|
||||
/* VsetSync flags - 0=internal, 1=external */
|
||||
|
||||
#define VID_CLOCK 1
|
||||
#define VID_VSYNC 2
|
||||
#define VID_HSYNC 4
|
||||
|
||||
#define VsetScreen(lscrn,pscrn,rez,mode) \
|
||||
(void)trap_14_wllww((short)5,(long)(lscrn),(long)(pscrn), \
|
||||
(short)(rez),(short)(mode))
|
||||
#define VsetMode(mode) \
|
||||
(short)trap_14_ww((short)88,(short)(mode))
|
||||
#define VgetMonitor() \
|
||||
(short)trap_14_w((short)89)
|
||||
#define VgetSize(mode) \
|
||||
(long)trap_14_ww((short)91,(short)(mode))
|
||||
#define VsetSync(ext) \
|
||||
(void)trap_14_ww((short)90,(short)(ext))
|
||||
#define VsetRGB(index,count,array) \
|
||||
(void)trap_14_wwwl((short)93,(short)(index),(short)(count), \
|
||||
(long *)(array))
|
||||
#define VgetRGB(index,count,array) \
|
||||
(void)trap_14_wwwl((short)94,(short)(index),(short)(count), \
|
||||
(long *)(array))
|
||||
#define Validmode(mode) \
|
||||
(short)trap_14_ww((short)95,(short)(mode))
|
||||
#define VsetMask(andmask,ormask) \
|
||||
(short)trap_14_www((short)150,(short)(andmask),(short)(ormask))
|
||||
|
||||
|
||||
/*
|
||||
* Sound
|
||||
*/
|
||||
|
||||
/* _SND cookie values */
|
||||
|
||||
#define SND_PSG 0x01 /* Yamaha PSG */
|
||||
#define SND_8BIT 0x02 /* 8 bit DMA stereo */
|
||||
#define SND_16BIT 0x04 /* 16 bit CODEC */
|
||||
#define SND_DSP 0x08 /* DSP */
|
||||
#define SND_MATRIX 0x10 /* Connection Matrix */
|
||||
|
||||
/* XXX Docs say Falcon shows 0x3f. What does bit 0x20 mean ??? */
|
||||
|
||||
/*
|
||||
* Sound data memory layout - samples are all signed values
|
||||
*
|
||||
* (each char = 1 byte, 2 chars = 1 word)
|
||||
* 1 16 bit stereo track: LLRRLLRRLLRRLLRR
|
||||
* 1 8 bit stereo track: LRLRLRLR
|
||||
* 2 16 bit stereo tracks: L0R0L1R1L0R0L1R1
|
||||
* etc...
|
||||
*/
|
||||
|
||||
/* Setbuffer regions */
|
||||
|
||||
#define SR_PLAY 0 /* Set playback registers */
|
||||
#define SR_RECORD 1 /* Set record registers */
|
||||
|
||||
/* Soundcmd Modes */
|
||||
|
||||
#define LTATTEN 0 /* Left-channel output attenuation */
|
||||
#define RTATTEN 1 /* Right channel atten */
|
||||
#define LTGAIN 2 /* Left input gain */
|
||||
#define RTGAIN 3 /* Right channel gain */
|
||||
/* gain and attenuation in 1.5 dB units, 0x00V0, V:0-15 */
|
||||
#define ADDERIN 4 /* Select inputs to adder 0=off, 1=on */
|
||||
#define ADCIN 1 /* Input from ADC */
|
||||
#define MATIN 2 /* Input from connection matrix */
|
||||
#define ADCINPUT 5 /* Select input to ADC, 0=mic, 1=PSG */
|
||||
#define ADCRT 1 /* Right channel input */
|
||||
#define ADCLT 2 /* Left input */
|
||||
#define SETPRESCALE 6 /* Set TT compatibility prescaler */
|
||||
#define PREMUTE 0 /* was /1280, now is invalid, mutes */
|
||||
#define PRE1280 PREMUTE
|
||||
#define PRE640 1 /* divide by 640 */
|
||||
#define PRE320 2 /* / 320 */
|
||||
#define PRE160 3 /* / 160 */
|
||||
|
||||
/* Record/Playback modes */
|
||||
|
||||
#define STEREO8 0 /* 8 bit stereo */
|
||||
#define STEREO16 1 /* 16 bit stereo */
|
||||
#define MONO8 2 /* 8 bit mono */
|
||||
|
||||
/* Record/Playback tracks range from 0 to 3 */
|
||||
|
||||
/* XXX Doc for Settracks could be clearer. Can we individually set, e.g.,
|
||||
tracks 0 & 2 for playback, or must track selections be contiguous? */
|
||||
|
||||
/* Sound buffer interrupts */
|
||||
/* sources */
|
||||
#define SI_TIMERA 0 /* Timer A interrupt */
|
||||
#define SI_MFPI7 1 /* MFP interrupt 7 */
|
||||
/* causes */
|
||||
#define SI_NONE 0 /* No interrupts */
|
||||
#define SI_PLAY 1 /* Intr at end of play buffer */
|
||||
#define SI_RECORD 2 /* Intr at end of record buffer */
|
||||
#define SI_BOTH 3 /* Interrupt for either play or record */
|
||||
|
||||
/* Buffoper flags */
|
||||
|
||||
#define SB_PLA_ENA 1 /* Play enable */
|
||||
#define SB_PLA_RPT 2 /* Play repeat (continuous loop mode) */
|
||||
#define SB_REC_ENA 4 /* Record enable */
|
||||
#define SB_REC_RPT 8 /* Record repeat */
|
||||
|
||||
/* Dsptristate - 0=tristate, 1=enable */
|
||||
|
||||
/* Gpio modes */
|
||||
|
||||
#define GPIO_SET 0 /* Set I/O direction, 0=in, 1=out */
|
||||
#define GPIO_READ 1 /* Read bits - only 3 bits on gpio */
|
||||
#define GPIO_WRITE 2 /* Write gpio data bits */
|
||||
|
||||
/* Devconnect (connection matrix) source devices */
|
||||
|
||||
#define DMAPLAY 0 /* DMA playback */
|
||||
#define DSPXMIT 1 /* DSP transmit */
|
||||
#define EXTINP 2 /* External input */
|
||||
#define ADC 3 /* Microphone/PSG, see Soundcmd(ADCINPUT) */
|
||||
|
||||
/* Devconnect destination devices, bitmapped */
|
||||
|
||||
#define DMAREC 1 /* DMA record */
|
||||
#define DSPRECV 2 /* DSP receive */
|
||||
#define EXTOUT 4 /* External output */
|
||||
#define DAC 8 /* Headphone, internal speaker, monitor */
|
||||
|
||||
/* Devconnect clock sources */
|
||||
|
||||
#define CLK25M 0 /* Internal 25.175 MHz clock */
|
||||
#define CLKEXT 1 /* External clock */
|
||||
#define CLK32M 2 /* Internal 32 MHz. Invalid for CODEC */
|
||||
|
||||
/* Devconnect clock prescaler values */
|
||||
|
||||
/* XXX Doc lists incorrect hz numbers for many of these... */
|
||||
|
||||
#define CLKOLD 0 /* TT compatible, see Soundcmd(SETPRESCALE) */
|
||||
#define CLK50K 1 /* 49170 hz */
|
||||
#define CLK33K 2 /* 32780 hz */
|
||||
#define CLK25K 3 /* 24585 hz */
|
||||
#define CLK20K 4 /* 19668 hz */
|
||||
#define CLK16K 5 /* 16390 hz */
|
||||
/* 6 (14049 hz) invalid for CODEC */
|
||||
#define CLK12K 7 /* 12292 hz */
|
||||
/* 8 (10927 hz) invalid for CODEC */
|
||||
#define CLK10K 9 /* 9834 hz */
|
||||
/* 10 (8940 hz) invalid for CODEC */
|
||||
#define CLK8K 11 /* 8195 hz */
|
||||
/* 12 (7565 hz) invalid */
|
||||
/* 13 (7024 hz) invalid */
|
||||
/* 14 (6556 hz) invalid */
|
||||
/* 15 (6146 hz) invalid */
|
||||
|
||||
/* Sndstatus command */
|
||||
|
||||
#define SND_CHECK 0 /* Check current status */
|
||||
#define SND_RESET 1 /* Reset sound system */
|
||||
/*
|
||||
* Reset effects: DSP tristated, gain=atten=0, matrix reset,
|
||||
* ADDERIN=0, Mode=STEREO8, Play=Record=Monitor tracks=0,
|
||||
* interrupts disabled, buffer operation disabled.
|
||||
*/
|
||||
|
||||
/* Sndstatus status return */
|
||||
|
||||
#define SS_OK 0 /* No errors */
|
||||
#define SS_CTRL 1 /* Invalid control field (Data assumed OK) */
|
||||
#define SS_SYNC 2 /* Invalid sync format (mutes) */
|
||||
#define SS_SCLK 3 /* Serial clock out of valid range (mutes) */
|
||||
|
||||
#define SS_RTCLIP 0x10 /* Right channel is clipping */
|
||||
#define SS_LTCLIP 0x20 /* Left channel is clipping */
|
||||
|
||||
/* Structure used by Buffptr */
|
||||
|
||||
typedef struct SndBufPtr {
|
||||
char *play;
|
||||
char *record;
|
||||
long reserve1;
|
||||
long reserve2;
|
||||
} SndBufPtr;
|
||||
|
||||
|
||||
#define Locksnd() \
|
||||
(long)trap_14_w((short)128)
|
||||
#define Unlocksnd() \
|
||||
(long)trap_14_w((short)129)
|
||||
#define Setbuffer(region,beg,end) \
|
||||
(long)trap_14_wwll((short)131,(short)(region),(long)(beg),(long)(end))
|
||||
#define Soundcmd(mode,data) \
|
||||
(long)trap_14_www((short)130,(short)(mode),(short)(data))
|
||||
#define Setmode(stereo_mode) \
|
||||
(long)trap_14_ww((short)132,(short)(stereo_mode))
|
||||
#define Settracks(play,rec) \
|
||||
(long)trap_14_www((short)133,(short)(play),(short)(rec))
|
||||
#define Setmontracks(montrack) \
|
||||
(long)trap_14_ww((short)134,(short)(montrack))
|
||||
#define Setinterrupt(src_inter,cause) \
|
||||
(long)trap_14_www((short)135,(short)(src_inter), \
|
||||
(short)(cause))
|
||||
#define Buffoper(mode) \
|
||||
(long)trap_14_ww((short)136,(short)(mode))
|
||||
#define Dsptristate(dspxmit,dsprec) \
|
||||
(long)trap_14_www((short)137,(short)(dspxmit), \
|
||||
(short)(dsprec))
|
||||
#define Gpio(mode,data) \
|
||||
(long)trap_14_www((short)138,(short)(mode),(short)(data))
|
||||
#define Devconnect(src,dst,sclk,pre,proto) \
|
||||
(long)trap_14_wwwwww((short)139,(short)(src),(short)(dst), \
|
||||
(short)(sclk),(short)(pre),(short)(proto))
|
||||
#define Sndstatus(reset) \
|
||||
(long)trap_14_ww((short)140,(short)(reset))
|
||||
#define Buffptr(ptr) \
|
||||
(long)trap_14_wl((short)141,(long)(ptr))
|
||||
|
||||
|
||||
/*
|
||||
* DSP functions
|
||||
*
|
||||
* Don't even *think* of trying to use these without the manual!
|
||||
*/
|
||||
|
||||
#define Dsp_DoBlock(data_in,size_in,data_out,size_out) \
|
||||
(void)trap_14_wllll((short)96,(long)(data_in),(long)(size_in), \
|
||||
(long)(data_out),(long)(size_out))
|
||||
#define Dsp_BlkHandShake(data_in,size_in,data_out,size_out) \
|
||||
(void)trap_14_wllll((short)97,(long)(data_in),(long)(size_in), \
|
||||
(long)(data_out),(long)(size_out))
|
||||
#define Dsp_BlkUnpacked(data_in,size_in,data_out,size_out) \
|
||||
(void)trap_14_wllll((short)98,(long)(data_in),(long)(size_in), \
|
||||
(long)(data_out),(long)(size_out))
|
||||
#define Dsp_BlkWords(data_in,size_in,data_out,size_out) \
|
||||
(void)trap_14_wllll((short)123,(long)(data_in),(long)(size_in), \
|
||||
(long)(data_out),(long)(size_out))
|
||||
#define Dsp_BlkBytes(data_in,size_in,data_out,size_out) \
|
||||
(void)trap_14_wllll((short)124,(long)(data_in),(long)(size_in), \
|
||||
(long)(data_out),(long)(size_out))
|
||||
#define Dsp_MultBlocks(numsend,numrecv,sendblks,recvblks) \
|
||||
(void)trap_14_wllll((short)127,(long)(numsend),(long)(numrecv), \
|
||||
(long)(sendblks),(long)(recvblks))
|
||||
#define Dsp_InStream(data_in,blksiz,numblks,blksdone) \
|
||||
(void)trap_14_wllll((short)99,(long)(data_in),(long)(blksiz), \
|
||||
(long)(numblks),(long)(blksdone))
|
||||
#define Dsp_OutStream(data_out,blksiz,numblks,blksdone) \
|
||||
(void)trap_14_wllll((short)100,(long)(data_out),(long)(blksiz), \
|
||||
(long)(numblks),(long)(blksdone))
|
||||
#define Dsp_IOStream(data_in,data_out,blkisiz,blkosiz,numblks,blksdone) \
|
||||
(void)trap_14_wllllll((short)101,(long)(data_in),(long)(data_out),\
|
||||
(long)(blkisiz),(long)(blkosiz),(long)(numblks), \
|
||||
(long)(blksdone))
|
||||
#define Dsp_SetVectors(rcvr,xmtr) \
|
||||
(void)trap_14_wll((short)126,(long)(rcvr),(long)(xmtr))
|
||||
#define Dsp_RemoveInterrupts(mask) \
|
||||
(void)trap_14_ww((short)102,(short)(mask))
|
||||
#define Dsp_GetWordSize() (short)trap_14_w((short)103)
|
||||
#define Dsp_Lock() (short)trap_14_w((short)104)
|
||||
#define Dsp_Unlock() (void)trap_14_w((short)105)
|
||||
#define Dsp_Available(xmem,ymem) \
|
||||
(void)trap_14_wll((short)106,(long)(xmem),(long)(ymem))
|
||||
#define Dsp_Reserve(xmem,ymem) \
|
||||
(short)trap_14_wll((short)107,(long)(xmem),(long)(ymem))
|
||||
#define Dsp_LoadProg(file,ability,buffer) \
|
||||
(short)trap_14_wlwl((short)108,(long)(file),(short)(ability), \
|
||||
(long)(buffer))
|
||||
#define Dsp_ExecProg(codeptr,codesiz,ability) \
|
||||
(void)trap_14_wllw((short)109,(long)(codeptr),(long)(codesiz), \
|
||||
(short)(ability))
|
||||
#define Dsp_ExecBoot(codeptr,codesiz,ability) \
|
||||
(void)trap_14_wllw((short)110,(long)(codeptr),(long)(codesiz), \
|
||||
(short)(ability))
|
||||
#define Dsp_LodToBinary(file,codeptr) \
|
||||
(long)trap_14_wll((short)111,(long)(file),(long)(codeptr))
|
||||
#define Dsp_TriggerHC(vector) \
|
||||
(void)trap_14_ww((short)112,(short)(vector))
|
||||
#define Dsp_RequestUniqueAbility() (short)trap_14_w((short)113)
|
||||
#define Dsp_GetProgAbility() (short)trap_14_w((short)114)
|
||||
#define Dsp_FlushSubroutines() (void)trap_14_w((short)115)
|
||||
#define Dsp_LoadSubroutine(ptr,siz,ability) \
|
||||
(short)trap_14_wllw((short)116,(long)(ptr),(long)(siz), \
|
||||
(short)(ability))
|
||||
#define Dsp_InqSubrAbility(ability) \
|
||||
(short)trap_14_ww((short)117,(short)(ability))
|
||||
#define Dsp_RunSubroutine(handle) \
|
||||
(short)trap_14_ww((short)118,(short)(handle))
|
||||
#define Dsp_Hf0(flag) \
|
||||
(short)trap_14_ww((short)119,(short)(flag))
|
||||
#define Dsp_Hf1(flag) \
|
||||
(short)trap_14_ww((short)120,(short)(flag))
|
||||
#define Dsp_Hf2() (short)trap_14_w((short)121)
|
||||
#define Dsp_Hf3() (short)trap_14_w((short)122)
|
||||
#define Dsp_HStat() (char)trap_14_w((short)125)
|
||||
|
||||
|
||||
#endif /* _FALCON_H */
|
||||
15
devtools/ahcccf.bin/include/mint/iflink.h
Normal file
15
devtools/ahcccf.bin/include/mint/iflink.h
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
#ifndef _IFLINK_H
|
||||
#define _IFLINK_H 1
|
||||
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
__EXTERN int if_link __PROTO ((char*, char*));
|
||||
__EXTERN int if_getlnkflags __PROTO ((char*, short*));
|
||||
__EXTERN int if_setlnkflags __PROTO ((char*, short));
|
||||
__EXTERN int if_getifflags __PROTO ((char*, short*));
|
||||
__EXTERN int if_setifflags __PROTO ((char*, short));
|
||||
|
||||
#endif /* mint/iflink.h */
|
||||
997
devtools/ahcccf.bin/include/mint/linea.h
Normal file
997
devtools/ahcccf.bin/include/mint/linea.h
Normal file
@@ -0,0 +1,997 @@
|
||||
/*
|
||||
* Common include file for C interface to low level Line A calls
|
||||
*
|
||||
* ++jrb bammi@cadence.com
|
||||
*/
|
||||
#ifndef _MINT_LINEA_H
|
||||
#define _MINT_LINEA_H
|
||||
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/*****************************************************************************\
|
||||
* *
|
||||
* Defines *
|
||||
* *
|
||||
\*****************************************************************************/
|
||||
|
||||
/*
|
||||
* Object colors (default pallette)
|
||||
*
|
||||
*/
|
||||
#define WHITE 0
|
||||
#define BLACK 1
|
||||
#define RED 2
|
||||
#define GREEN 3
|
||||
#define BLUE 4
|
||||
#define CYAN 5
|
||||
#define YELLOW 6
|
||||
#define MAGENTA 7
|
||||
#define LWHITE 8
|
||||
#define LBLACK 9
|
||||
#define LRED 10
|
||||
#define LGREEN 11
|
||||
#define LBLUE 12
|
||||
#define LCYAN 13
|
||||
#define LYELLOW 14
|
||||
#define LMAGENTA 15
|
||||
|
||||
|
||||
/*
|
||||
* Vdi writing modes
|
||||
*
|
||||
*/
|
||||
#define MD_REPLACE 1
|
||||
#define MD_TRANS 2
|
||||
#define MD_XOR 3
|
||||
#define MD_ERASE 4
|
||||
|
||||
|
||||
/*
|
||||
* Raster Op Codes
|
||||
*
|
||||
*/
|
||||
#define ALL_WHITE 0
|
||||
#define S_AND_D 1
|
||||
#define S_AND_NOTD 2
|
||||
#define S_ONLY 3
|
||||
#define NOTS_AND_D 4
|
||||
#define D_ONLY 5
|
||||
#define S_XOR_D 6
|
||||
#define S_OR_D 7
|
||||
#define NOT_SORD 8
|
||||
#define NOT_SXORD 9
|
||||
#define D_INVERT 10
|
||||
#define NOT_D 10
|
||||
#define S_OR_NOTD 11
|
||||
#define NOT_S 12
|
||||
#define NOTS_OR_D 13
|
||||
#define NOT_SANDD 14
|
||||
#define ALL_BLACK 15
|
||||
|
||||
/*
|
||||
* Sprite formats
|
||||
*
|
||||
*/
|
||||
#define SP_VDI 0
|
||||
#define SP_XOR 1
|
||||
|
||||
/*
|
||||
* Line A Opcodes
|
||||
*
|
||||
*/
|
||||
#define INIT 0
|
||||
#define PUTPIXEL 1
|
||||
#define GETPIXEL 2
|
||||
#define LINE 3
|
||||
#define HLINE 4
|
||||
#define RECTANGLE 5
|
||||
#define FPOLYGON 6
|
||||
#define BITBLT 7
|
||||
#define TEXTBLT 8
|
||||
#define SHOWMOUSE 9
|
||||
#define HIDEMOUSE 10
|
||||
#define TRANMOUSE 11
|
||||
#define USPRITE 12
|
||||
#define DSPRITE 13
|
||||
#define CPYRASTER 14
|
||||
#define FSEEDFILL 15 /* ROM TOS only */
|
||||
|
||||
|
||||
/*****************************************************************************\
|
||||
* *
|
||||
* Types *
|
||||
* *
|
||||
\*****************************************************************************/
|
||||
|
||||
/*
|
||||
* Global Variables at negative offsets from the Line A parameter
|
||||
* block address returned by init. (I have no way of telling if this
|
||||
* list is complete).
|
||||
*
|
||||
*/
|
||||
/* Name Offset Type Description */
|
||||
/* --------------------------------------------------------------------------*/
|
||||
/* V_BYTES_LIN -2 W bytes/line for font */
|
||||
/* V_Y_MAX -4 W Max Y pixel value of the screen */
|
||||
/* V_STATUS -6 W Text Status byte */
|
||||
/* Bit Field Zero One */
|
||||
/* 0 cursor flash disabled enabled */
|
||||
/* 1 flash state off on */
|
||||
/* 2 cursor visible no yes */
|
||||
/* 3 end of line no-wrap wrap */
|
||||
/* 4 inverse video on off */
|
||||
/* 5 cursor saved false true */
|
||||
/* V_OFF_AD -10 L Font offset table address */
|
||||
/* V_X_MAX -12 W Max X pixel value */
|
||||
/* V_FNT_WR -14 W Width of Font Form in bytes (see type FONT below) */
|
||||
/* V_FNT_ST -16 W First font ASCII code (first_ade) */
|
||||
/* V_FNT_ND -18 W Last font ASCII code (last_ade ) */
|
||||
/* V_FNT_AD -22 L Font Form address */
|
||||
/* Mono Spaced, 8 pixels wide and byte aligned, any ht. */
|
||||
/* V_CUR_TIM -23 B Cursor countdown timer */
|
||||
/* V_CUR_CNT -24 B Cursor flash interval( in frames) */
|
||||
/* V_CUR_CY -26 W Y cursor position */
|
||||
/* V_CUR_CX -28 W X cursor position */
|
||||
/* V_CUR_OFF -30 W Offset from screen base to first cell (bytes) */
|
||||
/* V_CUR_AD -34 L Current cursor address */
|
||||
/* V_COL_FG -36 W Foreground color index */
|
||||
/* V_COL_BG -38 W Background color index */
|
||||
/* V_CEL_WR -40 W Offset to next vertical cell (bytes) */
|
||||
/* V_CEL_MY -42 W Max cells high - 1 */
|
||||
/* V_CEL_MX -44 W Max cells across - 1 */
|
||||
/* V_CEL_HT -46 W Cell height in pixels (font form's height) */
|
||||
/* --------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* Atari finally named these variables
|
||||
* so here they are
|
||||
*
|
||||
*/
|
||||
#define V_CEL_HT (*((short *)((char *)__aline + -46L)))
|
||||
#define V_CEL_MX (*((short *)((char *)__aline + -44L)))
|
||||
#define V_CEL_MY (*((short *)((char *)__aline + -42L)))
|
||||
#define V_CEL_WR (*((short *)((char *)__aline + -40L)))
|
||||
#define V_COL_BG (*((short *)((char *)__aline + -38L)))
|
||||
#define V_COL_FG (*((short *)((char *)__aline + -36L)))
|
||||
#define V_CUR_AD (*((char **)((char *)__aline + -34L)))
|
||||
#define V_CUR_OFF (*((short *)((char *)__aline + -30L)))
|
||||
#define V_CUR_CX (*((short *)((char *)__aline + -28L)))
|
||||
#define V_CUR_CY (*((short *)((char *)__aline + -26L)))
|
||||
#define V_CUR_CNT (*((char *)((char *)__aline + -24L)))
|
||||
#define V_CUR_TIM (*( ((char *)__aline + -23L)))
|
||||
#define V_FNT_AD (*((char **)((char *)__aline + -22L)))
|
||||
#define V_FNT_ND (*((short *)((char *)__aline + -18L)))
|
||||
#define V_FNT_ST (*((short *)((char *)__aline + -16L)))
|
||||
#define V_FNT_WR (*((short *)((char *)__aline + -14L)))
|
||||
#define V_X_MAX (*((short *)((char *)__aline + -12L)))
|
||||
#define V_OFF_AD (*((char **)((char *)__aline + -10L)))
|
||||
#define V_STATUS (*((short *)((char *)__aline + -6L)))
|
||||
#define V_Y_MAX (*((short *)((char *)__aline + -4L)))
|
||||
#define V_BYTES_LIN (*((short *)((char *)__aline + -2L)))
|
||||
|
||||
/* more obscure variables again found at negative offset */
|
||||
|
||||
/* pointer to current font */
|
||||
#define CUR_FONT (*((__FONT **)((char *)__aline + -906L)))
|
||||
|
||||
/* Mouse X hot spot */
|
||||
#define M_POS_HX (*((short *)((char *)__aline + -856L)))
|
||||
|
||||
/* Mouse Y hot spot */
|
||||
#define M_POS_HY (*((short *)((char *)__aline + -854L)))
|
||||
|
||||
/* writing mode for mouse */
|
||||
#define M_PLANES (*((short *)((char *)__aline + -852L)))
|
||||
|
||||
/* mouse bkgd color */
|
||||
#define M_CDB_BG (*((short *)((char *)__aline + -850L)))
|
||||
|
||||
/* mouse fgd color */
|
||||
#define M_CDB_FG (*((short *)((char *)__aline + -848L)))
|
||||
|
||||
/* mous form, 32 words alternating words: bkgd-0, fgd-0 ... bkgd-15 fgd-16 */
|
||||
#define MASK_FORM ((short *)((char *)__aline + -846L))
|
||||
|
||||
/* 45 words of vq_extnd */
|
||||
#define INQ_TAB ((short *)((char *)__aline + -782L))
|
||||
|
||||
/* 45 words of v_opnwk */
|
||||
#define DEV_TAB ((short *)((char *)__aline + -692L))
|
||||
|
||||
/* current mous X */
|
||||
#define GCURX (*((short *)((char *)__aline + -602L)))
|
||||
|
||||
/* current mous Y */
|
||||
#define GCURY (*((short *)((char *)__aline + -600L)))
|
||||
|
||||
/* current mous hide cnt */
|
||||
#define M_HID_CT (*((short *)((char *)__aline + -598L)))
|
||||
|
||||
/* mous button stat, bit0 = left, 1 = right, 0=up, 1=down */
|
||||
#define MOUSE_BT (*((short *)((char *)__aline + -596L)))
|
||||
|
||||
/* 3*16 words of vq_color */
|
||||
#define REQ_COL ((short *)((char *)__aline + -594L))
|
||||
|
||||
/* 15 words containing text, line and marker sizes in dev coords
|
||||
0 min char width
|
||||
1 min char height
|
||||
2 max char width
|
||||
3 max char height
|
||||
4 min line width
|
||||
5 reserved
|
||||
6 max line width
|
||||
7 reserved
|
||||
8 min marker width
|
||||
9 min marker height
|
||||
10 max marker width
|
||||
11 max marker height
|
||||
12-14 RESERVED */
|
||||
#define SIZ_TAB ((short *)((char *)__aline + -498L))
|
||||
|
||||
/* Pointer to current virtual workstation attributes */
|
||||
#define CUR_WORK (*((short **)((char *)__aline + -464L)))
|
||||
|
||||
/* -> default font hdr */
|
||||
#define DEF_FONT (*((__FONT **)((char *)__aline + -460L)) )
|
||||
|
||||
|
||||
/* FONT_RING is an array of four longword pointers to linked lists of
|
||||
font headers. The first entry is the head pointer to the font list,
|
||||
the second and third are continuation fields, and the fourth is a null
|
||||
terminator. */
|
||||
#define FONT_RING ((short *)((char *)__aline + -456L))
|
||||
|
||||
/* Number of fonts in the FONT_RING lists */
|
||||
#define FONT_COUNT (*((short *)((char *)__aline + -440L)))
|
||||
|
||||
/* Mouse status
|
||||
Bit 0 = left mouse button status (0=up, 1=down)
|
||||
Bit 1 = right mouse button status (0=up, 1=down)
|
||||
Bit 2 = reserved
|
||||
Bit 3 = reserved
|
||||
Bit 4 = reserved
|
||||
Bit 5 = mouse movement flag (0=no movement, 1=movement)
|
||||
Bit 6 = right mouse button change flag (0=nochange, 1=change)
|
||||
Bit 7 = left mouse button change flag (0=nochange, 1=change) */
|
||||
#define CUR_MS_STAT (*((char *)__aline + -348L))
|
||||
|
||||
/* Hide depth of alpha cursor */
|
||||
#define V_HID_CNT (*((short *)((char *)__aline + -346L)))
|
||||
|
||||
/* Mouse cursor X position */
|
||||
#define CUR_X (*((short *)((char *)__aline + -344L)))
|
||||
|
||||
/* Mouse cursor Y position */
|
||||
#define CUR_Y (*((short *)((char *)__aline + -342L)))
|
||||
|
||||
/* Nonzero = draw mouse form on VBLANK. */
|
||||
#define CUR_FLAG (*((char *)__aline + -340L))
|
||||
|
||||
/* Non-zero if mouse interrupt processing is enabled */
|
||||
#define MOUSE_FLAG (*((char *)__aline + -339L))
|
||||
|
||||
/* Saved alpha cursor X coord */
|
||||
#define V_SAV_X (*((short *)((char *)__aline + -334L)))
|
||||
|
||||
/* Saved alpha cursor Y coord */
|
||||
#define V_SAV_Y (*((short *)((char *)__aline + -332L)))
|
||||
|
||||
/* height of saved form */
|
||||
#define SAVE_LEN (*((short *)((char *)__aline + -330L)))
|
||||
|
||||
/* Screen address of first word saved from screen */
|
||||
#define SAVE_ADDR (*((char **)((char *)__aline + -328L)))
|
||||
|
||||
/* Save Status
|
||||
bit 0 => 1 = info in buffer is valid.
|
||||
0 = info in buffer is not valid.
|
||||
bit 1 => If 1, double-word wide area was saved.
|
||||
If zero, word wide area was saved.
|
||||
bits 2-15 RESERVED */
|
||||
#define SAVE_STAT (*((short *)((char *)__aline + -324L)))
|
||||
|
||||
/* Save up to 4 planes, 16 longwords per plane. */
|
||||
#define SAVE_AREA ((long *)((char *)__aline + -322L))
|
||||
|
||||
/* USER_TIM is a pointer to a user installed routine executed on each
|
||||
system timer tick. When done, this routine should jump to the
|
||||
address held in NEXT_TIM. For more information, see the VDI manual
|
||||
under Exchange Timer Interrupt Vector. */
|
||||
#define USER_TIM (*((void(**)())((char *)__aline + -66L)))
|
||||
#define NEXT_TIM (*((void(**)())((char *)__aline + -62L)))
|
||||
|
||||
/* User button vector */
|
||||
#define USER_BUT (*((void(**)())((char *)__aline + -58L)))
|
||||
|
||||
/* User cursor vector */
|
||||
#define USER_CUR (*((void(**)())((char *)__aline + -54L)))
|
||||
|
||||
/* User motion vector */
|
||||
#define USER_MOT (*((void(**)())((char *)__aline + -50L)))
|
||||
|
||||
|
||||
/* A pointer to the type LINEA is returned by the Line A init call
|
||||
* ($A000), in registers A0 and D0.
|
||||
* This pointer is saved in the global variable '__aline'.
|
||||
*
|
||||
*/
|
||||
typedef struct {
|
||||
|
||||
/* Type Name Offset Function Comments */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
short _VPLANES; /* 0 # of Planes Also see CurrRez */
|
||||
short _VWRAP; /* 2 Bytes / scan line " " " */
|
||||
/* VWRAP can be changed to implement special effect*/
|
||||
/* Doubling VWRAP will skip every other scan line */
|
||||
/* */
|
||||
/* */
|
||||
short *_CONTRL; /* 4 Ptr to CONTRL Array Contrl gets set to this */
|
||||
short *_INTIN; /* 8 Ptr to INTIN Array Intin gets set to this */
|
||||
short *_PTSIN; /* 12 Ptr to PTSIN Array Ptsin gets set to this */
|
||||
short *_INTOUT; /* 16 Ptr to INTOUT Array Intout gets set to this */
|
||||
short *_PTSOUT; /* 20 Ptr to PTSOUT Array Ptsout gets set to this */
|
||||
/* CONTRL is the control array */
|
||||
/* INTIN is the array of input parameters */
|
||||
/* PTSIN is the array of input coordinates */
|
||||
/* Even entrys are X coordinate */
|
||||
/* Odd entrys are corresponding Y coodinates */
|
||||
/* INTOUT is the array of output parameters */
|
||||
/* PTSOUT is the array of output coordinates */
|
||||
/* organized like PTSIN. */
|
||||
/* */
|
||||
short _COLBIT0; /* 24 Plane 0 Color Value All Three Rez's */
|
||||
short _COLBIT1; /* 26 Plane 1 Color Value Med and Low Rez only */
|
||||
short _COLBIT2; /* 28 Plane 2 Color Value Low Rez only */
|
||||
short _COLBIT3; /* 30 Plane 3 Color Value Low Rez Only */
|
||||
/* Foreground color COLBIT0 + 2*COLBIT1 + 4*COLBIT2*/
|
||||
/* + 8*COLBIT3 */
|
||||
/* */
|
||||
/* */
|
||||
short _LSTLIN; /* 32 Draw last pixel of a line? 0=yes non0=no */
|
||||
/* This prevents two connecting lines from XORing */
|
||||
/* a common endpoint out of existence */
|
||||
/* */
|
||||
short _LNMASK; /* 34 Linemask used when drawing lines, same as Vdi's */
|
||||
/* line style (rotated to aligned with rightmost */
|
||||
/* endpoint when drawing lines) */
|
||||
/* */
|
||||
short _WMODE; /* 36 Writing mode */
|
||||
/* 0=Replace Mode-Replace all bits in Dest with src*/
|
||||
/* 1=Trans. Mode-Only additional bits in src set(OR*/
|
||||
/* 2=Xor Mode- Src XOR Dest */
|
||||
/* 3=Inverse Trans.- (NOT src) Or Dest */
|
||||
/* Values upto 16 are permitted */
|
||||
/* */
|
||||
short _X1; /* 38 X1 coordinate used in various calls */
|
||||
/* */
|
||||
short _Y1; /* 40 Y1 coordinate used in various calls */
|
||||
/* */
|
||||
short _X2; /* 42 X2 coordinate used in various calls */
|
||||
/* */
|
||||
short _Y2; /* 44 Y2 coordinate used in various calls */
|
||||
/* */
|
||||
/* */
|
||||
short *_PATPTR; /* 46 Pointer to current fill pattern */
|
||||
/* Must be integral power of 2 (words) in length */
|
||||
short _PATMSK; /* 50 I don't know why they call it a mask. It is in */
|
||||
/* reality the length in words of the current patt.*/
|
||||
short _MFILL; /* 52 Multi Plane fill flag 1 == Current fill Pattern */
|
||||
/* is for Muti Plane. */
|
||||
/* */
|
||||
/* */
|
||||
short _CLIP; /* 54 Clipping Flag 1 == TRUE */
|
||||
short _XMINCL; /* 56 Min X of clipping window */
|
||||
short _YMINCL; /* 58 Min Y of clipping window */
|
||||
short _XMAXCL; /* 60 Max X of clipping window */
|
||||
short _YMAXCL; /* 62 Max Y of clipping window */
|
||||
/* */
|
||||
/* */
|
||||
short _XDDA; /* 64 Accumulator for Scaling, Must be set to 0x08000 */
|
||||
/* before each call to Text Blt. Done for you in */
|
||||
/* in aline_text() */
|
||||
short _DDAINC; /* 66 Scaling factor - Fractional amount to scale char*/
|
||||
/* When scaling up = 256 *(Size-Textsize)/Textsize */
|
||||
/* When scaling down = 256*(Size)/Textsize */
|
||||
/* scaling down does not work */
|
||||
short _SCALDIR; /* 68 Scaling direction 0 == down */
|
||||
short _MONO; /* 70 Mono flag 0== current font is a propotional font*/
|
||||
/* Its Ok for Thickening to increase the width of */
|
||||
/* the current character. */
|
||||
/* 1 == current font is mono spaced, so thickening */
|
||||
/* may not increase the width of the current char */
|
||||
/* */
|
||||
short _SOURCEX; /* 72 X coordinate of character in the font form */
|
||||
/* SOURCEX is calculated from info in the font */
|
||||
/* header for the current font (see __FONT type) */
|
||||
/* SOURCEX = off_table[char-first_ade] */
|
||||
/* SOURCEX is calculated for you in aline_text() */
|
||||
/* The pointer to a table of font header for the */
|
||||
/* internal fonts is returned in A2 on init (A000) */
|
||||
short _SOURCEY; /* 74 Y coodinate of character in the font form */
|
||||
/* Typically set to 0 (top line of font form) */
|
||||
short _DESTX; /* 76 X coordinate of character on screen */
|
||||
short _DESTY; /* 78 Y coordinate of character on screen */
|
||||
short _DELX; /* 80 Width of Character */
|
||||
/* Difference between two SOURCEX's */
|
||||
short _DELY; /* 82 Height of Character */
|
||||
/* form_height field of FONT_HEAD of current font */
|
||||
short *_FBASE; /* 84 Pointer to start of font form */
|
||||
short _FWIDTH; /* 88 Width of the current font's form */
|
||||
/* */
|
||||
short _STYLE; /* 90 Vector of style flags */
|
||||
/* Bit 0 = Thicken Flag */
|
||||
/* Bit 1 = Lighten Flag */
|
||||
/* Bit 2 = Skewing Flag */
|
||||
/* Bit 3 = Underline Flag (ignored) */
|
||||
/* Bit 4 = Outline Flag */
|
||||
/* */
|
||||
short _LITEMASK; /* 92 Mask used for lightening text */
|
||||
/* The Mask is picked up from the font header */
|
||||
short _SKEWMASK; /* 94 Mask used for skewing text */
|
||||
/* The Mask is picked up from the font header */
|
||||
short _WEIGHT; /* 96 The number of bits by which to thicken text */
|
||||
/* The number is picked up from the font header */
|
||||
short _ROFF; /* 98 Offset above baseline when skewing */
|
||||
/* Again picked up from the font header */
|
||||
/* */
|
||||
short _LOFF; /* 100 Offset below character baseline when skewing */
|
||||
/* Again picked up from the font header */
|
||||
/* */
|
||||
short _SCALE; /* 102 Scaling Flag 1 == true */
|
||||
/* */
|
||||
short _CHUP; /* 104 Character rotation vector. */
|
||||
/* 0 = normal (0 degrees) */
|
||||
/* 1800 = 180 degrees */
|
||||
/* 2700 = 270 degrees */
|
||||
/* */
|
||||
short _TEXTFG; /* 106 Text foreground color */
|
||||
/* */
|
||||
char *_SCRTCHP; /* 108 Address of buffer required for creating special */
|
||||
/* text effects. The size of this buffer should be */
|
||||
/* 1K according the Internals. The Atari document */
|
||||
/* of course does not talk about such things :-) */
|
||||
/* */
|
||||
short _SCRPT2; /* 112 The offset of the scaling buffer buffer in above*/
|
||||
/* buffer. Internals suggests an offset of 0x0040 */
|
||||
/* As usual the Atari document does'nt say a thing */
|
||||
/* */
|
||||
short _TEXTBG; /* 114 Text background color (Ram Vdi only) */
|
||||
/* used for the BitBlt writing modes (4-19) only */
|
||||
/* */
|
||||
short _COPYTRAN; /* 116 Copy raster form type flag (Ram vdi only) */
|
||||
/* 0 => Opaque type */
|
||||
/* n-plane source -> n-plane dest */
|
||||
/* BitBlt writing modes (4-19) */
|
||||
/* ~0 => Transparent type */
|
||||
/* 1-plane source -> n-plane dest */
|
||||
/* Vdi writing modes (1-3) */
|
||||
/* */
|
||||
short(*_SEEDABORT) __PROTO((void));
|
||||
/* 118 Pointer to function returning int, which is */
|
||||
/* called by the fill logic to allow the fill to */
|
||||
/* be aborted. If the routine returns FALSE (0) */
|
||||
/* the fill is not aborted. If it returns TRUE (~0)*/
|
||||
/* the fill is aborted */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
} __LINEA; /* P H E W !!!!! */
|
||||
|
||||
/* macros for MWC compatibility */
|
||||
#define VPLANES (__aline->_VPLANES)
|
||||
#define VWRAP (__aline->_VWRAP)
|
||||
#define CONTRL (__aline->_CONTRL)
|
||||
#define INTIN (__aline->_INTIN)
|
||||
#define PTSIN (__aline->_PTSIN)
|
||||
#define INTOUT (__aline->_INTOUT)
|
||||
#define PTSOUT (__aline->_PTSOUT)
|
||||
#define COLBIT0 (__aline->_COLBIT0)
|
||||
#define COLBIT1 (__aline->_COLBIT1)
|
||||
#define COLBIT2 (__aline->_COLBIT2)
|
||||
#define COLBIT3 (__aline->_COLBIT3)
|
||||
#define LSTLIN (__aline->_LSTLIN)
|
||||
#define LNMASK (__aline->_LNMASK)
|
||||
#define WMODE (__aline->_WMODE)
|
||||
#define X1 (__aline->_X1)
|
||||
#define Y1 (__aline->_Y1)
|
||||
#define X2 (__aline->_X2)
|
||||
#define Y2 (__aline->_Y2)
|
||||
#define PATPTR (__aline->_PATPTR)
|
||||
#define PATMSK (__aline->_PATMSK)
|
||||
#define MFILL (__aline->_MFILL)
|
||||
#define CLIP (__aline->_CLIP)
|
||||
#define XMINCL (__aline->_XMINCL)
|
||||
#define YMINCL (__aline->_YMINCL)
|
||||
#define XMAXCL (__aline->_XMAXCL)
|
||||
#define YMAXCL (__aline->_YMAXCL)
|
||||
#define XDDA (__aline->_XDDA)
|
||||
#define DDAINC (__aline->_DDAINC)
|
||||
#define SCALDIR (__aline->_SCALDIR)
|
||||
#define MONO (__aline->_MONO)
|
||||
#define SOURCEX (__aline->_SOURCEX)
|
||||
#define SOURCEY (__aline->_SOURCEY)
|
||||
#define DESTX (__aline->_DESTX)
|
||||
#define DESTY (__aline->_DESTY)
|
||||
#define DELX (__aline->_DELX)
|
||||
#define DELY (__aline->_DELY)
|
||||
#define FBASE (__aline->_FBASE)
|
||||
#define FWIDTH (__aline->_FWIDTH)
|
||||
#define STYLE (__aline->_STYLE)
|
||||
#define LITEMASK (__aline->_LITEMASK)
|
||||
#define SKEWMASK (__aline->_SKEWMASK)
|
||||
#define WEIGHT (__aline->_WEIGHT)
|
||||
#define ROFF (__aline->_ROFF)
|
||||
#define LOFF (__aline->_LOFF)
|
||||
#define SCALE (__aline->_SCALE)
|
||||
#define CHUP (__aline->_CHUP)
|
||||
#define TEXTFG (__aline->_TEXTFG)
|
||||
#define SCRTCHP (__aline->_SCRTCHP)
|
||||
#define SCRPT2 (__aline->_SCRPT2)
|
||||
#define TEXTBG (__aline->_TEXTBG)
|
||||
#define COPYTRAN (__aline->_COPYTRAN)
|
||||
#define SEEDABORT (__aline->_SEEDABORT)
|
||||
|
||||
/* A pointer to array of type __FONT is returned by the Line A
|
||||
* init call ($A000), in register A1.
|
||||
* This pointer is saved in the global array variable 'fonts[]'.
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct _font {
|
||||
|
||||
/* Type Name Offset Function Comments */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
short font_id; /* 0 Font face identifier 1 == system font */
|
||||
/* */
|
||||
short size; /* 2 Font size in points */
|
||||
/* */
|
||||
char name[32]; /* 4 Face name */
|
||||
/* */
|
||||
short first_ade; /* 36 Lowest ADE value in the face (lowest ASCII value */
|
||||
/* of displayable character). */
|
||||
/* */
|
||||
short last_ade; /* 38 Highest ADE value in the face (highest ASCII valu*/
|
||||
/* of displayable character). */
|
||||
/* */
|
||||
short top; /* 40 Distance of top line relative to baseline */
|
||||
/* */
|
||||
short ascent; /* 42 Distance of ascent line relative to baseline */
|
||||
/* */
|
||||
short half; /* 44 Distance of half line relative to baseline */
|
||||
/* */
|
||||
short descent; /* 46 Distance of decent line relative to baseline */
|
||||
/* */
|
||||
short bottom; /* 48 Distance of bottom line relative to baseline */
|
||||
/* All distances are measured in absolute values */
|
||||
/* rather than as offsets. They are always +ve */
|
||||
/* */
|
||||
short max_char_width; /* 50 Width of the widest character in font */
|
||||
/* */
|
||||
short max_cell_width; /* 52 Width of the widest cell character cell in face */
|
||||
/* */
|
||||
short left_offset; /* 54 Left Offset see Vdi appendix G */
|
||||
/* */
|
||||
short right_offset; /* 56 Right offset " " " */
|
||||
/* */
|
||||
short thicken; /* 58 Number of pixels by which to thicken characters */
|
||||
/* */
|
||||
short ul_size; /* 60 Width in pixels of the underline */
|
||||
/* */
|
||||
short lighten; /* 62 The mask used to lighten characters */
|
||||
/* */
|
||||
short skew; /* 64 The mask used to determine when to perform */
|
||||
/* additional rotation on the character to perform */
|
||||
/* skewing */
|
||||
/* */
|
||||
short flags; /* 66 Flags */
|
||||
/* bit 0 set if default system font */
|
||||
/* bit 1 set if horiz offset table should be used */
|
||||
/* bit 2 byte-swap flag (thanks to Intel idiots) */
|
||||
/* bit 3 set if mono spaced font */
|
||||
/* */
|
||||
char *h_table; /* 68 Pointer to horizontal offset table */
|
||||
/* */
|
||||
short *off_table; /* 72 Pointer to character offset table */
|
||||
/* */
|
||||
char *dat_table; /* 76 Pointer to font data */
|
||||
/* */
|
||||
short form_width; /* 80 Form width (#of bytes /scanline in font data) */
|
||||
/* */
|
||||
short form_height;/* 82 Form height (#of scanlines in font data) */
|
||||
/* */
|
||||
struct _font *next_font; /* 84 Pointer to next font in face */
|
||||
/* */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
} __FONT;
|
||||
|
||||
/* function pointer array
|
||||
* pointer to array is returned in A2 after a init (A000) call
|
||||
* array contains pointers to the 16 lineA routines, allowing
|
||||
* you to call the routines directly without incurring the
|
||||
* overhead of processing a lineA exception. You must be in
|
||||
* supervisor mode to call any of the routines directly
|
||||
*/
|
||||
typedef short(*FPTR) __PROTO((void));
|
||||
typedef FPTR *FUNCPTR; /* array of pointers to functions returning short */
|
||||
|
||||
/*
|
||||
* OP_TAB type required for Bit Blt parameter block.
|
||||
* each entry defines the logic operation to apply for
|
||||
* the 4 Fore/Back ground bit combinations
|
||||
*/
|
||||
typedef struct {
|
||||
|
||||
/* Type Name Offset Function Comments */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
char fg0bg0; /* 0 Logic op to employ when both FG and BG are 0 */
|
||||
char fg0bg1; /* 1 Logic op to employ when FG = 0 and BG = 1 */
|
||||
char fg1bg0; /* 2 Logic op to employ when FG = 1 and BG = 0 */
|
||||
char fg1bg1; /* 3 Logic op to employ when both FG and BG are 1 */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
} OP_TAB;
|
||||
|
||||
|
||||
/*
|
||||
* Source and destination description blocks
|
||||
*/
|
||||
typedef struct {
|
||||
short bl_xmin; /* Minimum x */
|
||||
short bl_ymin; /* Minimum y */
|
||||
char *bl_form; /* short aligned memory form */
|
||||
short bl_nxwd; /* Offset to next word in line */
|
||||
short bl_nxln; /* Offset to next line in plane */
|
||||
short bl_nxpl; /* Offset to next plane */
|
||||
}SDDB;
|
||||
|
||||
/* Offsets to next word in plane */
|
||||
#define HI_NXWD 2 /* Hi Rez */
|
||||
#define MED_NXWD 4
|
||||
#define LOW_NXWD 8 /* lo Rez */
|
||||
|
||||
/* Scan line widths of the screen */
|
||||
#define HI_NXLN 80 /* Hi Rez */
|
||||
#define MED_NXLN 160
|
||||
#define LOW_NXLN 160 /* lo Rez */
|
||||
|
||||
/*
|
||||
* Offsets between planes - always the same due to
|
||||
* the way the STs video memory is laid out
|
||||
*/
|
||||
#define NXPL 2
|
||||
|
||||
/*
|
||||
* Bit Blt Parameter Block Type (for function $A007)
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
|
||||
/* Type Name Offset Function Comments */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
short bb_b_wd; /* width of block in pixels */
|
||||
short bb_b_ht; /* height of block in pixels */
|
||||
short bb_plane_ct; /* number of planes to blit */
|
||||
short bb_fg_col; /* foreground color */
|
||||
short bb_bg_col; /* back ground color */
|
||||
OP_TAB bb_op_tab; /* logic for fg x bg combination */
|
||||
SDDB bb_s; /* source info block */
|
||||
SDDB bb_d; /* destination info block */
|
||||
short *bb_p_addr; /* pattern buffer address */
|
||||
short bb_p_nxln; /* offset to next line in pattern */
|
||||
short bb_p_nxpl; /* offset to next plane in pattern */
|
||||
short bb_p_mask; /* pattern index mask */
|
||||
char bb_fill[24]; /* work space */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
} BBPB;
|
||||
|
||||
|
||||
#ifndef __MFDB__
|
||||
#define __MFDB__
|
||||
/*
|
||||
* Memory Form Definition Block
|
||||
*
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
void *fd_addr; /* Address of upper left corner of first*/
|
||||
/* plane of raster area. If NULL then */
|
||||
/* MFDB is for a physical device */
|
||||
short fd_w; /* Form Width in Pixels */
|
||||
short fd_h; /* Form Height in Pixels */
|
||||
short fd_wdwidth; /* Form Width in shorts(fd_w/sizeof(int)*/
|
||||
short fd_stand; /* Form format 0= device spec 1=standard*/
|
||||
short fd_nplanes; /* Number of memory planes */
|
||||
short fd_r1; /* Reserved */
|
||||
short fd_r2; /* Reserved */
|
||||
short fd_r3; /* Reserved */
|
||||
} MFDB;
|
||||
#endif /* __MFDB__ */
|
||||
|
||||
/*
|
||||
* Sprite definition block
|
||||
*
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
short sp_xhot; /* Offset to X hot spot */
|
||||
short sp_yhot; /* Offset to Y hot spot */
|
||||
short sp_format; /* Format SP_VDI or SP_XOR */
|
||||
short sp_bg; /* Background color */
|
||||
short sp_fg; /* Foregroud color */
|
||||
short sp_data[32]; /* Sprite data - */
|
||||
/* Alternating words of back/fore */
|
||||
/* ground data */
|
||||
/* Note that: */
|
||||
/* sprite save block is */
|
||||
/* 10+VPLANES*64 bytes long */
|
||||
} SFORM;
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************\
|
||||
* *
|
||||
* Global Variables *
|
||||
* *
|
||||
\*****************************************************************************/
|
||||
|
||||
/*
|
||||
* Global Variables are defined in alglobal.c, extern every where else
|
||||
*
|
||||
*/
|
||||
|
||||
/* global vars */
|
||||
/* Pointer to line a parameter block returned by init */
|
||||
extern __LINEA *__aline;
|
||||
|
||||
/* Array of pointers to the three system font headers
|
||||
returned by init (in register A1) */
|
||||
extern __FONT **__fonts;
|
||||
|
||||
/* Array of pointers to the 16 line a functions returned
|
||||
by init (in register A2) only valid in ROM'ed TOS */
|
||||
extern short (**__funcs) __PROTO((void));
|
||||
|
||||
/* Functions */
|
||||
|
||||
#ifdef __GNUC_INLINE__
|
||||
|
||||
#define linea0() \
|
||||
({ \
|
||||
register __LINEA *__xaline __asm__ ("a0"); \
|
||||
register __FONT **__xfonts __asm__ ("a1"); \
|
||||
register short (**__xfuncs) (void) __asm__ ("a2"); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA000" \
|
||||
: "=g"(__xaline), "=g"(__xfonts), "=g"(__xfuncs) /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: __CLOBBER_RETURN("a0") __CLOBBER_RETURN("a1") __CLOBBER_RETURN("a2") "d0", "d1", "d2" /* clobbered regs */ \
|
||||
); \
|
||||
__aline = __xaline; \
|
||||
__fonts = __xfonts; \
|
||||
__funcs = __xfuncs; \
|
||||
})
|
||||
|
||||
#define linea1() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA001" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define linea2() \
|
||||
({ \
|
||||
register short retvalue __asm__ ("d0"); \
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA002" \
|
||||
: "=g"(retvalue) /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
(int)retvalue; \
|
||||
})
|
||||
|
||||
#define linea3() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA003" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define linea4() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA004" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define linea5() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA005" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define linea6() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA006" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define linea7(P) \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movml d2/a2/a6, sp@-; \
|
||||
movl %0,a6; \
|
||||
.word 0xA007; \
|
||||
movml sp@+, d2/a2/a6" \
|
||||
: /* outputs */ \
|
||||
: "r"(P) /* inputs */ \
|
||||
: "d0", "d1", "a0", "a1" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define linea8() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA008" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define linea9() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA009" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define lineaa() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA00A" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define lineab() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA00B" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define lineac(P) \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movl %0,a2; \
|
||||
movl a6,sp@-;\
|
||||
.word 0xA00C; \
|
||||
movl sp@+,a6"\
|
||||
: /* outputs */ \
|
||||
: "g"(P) /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define linead(x, y, sd, ss) __linead((short)x, (short)y, (void *)sd, (void *)ss)
|
||||
#define __linead(x, y, sd, ss) \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movw %0,d0; \
|
||||
movw %1,d1; \
|
||||
movl %2,a0; \
|
||||
movl %3,a2; \
|
||||
movl a6,sp@-;\
|
||||
.word 0xA00D; \
|
||||
movl sp@+,a6"\
|
||||
: /* outputs */ \
|
||||
: "g"(x), "g"(y), "g"(sd), "g"(ss) /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define lineae() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA00E" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#define lineaf() \
|
||||
({ \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
.word 0xA00F" \
|
||||
: /* outputs */ \
|
||||
: /* inputs */ \
|
||||
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
); \
|
||||
})
|
||||
|
||||
#else /* __NO_INLINE__ */
|
||||
|
||||
__EXTERN void linea0 __PROTO((void));
|
||||
__EXTERN void linea1 __PROTO((void));
|
||||
__EXTERN int linea2 __PROTO((void));
|
||||
__EXTERN void linea3 __PROTO((void));
|
||||
__EXTERN void linea4 __PROTO((void));
|
||||
__EXTERN void linea5 __PROTO((void));
|
||||
__EXTERN void linea6 __PROTO((void));
|
||||
__EXTERN void linea7 __PROTO((BBPB *P));
|
||||
__EXTERN void linea8 __PROTO((void));
|
||||
__EXTERN void linea9 __PROTO((void));
|
||||
__EXTERN void lineaa __PROTO((void));
|
||||
__EXTERN void lineab __PROTO((void));
|
||||
__EXTERN void lineac __PROTO((void *P));
|
||||
__EXTERN void linead __PROTO((int x, int y, SFORM *sd, void *ss));
|
||||
__EXTERN void lineae __PROTO((void));
|
||||
__EXTERN void lineaf __PROTO((void));
|
||||
|
||||
#endif /* __GNUC_INLINE__ */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _MINT_LINEA_H */
|
||||
612
devtools/ahcccf.bin/include/mint/mintbind.h
Normal file
612
devtools/ahcccf.bin/include/mint/mintbind.h
Normal file
@@ -0,0 +1,612 @@
|
||||
|
||||
#ifndef _MINT_MINTBIND_H
|
||||
#define _MINT_MINTBIND_H 1
|
||||
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
#ifndef _MINT_OSBIND_H
|
||||
# include <mint/osbind.h>
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* see osbind.h for __extension__ and AND_MEMORY */
|
||||
|
||||
#define trap_1_wllw(n, a, b, c) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long)(a); \
|
||||
long _b = (long) (b); \
|
||||
short _c = (short) (c); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movw %4,sp@-; \
|
||||
movl %3,sp@-; \
|
||||
movl %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #1; \
|
||||
lea sp@(10),sp " \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wwlw(n, a, b, c) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
short _a = (short)(a); \
|
||||
long _b = (long) (b); \
|
||||
short _c = (short) (c); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movw %4,sp@-; \
|
||||
movl %3,sp@-; \
|
||||
movw %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #1; \
|
||||
lea sp@(10),sp " \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wwww(n, a, b, c) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
short _a = (short)(a); \
|
||||
short _b = (short)(b); \
|
||||
short _c = (short)(c); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movw %4,sp@-; \
|
||||
movw %3,sp@-; \
|
||||
movw %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #1; \
|
||||
addqw #8,sp " \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wwwl(n, a, b, c) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
short _a = (short)(a); \
|
||||
short _b = (short)(b); \
|
||||
long _c = (long)(c); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movl %4,sp@-; \
|
||||
movw %3,sp@-; \
|
||||
movw %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #1; \
|
||||
lea sp@(10),sp " \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wwl(n, a, b) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
short _a = (short)(a); \
|
||||
long _b = (long) (b); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movl %3,sp@-; \
|
||||
movw %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #1; \
|
||||
addqw #8,sp " \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wlllw(n, a, b, c, d) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long) (a); \
|
||||
long _b = (long) (b); \
|
||||
long _c = (long) (c); \
|
||||
short _d = (short) (d); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
(" \
|
||||
movw %5,sp@-; \
|
||||
movl %4,sp@-; \
|
||||
movl %3,sp@-; \
|
||||
movl %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #1; \
|
||||
lea sp@(16),sp " \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wlll(n, a, b, c) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long)(a); \
|
||||
long _b = (long)(b); \
|
||||
long _c = (long)(c); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
( \
|
||||
"movl %4,sp@-;" \
|
||||
"movl %3,sp@-;" \
|
||||
"movl %2,sp@-;" \
|
||||
"movw %1,sp@-;" \
|
||||
"trap #1;" \
|
||||
"lea sp@(14),sp" \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
\
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wwllll(n, a, b, c, d, e) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
short _a = (short)(a); \
|
||||
long _b = (long) (b); \
|
||||
long _c = (long) (c); \
|
||||
long _d = (long) (d); \
|
||||
long _e = (long) (e); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
("\
|
||||
movl %6,sp@-; \
|
||||
movl %5,sp@-; \
|
||||
movl %4,sp@-; \
|
||||
movl %3,sp@-; \
|
||||
movw %2,sp@-; \
|
||||
movw %1,sp@-; \
|
||||
trap #1; \
|
||||
lea sp@(20),sp " \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d), "r"(_e) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wllll(n, a, b, c, d) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long)(a); \
|
||||
long _b = (long)(b); \
|
||||
long _c = (long)(c); \
|
||||
long _d = (long)(d); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
( \
|
||||
"movl %5,sp@-;" \
|
||||
"movl %4,sp@-;" \
|
||||
"movl %3,sp@-;" \
|
||||
"movl %2,sp@-;" \
|
||||
"movw %1,sp@-;" \
|
||||
"trap #1;" \
|
||||
"lea sp@(18),sp" \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c), \
|
||||
"r"(_d) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
\
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wwlllll(n, a, b, c, d, e, f) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
short _a = (short)(a); \
|
||||
long _b = (long)(b); \
|
||||
long _c = (long)(c); \
|
||||
long _d = (long)(d); \
|
||||
long _e = (long)(e); \
|
||||
long _f = (long)(f); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
( \
|
||||
"movl %7,sp@-;" \
|
||||
"movl %6,sp@-;" \
|
||||
"movl %5,sp@-;" \
|
||||
"movl %4,sp@-;" \
|
||||
"movl %3,sp@-;" \
|
||||
"movw %2,sp@-;" \
|
||||
"movw %1,sp@-;" \
|
||||
"trap #1;" \
|
||||
"lea sp@(24),sp" \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c), \
|
||||
"r"(_d), "r"(_e), "r"(_f) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
\
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wlllll(n, a, b, c, d, e) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long)(a); \
|
||||
long _b = (long)(b); \
|
||||
long _c = (long)(c); \
|
||||
long _d = (long)(d); \
|
||||
long _e = (long)(e); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
( \
|
||||
"movl %6,sp@-;" \
|
||||
"movl %5,sp@-;" \
|
||||
"movl %4,sp@-;" \
|
||||
"movl %3,sp@-;" \
|
||||
"movl %2,sp@-;" \
|
||||
"movw %1,sp@-;" \
|
||||
"trap #1;" \
|
||||
"lea sp@(22),sp" \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c), \
|
||||
"r"(_d), "r"(_e) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
\
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
#define trap_1_wllllll(n, a, b, c, d, e, f) \
|
||||
__extension__ \
|
||||
({ \
|
||||
register long retvalue __asm__("d0"); \
|
||||
long _a = (long)(a); \
|
||||
long _b = (long)(b); \
|
||||
long _c = (long)(c); \
|
||||
long _d = (long)(d); \
|
||||
long _e = (long)(e); \
|
||||
long _f = (long)(f); \
|
||||
\
|
||||
__asm__ volatile \
|
||||
( \
|
||||
"movl %7,sp@-;" \
|
||||
"movl %6,sp@-;" \
|
||||
"movl %5,sp@-;" \
|
||||
"movl %4,sp@-;" \
|
||||
"movl %3,sp@-;" \
|
||||
"movl %2,sp@-;" \
|
||||
"movw %1,sp@-;" \
|
||||
"trap #1;" \
|
||||
"lea sp@(26),sp" \
|
||||
: "=r"(retvalue) /* outputs */ \
|
||||
: "g"(n), "r"(_a), "r"(_b), "r"(_c), \
|
||||
"r"(_d), "r"(_e), "r"(_f) /* inputs */ \
|
||||
: __CLOBBER_RETURN("d0") "d1", "d2", "a0", "a1", "a2" /* clobbered regs */ \
|
||||
AND_MEMORY \
|
||||
); \
|
||||
\
|
||||
retvalue; \
|
||||
})
|
||||
|
||||
|
||||
#define Srealloc(newsize) \
|
||||
trap_1_wl(0x15, (long)(newsize))
|
||||
#define Slbopen(name, path, min_ver, sl, fn) \
|
||||
trap_1_wlllll(0x16, (long)(name), (long)(path), (long)(min_ver), (long)(sl), (long)(fn))
|
||||
#define Slbclose(sl) \
|
||||
trap_1_wl(0x17, (long)(sl))
|
||||
#define Syield() \
|
||||
(int)trap_1_w(0xff)
|
||||
#define Fpipe(ptr) \
|
||||
(int)trap_1_wl(0x100, (long)(ptr))
|
||||
#define Ffchown(f, uid, gid) \
|
||||
trap_1_wwww(0x101, (short)(f), (short)(uid), (short)(gid))
|
||||
#define Ffchmod(f, mode) \
|
||||
trap_1_www(0x102, (short)(f), (short)(mode))
|
||||
#define Fsync(f) \
|
||||
trap_1_ww(0x103, (short)(f))
|
||||
#define Fcntl(f, arg, cmd) \
|
||||
trap_1_wwlw(0x104, (short)(f), (long)(arg), (short)(cmd))
|
||||
#define Finstat(f) \
|
||||
trap_1_ww(0x105, (short)(f))
|
||||
#define Foutstat(f) \
|
||||
trap_1_ww(0x106, (short)(f))
|
||||
#define Fgetchar(f, mode) \
|
||||
trap_1_www(0x107, (short)(f), (short)(mode))
|
||||
#define Fputchar(f, ch, mode) \
|
||||
trap_1_wwlw(0x108, (short)(f), (long)(ch), (short)(mode))
|
||||
|
||||
#define Pwait() \
|
||||
trap_1_w(0x109)
|
||||
#define Pnice(delta) \
|
||||
(int)trap_1_ww(0x10a, (short)(delta))
|
||||
#define Pgetpid() \
|
||||
(int)trap_1_w(0x10b)
|
||||
#define Pgetppid() \
|
||||
(int)trap_1_w(0x10c)
|
||||
#define Pgetpgrp() \
|
||||
(int)trap_1_w(0x10d)
|
||||
#define Psetpgrp(pid, grp) \
|
||||
(int)trap_1_www(0x10e, (short)(pid), (short)(grp))
|
||||
#define Pgetuid() \
|
||||
(int)trap_1_w(0x10f)
|
||||
#define Psetuid(id) \
|
||||
(int)trap_1_ww(0x110, (short)(id))
|
||||
#define Pkill(pid, sig) \
|
||||
(int)trap_1_www(0x111, (short)(pid), (short)(sig))
|
||||
#define Psignal(sig, handler) \
|
||||
trap_1_wwl(0x112, (short)(sig), (long)(handler))
|
||||
#define Pvfork() \
|
||||
trap_1_w(0x113)
|
||||
#define Pgetgid() \
|
||||
(int)trap_1_w(0x114)
|
||||
#define Psetgid(id) \
|
||||
(int)trap_1_ww(0x115, (short)(id))
|
||||
#define Psigblock(mask) \
|
||||
trap_1_wl(0x116, (unsigned long)(mask))
|
||||
#define Psigsetmask(mask) \
|
||||
trap_1_wl(0x117, (unsigned long)(mask))
|
||||
#define Pusrval(arg) \
|
||||
trap_1_wl(0x118, (long)(arg))
|
||||
#define Pdomain(arg) \
|
||||
(int)trap_1_ww(0x119, (short)(arg))
|
||||
#define Psigreturn() \
|
||||
(void)trap_1_w(0x11a)
|
||||
#define Pfork() \
|
||||
trap_1_w(0x11b)
|
||||
#define Pwait3(flag, rusage) \
|
||||
trap_1_wwl(0x11c, (short)(flag), (long)(rusage))
|
||||
#define Fselect(time, rfd, wfd, xfd) \
|
||||
(int)trap_1_wwlll(0x11d, (unsigned short)(time), (long)(rfd), \
|
||||
(long)(wfd), (long)(xfd))
|
||||
#define Prusage(rsp) \
|
||||
(int)trap_1_wl(0x11e, (long)(rsp))
|
||||
#define Psetlimit(i, val) \
|
||||
trap_1_wwl(0x11f, (short)(i), (long)(val))
|
||||
|
||||
#define Talarm(sec) \
|
||||
trap_1_wl(0x120, (long)(sec))
|
||||
#define Pause() \
|
||||
(void)trap_1_w(0x121)
|
||||
#define Sysconf(n) \
|
||||
trap_1_ww(0x122, (short)(n))
|
||||
#define Psigpending() \
|
||||
trap_1_w(0x123)
|
||||
#define Dpathconf(name, which) \
|
||||
trap_1_wlw(0x124, (long)(name), (short)(which))
|
||||
|
||||
#define Pmsg(mode, mbox, msg) \
|
||||
trap_1_wwll(0x125, (short)(mode), (long)(mbox), (long)(msg))
|
||||
#define Fmidipipe(pid, in, out) \
|
||||
trap_1_wwww(0x126, (short)(pid), (short)(in),(short)(out))
|
||||
#define Prenice(pid, delta) \
|
||||
(int)trap_1_www(0x127, (short)(pid), (short)(delta))
|
||||
#define Dopendir(name, flag) \
|
||||
trap_1_wlw(0x128, (long)(name), (short)(flag))
|
||||
#define Dreaddir(len, handle, buf) \
|
||||
trap_1_wwll(0x129, (short)(len), (long)(handle), (long)(buf))
|
||||
#define Drewinddir(handle) \
|
||||
trap_1_wl(0x12a, (long)(handle))
|
||||
#define Dclosedir(handle) \
|
||||
trap_1_wl(0x12b, (long)(handle))
|
||||
#define Fxattr(flag, name, buf) \
|
||||
trap_1_wwll(0x12c, (short)(flag), (long)(name), (long)(buf))
|
||||
#define Flink(old, new) \
|
||||
trap_1_wll(0x12d, (long)(old), (long)(new))
|
||||
#define Fsymlink(old, new) \
|
||||
trap_1_wll(0x12e, (long)(old), (long)(new))
|
||||
#define Freadlink(siz, buf, linknm) \
|
||||
trap_1_wwll(0x12f, (short)(siz), (long)(buf), (long)(linknm))
|
||||
#define Dcntl(cmd, name, arg) \
|
||||
trap_1_wwll(0x130, (short)(cmd), (long)(name), (long)(arg))
|
||||
#define Fchown(name, uid, gid) \
|
||||
trap_1_wlww(0x131, (long)(name), (short)(uid), (short)(gid))
|
||||
#define Fchmod(name, mode) \
|
||||
trap_1_wlw(0x132, (long)(name), (short)(mode))
|
||||
#define Pumask(mask) \
|
||||
(int)trap_1_ww(0x133, (short)(mask))
|
||||
#define Psemaphore(mode, id, tmout) \
|
||||
trap_1_wwll(0x134, (short)(mode), (long)(id), (long)(tmout))
|
||||
#define Dlock(mode, drive) \
|
||||
(int)trap_1_www(0x135, (short)(mode), (short)(drive))
|
||||
#define Psigpause(mask) \
|
||||
(void)trap_1_wl(0x136, (unsigned long)(mask))
|
||||
#define Psigaction(sig, act, oact) \
|
||||
trap_1_wwll(0x137, (short)(sig), (long)(act), (long)(oact))
|
||||
#define Pgeteuid() \
|
||||
(int)trap_1_w(0x138)
|
||||
#define Pgetegid() \
|
||||
(int)trap_1_w(0x139)
|
||||
#define Pwaitpid(pid,flag, rusage) \
|
||||
trap_1_wwwl(0x13a, (short)(pid), (short)(flag), (long)(rusage))
|
||||
#define Dgetcwd(path, drv, size) \
|
||||
trap_1_wlww(0x13b, (long)(path), (short)(drv), (short)(size))
|
||||
#define Salert(msg) \
|
||||
trap_1_wl(0x13c, (long)(msg))
|
||||
/* The following are not yet official... */
|
||||
#define Tmalarm(ms) \
|
||||
trap_1_wl(0x13d, (long)(ms))
|
||||
#define Psigintr(vec, sig) \
|
||||
trap_1_www(0x13e, (short)(vec), (short)(sig))
|
||||
#define Suptime(uptime, avenrun) \
|
||||
trap_1_wll(0x13f, (long)(uptime), (long)(avenrun))
|
||||
#define Ptrace(request, pid, addr, data) \
|
||||
trap_1_wwwll(0x140, (short)(request), (short)(pid), \
|
||||
(long)(addr), (long)(data))
|
||||
#define Mvalidate(pid,addr,size,flags) \
|
||||
trap_1_wwlll (0x141, (short)(pid), (long)(addr), (long)(size), (long)(flags))
|
||||
#define Dxreaddir(len, handle, buf, xattr, xret) \
|
||||
trap_1_wwllll(0x142, (short)(len), (long)(handle), \
|
||||
(long)(buf), (long)(xattr), (long)(xret))
|
||||
#define Pseteuid(id) \
|
||||
(int)trap_1_ww(0x143, (short)(id))
|
||||
#define Psetegid(id) \
|
||||
(int)trap_1_ww(0x144, (short)(id))
|
||||
#define Psetauid(id) \
|
||||
(int)trap_1_ww(0x145, (short)(id))
|
||||
#define Pgetauid() \
|
||||
(int)trap_1_w(0x146)
|
||||
#define Pgetgroups(gidsetlen, gidset) \
|
||||
trap_1_wwl(0x147, (short)(gidsetlen), (long)(gidset))
|
||||
#define Psetgroups(gidsetlen, gidset) \
|
||||
trap_1_wwl(0x148, (short)(gidsetlen), (long)(gidset))
|
||||
#define Tsetitimer(which, interval, value, ointerval, ovalue) \
|
||||
trap_1_wwllll(0x149, (short)(which), (long)(interval), \
|
||||
(long)(value), (long)(ointerval), (long)(ovalue))
|
||||
#define Dchroot(dir) \
|
||||
trap_1_wl(0x14a, (long)(dir))
|
||||
#define Fstat64(flag, name, stat) \
|
||||
trap_1_wwll(0x14b, (short)(flag), (long)(name), (long)(stat))
|
||||
#define Fseek64(high, low, fh, how, newpos) \
|
||||
trap_1_wllwwl(0x14c, (long)(high), (long)(low), (short)(fh), \
|
||||
(short)(how), (long)(newpos))
|
||||
#define Dsetkey(major, minor, key, cipher) \
|
||||
trap_1_wlllw(0x14d, (long)(major), (long)(minor), (long)(key), \
|
||||
(short)(cipher))
|
||||
#define Psetreuid(rid, eid) \
|
||||
(int)trap_1_www(0x14e, (short)(rid), (short)(eid))
|
||||
#define Psetregid(rid, eid) \
|
||||
(int)trap_1_www(0x14f, (short)(rid), (short)(eid))
|
||||
#define Sync() \
|
||||
trap_1_w(0x150)
|
||||
#define Shutdown(restart) \
|
||||
trap_1_wl(0x151, (long)(restart))
|
||||
#define Dreadlabel(path, label, maxlen) \
|
||||
trap_1_wllw(0x152, (long)(path), (long)(label), (short)(maxlen))
|
||||
#define Dwritelabel(path, label) \
|
||||
trap_1_wll(0x153, (long)(path), (long)(label))
|
||||
#define Ssystem(mode, arg1, arg2) \
|
||||
trap_1_wwll(0x154, (int)(mode), (long)(arg1), (long)(arg2))
|
||||
#define Tgettimeofday(tvp, tzp) \
|
||||
trap_1_wll(0x155, (long)(tvp), (long)(tzp))
|
||||
#define Tsettimeofday(tvp, tzp) \
|
||||
trap_1_wll(0x156, (long)(tvp), (long)(tzp))
|
||||
#define Tadjtime(delta, olddelta) \
|
||||
trap_1_wll(0x157, (long)(delta), (long)(olddelta))
|
||||
#define Pgetpriority(which, who) \
|
||||
trap_1_www(0x158, (short)(which), (short)(who))
|
||||
#define Psetpriority(which, who, prio) \
|
||||
trap_1_wwww(0x159, (short)(which), (short)(who), (short)(prio))
|
||||
/* #define Fpoll(fds, nfds, timeout) \
|
||||
trap_1_wlll(0x15a,(long)(fds),(long)(nfds),(long)(timeout)) */
|
||||
#define Fwritev(fh, iovp, iovcnt) \
|
||||
trap_1_wwll(0x15b,(short)(fh),(long)(iovp),(long)(iovcnt))
|
||||
#define Freadv(fh, iovp, iovcnt) \
|
||||
trap_1_wwll(0x15c,(short)(fh),(long)(iovp),(long)(iovcnt))
|
||||
#define Ffstat64(fh, stat) \
|
||||
trap_1_wwl(0x15d,(short)(fh),(long)(stat))
|
||||
#define Psysctl(name, namelen, old, oldlenp, new, newlen) \
|
||||
trap_1_wllllll(0x15e,(long)(name),(long)(namelen),(long)(old),(long)(oldlenp),(long)(new),(long)(newlen))
|
||||
#define Pemulation(which, op, a1, a2, a3, a4, a5, a6, a7) \
|
||||
trap_1_wwwlllllll(0x15f,(short)(which),(short)(op),(long)(a1),(long)(a2),(long)(a3),(long)(a4),(long)(a5),(long)(a6),(long)(a7))
|
||||
#define Fsocket(domain, type, protocol) \
|
||||
trap_1_wlll(0x160,(long)(domain),(long)(type),(long)(protocol))
|
||||
#define Fsocketpair(domain, type, protocol, rsv) \
|
||||
trap_1_wllll(0x161,(long)(domain),(long)(type),(long)(protocol),(long)(rsv))
|
||||
#define Faccept(fh, name, namelen) \
|
||||
trap_1_wwll(0x162,(short)(fh),(long)(name),(long)(namelen))
|
||||
#define Fconnect(fh, name, namelen) \
|
||||
trap_1_wwll(0x163,(short)(fh),(long)(name),(long)(namelen))
|
||||
#define Fbind(fh, name, namelen) \
|
||||
trap_1_wwll(0x164,(short)(fh),(long)(name),(long)(namelen))
|
||||
#define Flisten(fh, backlog) \
|
||||
trap_1_wwl(0x165,(short)(fh),(long)(backlog))
|
||||
#define Frecvmsg(fh, msg, flags) \
|
||||
trap_1_wwll(0x166,(short)(fh),(long)(msg),(long)(flags))
|
||||
#define Fsendmsg(fh, msg, flags) \
|
||||
trap_1_wwll(0x167,(short)(fh),(long)(msg),(long)(flags))
|
||||
#define Frecvfrom(fh, buf, len, flags, from, fromlen) \
|
||||
trap_1_wwlllll(0x168,(short)(fh),(long)(buf),(long)(len),(long)(flags),(long)(from),(long)(fromlen))
|
||||
#define Fsendto(fh, buf, len, flags, to, tolen) \
|
||||
trap_1_wwlllll(0x169,(short)(fh),(long)(buf),(long)(len),(long)(flags),(long)(to),(long)(tolen))
|
||||
#define Fsetsockopt(fh, level, name, val, valsize) \
|
||||
trap_1_wwllll(0x16a,(short)(fh),(long)(level),(long)(name),(long)(val),(long)(valsize))
|
||||
#define Fgetsockopt(fh, level, name, val, avalsize) \
|
||||
trap_1_wwllll(0x16b,(short)(fh),(long)(level),(long)(name),(long)(val),(long)(avalsize))
|
||||
#define Fgetpeername(fh, addr, addrlen) \
|
||||
trap_1_wwll(0x16c,(short)(fh),(long)(addr),(long)(addrlen))
|
||||
#define Fgetsockname(fh, addr, addrlen) \
|
||||
trap_1_wwll(0x16d,(short)(fh),(long)(addr),(long)(addrlen))
|
||||
#define Fshutdown(fh, how) \
|
||||
trap_1_wwl(0x16e,(short)(fh),(long)(how))
|
||||
/* 0x16f */
|
||||
#define Pshmget(key, size, shmflg) \
|
||||
trap_1_wlll(0x170,(long)(key),(long)(size),(long)(shmflg))
|
||||
#define Pshmctl(shmid, cmd, buf) \
|
||||
trap_1_wlll(0x171,(long)(shmid),(long)(cmd),(long)(buf))
|
||||
#define Pshmat(shmid, shmaddr, shmflg) \
|
||||
trap_1_wlll(0x172,(long)(shmid),(long)(shmaddr),(long)(shmflg))
|
||||
#define Pshmdt(shmaddr) \
|
||||
trap_1_wl(0x173,(long)(shmaddr))
|
||||
#define Psemget(key, nsems, semflg) \
|
||||
trap_1_wlll(0x174,(long)(key),(long)(nsems),(long)(semflg))
|
||||
#define Psemctl(semid, semnum, cmd, arg) \
|
||||
trap_1_wllll(0x175,(long)(semid),(long)(semnum),(long)(cmd),(long)(arg))
|
||||
#define Psemop(semid, sops, nsops) \
|
||||
trap_1_wlll(0x176,(long)(semid),(long)(sops),(long)(nsops))
|
||||
#define Psemconfig(flag) \
|
||||
trap_1_wl(0x177,(long)(flag))
|
||||
#define Pmsgget(key, msgflg) \
|
||||
trap_1_wll(0x178,(long)(key),(long)(msgflg))
|
||||
#define Pmsgctl(msqid, cmd, buf) \
|
||||
trap_1_wlll(0x179,(long)(msqid),(long)(cmd),(long)(buf))
|
||||
#define Pmsgsnd(msqid, msgp, msgsz, msgflg) \
|
||||
trap_1_wllll(0x17a,(long)(msqid),(long)(msgp),(long)(msgsz),(long)(msgflg))
|
||||
#define Pmsgrcv(msqid, msgp, msgsz, msgtyp, msgflg) \
|
||||
trap_1_wlllll(0x17b,(long)(msqid),(long)(msgp),(long)(msgsz),(long)(msgtyp),(long)(msgflg))
|
||||
/* 0x17c */
|
||||
#define Maccess(addr,size,mode) \
|
||||
trap_1_wllw (0x141, (long)(addr), (long)(size), (short)(mode))
|
||||
/* 0x17e */
|
||||
/* 0x17f */
|
||||
#define Fchown16(name, uid, gid, follow_links) \
|
||||
trap_1_wlwww(0x180, (long)(name), (short)(uid), (short)(gid), (short)follow_links)
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _MINT_MINTBIND_H */
|
||||
25
devtools/ahcccf.bin/include/mint/mouse.h
Normal file
25
devtools/ahcccf.bin/include/mint/mouse.h
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
#ifndef _MINT_MOUSE_H
|
||||
#define _MINT_MOUSE_H 1
|
||||
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* header file for mouse access */
|
||||
|
||||
struct mouse_buf {
|
||||
int m_buttons; /* button states */
|
||||
int m_dx; /* change in x since last read */
|
||||
int m_dy; /* change in y since last read */
|
||||
};
|
||||
|
||||
#define M_LEFT_BUTTON 0x02
|
||||
#define M_RIGHT_BUTTON 0x01
|
||||
#define M_MID_BUTTON 0x00 /* there is none! */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _MINT_MOUSE_H */
|
||||
233
devtools/ahcccf.bin/include/mint/nfs.h
Normal file
233
devtools/ahcccf.bin/include/mint/nfs.h
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
* NFS protocol definitions
|
||||
*/
|
||||
|
||||
/* This is stolen from the linux sources since rpcsvc/bootparam.h needs
|
||||
the file. Hope it is ok for MiNT. */
|
||||
/* $Id: nfs.h,v 1.2 2001/07/11 23:59:05 fna Exp $ */
|
||||
|
||||
#ifndef _MINT_NFS_H
|
||||
#define _MINT_NFS_H 1
|
||||
|
||||
#ifndef __MINT__
|
||||
# include <linux/sunrpc/msg_prot.h>
|
||||
#endif
|
||||
|
||||
#define NFS_PORT 2049
|
||||
#define NFS_MAXDATA 8192
|
||||
#define NFS_MAXPATHLEN 1024
|
||||
#define NFS_MAXNAMLEN 255
|
||||
#define NFS_MAXGROUPS 16
|
||||
#define NFS_FHSIZE 32
|
||||
#define NFS_COOKIESIZE 4
|
||||
#define NFS_FIFO_DEV (-1)
|
||||
#define NFSMODE_FMT 0170000
|
||||
#define NFSMODE_DIR 0040000
|
||||
#define NFSMODE_CHR 0020000
|
||||
#define NFSMODE_BLK 0060000
|
||||
#define NFSMODE_REG 0100000
|
||||
#define NFSMODE_LNK 0120000
|
||||
#define NFSMODE_SOCK 0140000
|
||||
#define NFSMODE_FIFO 0010000
|
||||
|
||||
|
||||
enum nfs_stat {
|
||||
NFS_OK = 0,
|
||||
NFSERR_PERM = 1,
|
||||
NFSERR_NOENT = 2,
|
||||
NFSERR_IO = 5,
|
||||
NFSERR_NXIO = 6,
|
||||
NFSERR_EAGAIN = 11,
|
||||
NFSERR_ACCES = 13,
|
||||
NFSERR_EXIST = 17,
|
||||
NFSERR_XDEV = 18,
|
||||
NFSERR_NODEV = 19,
|
||||
NFSERR_NOTDIR = 20,
|
||||
NFSERR_ISDIR = 21,
|
||||
NFSERR_INVAL = 22, /* that Sun forgot */
|
||||
NFSERR_FBIG = 27,
|
||||
NFSERR_NOSPC = 28,
|
||||
NFSERR_ROFS = 30,
|
||||
NFSERR_OPNOTSUPP = 45,
|
||||
NFSERR_NAMETOOLONG = 63,
|
||||
NFSERR_NOTEMPTY = 66,
|
||||
NFSERR_DQUOT = 69,
|
||||
NFSERR_STALE = 70,
|
||||
NFSERR_WFLUSH = 99
|
||||
};
|
||||
|
||||
enum nfs_ftype {
|
||||
NFNON = 0,
|
||||
NFREG = 1,
|
||||
NFDIR = 2,
|
||||
NFBLK = 3,
|
||||
NFCHR = 4,
|
||||
NFLNK = 5,
|
||||
NFSOCK = 6,
|
||||
NFBAD = 7,
|
||||
NFFIFO = 8
|
||||
};
|
||||
|
||||
struct nfs_fh {
|
||||
char data[NFS_FHSIZE];
|
||||
};
|
||||
|
||||
#define NFS_PROGRAM 100003
|
||||
#define NFS_VERSION 2
|
||||
#define NFSPROC_NULL 0
|
||||
#define NFSPROC_GETATTR 1
|
||||
#define NFSPROC_SETATTR 2
|
||||
#define NFSPROC_ROOT 3
|
||||
#define NFSPROC_LOOKUP 4
|
||||
#define NFSPROC_READLINK 5
|
||||
#define NFSPROC_READ 6
|
||||
#define NFSPROC_WRITECACHE 7
|
||||
#define NFSPROC_WRITE 8
|
||||
#define NFSPROC_CREATE 9
|
||||
#define NFSPROC_REMOVE 10
|
||||
#define NFSPROC_RENAME 11
|
||||
#define NFSPROC_LINK 12
|
||||
#define NFSPROC_SYMLINK 13
|
||||
#define NFSPROC_MKDIR 14
|
||||
#define NFSPROC_RMDIR 15
|
||||
#define NFSPROC_READDIR 16
|
||||
#define NFSPROC_STATFS 17
|
||||
|
||||
/* Mount support for NFSroot */
|
||||
#ifdef __KERNEL__
|
||||
#define NFS_MNT_PROGRAM 100005
|
||||
#define NFS_MNT_VERSION 1
|
||||
#define NFS_MNT_PORT 627
|
||||
#define NFS_MNTPROC_MNT 1
|
||||
#define NFS_MNTPROC_UMNT 3
|
||||
#endif
|
||||
|
||||
#if defined(__KERNEL__) || defined(NFS_NEED_KERNEL_TYPES)
|
||||
|
||||
extern struct rpc_program nfs_program;
|
||||
extern struct rpc_stat nfs_rpcstat;
|
||||
|
||||
struct nfs_time {
|
||||
__u32 seconds;
|
||||
__u32 useconds;
|
||||
};
|
||||
|
||||
struct nfs_fattr {
|
||||
enum nfs_ftype type;
|
||||
__u32 mode;
|
||||
__u32 nlink;
|
||||
__u32 uid;
|
||||
__u32 gid;
|
||||
__u64 size;
|
||||
__u32 blocksize;
|
||||
__u32 rdev;
|
||||
__u32 blocks;
|
||||
__u32 fsid;
|
||||
__u32 fileid;
|
||||
struct nfs_time atime;
|
||||
struct nfs_time mtime;
|
||||
struct nfs_time ctime;
|
||||
};
|
||||
|
||||
struct nfs_sattr {
|
||||
__u32 mode;
|
||||
__u32 uid;
|
||||
__u32 gid;
|
||||
__u64 size;
|
||||
struct nfs_time atime;
|
||||
struct nfs_time mtime;
|
||||
};
|
||||
|
||||
struct nfs_fsinfo {
|
||||
__u32 tsize;
|
||||
__u32 bsize;
|
||||
__u32 blocks;
|
||||
__u32 bfree;
|
||||
__u32 bavail;
|
||||
};
|
||||
|
||||
struct nfs_writeargs {
|
||||
struct nfs_fh * fh;
|
||||
__u64 offset;
|
||||
__u32 count;
|
||||
const void * buffer;
|
||||
};
|
||||
|
||||
#ifdef NFS_NEED_XDR_TYPES
|
||||
|
||||
struct nfs_sattrargs {
|
||||
struct nfs_fh * fh;
|
||||
struct nfs_sattr * sattr;
|
||||
};
|
||||
|
||||
struct nfs_diropargs {
|
||||
struct nfs_fh * fh;
|
||||
const char * name;
|
||||
};
|
||||
|
||||
struct nfs_readargs {
|
||||
struct nfs_fh * fh;
|
||||
__u64 offset;
|
||||
__u32 count;
|
||||
void * buffer;
|
||||
};
|
||||
|
||||
struct nfs_createargs {
|
||||
struct nfs_fh * fh;
|
||||
const char * name;
|
||||
struct nfs_sattr * sattr;
|
||||
};
|
||||
|
||||
struct nfs_renameargs {
|
||||
struct nfs_fh * fromfh;
|
||||
const char * fromname;
|
||||
struct nfs_fh * tofh;
|
||||
const char * toname;
|
||||
};
|
||||
|
||||
struct nfs_linkargs {
|
||||
struct nfs_fh * fromfh;
|
||||
struct nfs_fh * tofh;
|
||||
const char * toname;
|
||||
};
|
||||
|
||||
struct nfs_symlinkargs {
|
||||
struct nfs_fh * fromfh;
|
||||
const char * fromname;
|
||||
const char * topath;
|
||||
struct nfs_sattr * sattr;
|
||||
};
|
||||
|
||||
struct nfs_readdirargs {
|
||||
struct nfs_fh * fh;
|
||||
__u32 cookie;
|
||||
void * buffer;
|
||||
unsigned int bufsiz;
|
||||
};
|
||||
|
||||
struct nfs_diropok {
|
||||
struct nfs_fh * fh;
|
||||
struct nfs_fattr * fattr;
|
||||
};
|
||||
|
||||
struct nfs_readres {
|
||||
struct nfs_fattr * fattr;
|
||||
unsigned int count;
|
||||
};
|
||||
|
||||
struct nfs_readlinkres {
|
||||
char ** string;
|
||||
unsigned int * lenp;
|
||||
unsigned int maxlen;
|
||||
void * buffer;
|
||||
};
|
||||
|
||||
struct nfs_readdirres {
|
||||
void * buffer;
|
||||
unsigned int bufsiz;
|
||||
};
|
||||
|
||||
#endif /* NFS_NEED_XDR_TYPES */
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif
|
||||
1256
devtools/ahcccf.bin/include/mint/osbind.h
Normal file
1256
devtools/ahcccf.bin/include/mint/osbind.h
Normal file
File diff suppressed because it is too large
Load Diff
214
devtools/ahcccf.bin/include/mint/ostruct.h
Normal file
214
devtools/ahcccf.bin/include/mint/ostruct.h
Normal file
@@ -0,0 +1,214 @@
|
||||
|
||||
#ifndef _MINT_OSTRUCT_H
|
||||
#define _MINT_OSTRUCT_H 1
|
||||
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/*
|
||||
* General OS specific codes here
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* GEMDOS defines and structures
|
||||
*/
|
||||
|
||||
/* Structure used by Dfree() */
|
||||
typedef struct {
|
||||
long b_free; /* number of free clusters */
|
||||
long b_total; /* total number of clusters */
|
||||
long b_secsiz; /* number of bytes per sector */
|
||||
long b_clsiz; /* number of sectors per cluster */
|
||||
} _DISKINFO;
|
||||
|
||||
/* Structure returned by Fdatime() */
|
||||
typedef struct {
|
||||
unsigned short time;
|
||||
unsigned short date;
|
||||
} _DOSTIME;
|
||||
|
||||
/* Structure used by Cconrs */
|
||||
typedef struct
|
||||
{
|
||||
unsigned char maxlen;
|
||||
unsigned char actuallen;
|
||||
char buffer[255];
|
||||
} _CCONLINE;
|
||||
|
||||
/* Structure used by Fgetdta(), Fsetdta(), Fsfirst(), Fsnext() */
|
||||
typedef struct _dta {
|
||||
char dta_buf[21]; /* reserved */
|
||||
char dta_attribute; /* file attribute */
|
||||
unsigned short dta_time; /* file time stamp */
|
||||
unsigned short dta_date; /* file date stamp */
|
||||
long dta_size; /* file size */
|
||||
char dta_name[14]; /* file name */
|
||||
} _DTA;
|
||||
|
||||
/* Codes used with Fsfirst() */
|
||||
|
||||
#define FA_RDONLY 0x01
|
||||
#define FA_HIDDEN 0x02
|
||||
#define FA_SYSTEM 0x04
|
||||
#define FA_LABEL 0x08
|
||||
#define FA_DIR 0x10
|
||||
#define FA_CHANGED 0x20
|
||||
|
||||
/* Codes used with Pexec */
|
||||
|
||||
#define PE_LOADGO 0 /* load & go */
|
||||
#define PE_LOAD 3 /* just load */
|
||||
#define PE_GO 4 /* just go */
|
||||
#define PE_CBASEPAGE 5 /* just create basepage */
|
||||
/* Tos 1.4: like 4, but memory ownership changed to child, and freed
|
||||
on exit
|
||||
*/
|
||||
#define PE_GO_FREE 6 /* just go, then free */
|
||||
|
||||
#ifdef __MINT__
|
||||
/* ers: what exactly does mode 7 do ??? */
|
||||
# define PE_ASYNC_LOADGO 100 /* load and asynchronously go */
|
||||
# define PE_ASYNC_GO 104 /* asynchronously go */
|
||||
# define PE_ASYNC_GO_FREE 106 /* asynchronously go and free */
|
||||
# define PE_OVERLAY 200 /* load and overlay */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* BIOS defines and structures
|
||||
*/
|
||||
|
||||
/* Device codes for Bconin(), Bconout(), Bcostat(), Bconstat() */
|
||||
#define _PRT 0
|
||||
#define _AUX 1
|
||||
#define _CON 2
|
||||
#define _MIDI 3
|
||||
#define _IKBD 4
|
||||
#define _RAWCON 5
|
||||
|
||||
/* Structure returned by Getbpb() */
|
||||
typedef struct {
|
||||
short recsiz; /* bytes per sector */
|
||||
short clsiz; /* sectors per cluster */
|
||||
short clsizb; /* bytes per cluster */
|
||||
short rdlen; /* root directory size */
|
||||
short fsiz; /* size of file allocation table */
|
||||
short fatrec; /* startsector of second FAT */
|
||||
short datrec; /* first data sector */
|
||||
short numcl; /* total number of clusters */
|
||||
short bflags; /* some flags */
|
||||
} _BPB;
|
||||
|
||||
/* Structures used by Getmpb() */
|
||||
|
||||
/* Memory descriptor */
|
||||
typedef struct _md {
|
||||
struct _md *md_next; /* next descriptor in the chain */
|
||||
long md_start; /* starting address of block */
|
||||
long md_length; /* length of the block */
|
||||
long md_owner; /* owner's process descriptor */
|
||||
} _MD;
|
||||
|
||||
/* Memory parameter block */
|
||||
typedef struct {
|
||||
_MD *mp_free; /* free memory chunks */
|
||||
_MD *mp_used; /* used memory descriptors */
|
||||
_MD *mp_rover; /* rover memory descriptor */
|
||||
} _MPB;
|
||||
|
||||
|
||||
/*
|
||||
* XBIOS defines and structures
|
||||
*/
|
||||
|
||||
/* Codes used with Cursconf() */
|
||||
#define CURS_HIDE 0
|
||||
#define CURS_SHOW 1
|
||||
#define CURS_BLINK 2
|
||||
#define CURS_NOBLINK 3
|
||||
#define CURS_SETRATE 4
|
||||
#define CURS_GETRATE 5
|
||||
|
||||
|
||||
/* dont find SCURS_HIDE */
|
||||
|
||||
/* Structure returned by Iorec() */
|
||||
typedef struct {
|
||||
char *ibuf;
|
||||
short ibufsiz;
|
||||
volatile short ibufhd;
|
||||
volatile short ibuftl;
|
||||
short ibuflow;
|
||||
short ibufhi;
|
||||
} _IOREC;
|
||||
|
||||
/* Structure used by Initmouse() */
|
||||
typedef struct {
|
||||
char topmode;
|
||||
char buttons;
|
||||
char xparam;
|
||||
char yparam;
|
||||
short xmax;
|
||||
short ymax;
|
||||
short xstart;
|
||||
short ystart;
|
||||
} _PARAM;
|
||||
|
||||
/* Structure returned by Kbdvbase() */
|
||||
typedef struct {
|
||||
void (*midivec) (void);
|
||||
void (*vkbderr) (void);
|
||||
void (*vmiderr) (void);
|
||||
void (*statvec) (void *);
|
||||
void (*mousevec) (void *);
|
||||
void (*clockvec) (void *);
|
||||
void (*joyvec) (void *);
|
||||
long (*midisys) (void);
|
||||
long (*ikbdsys) (void);
|
||||
char kbstate;
|
||||
} _KBDVECS;
|
||||
|
||||
/* Structure returned by Keytbl() */
|
||||
typedef struct {
|
||||
char *unshift; /* pointer to unshifted keys */
|
||||
char *shift; /* pointer to shifted keys */
|
||||
char *caps; /* pointer to capslock keys */
|
||||
|
||||
/* Entries below available
|
||||
* when _AKP cookie is present.
|
||||
*/
|
||||
char *alt; /* pointers to alt translation tables */
|
||||
char *altshift;
|
||||
char *altcaps;
|
||||
|
||||
/* Entry below is available
|
||||
* on MilanTOS and as of FreeMiNT 1.16.1
|
||||
*/
|
||||
char *altgr;
|
||||
|
||||
} _KEYTAB;
|
||||
|
||||
/* Structure used by Prtblk() */
|
||||
typedef struct
|
||||
{
|
||||
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;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
||||
#endif /* _MINT_OSTRUCT_H */
|
||||
55
devtools/ahcccf.bin/include/mint/ptrace.h
Normal file
55
devtools/ahcccf.bin/include/mint/ptrace.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* This file belongs to FreeMiNT. It's not in the original MiNT 1.12
|
||||
* distribution. See the file CHANGES for a detailed log of changes.
|
||||
*
|
||||
*
|
||||
* Copyright 2000 Frank Naumann <fnaumann@freemint.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* This file is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*
|
||||
* begin: 2000-10-08
|
||||
* last change: 2000-10-08
|
||||
*
|
||||
* Author: Frank Naumann <fnaumann@freemint.de>
|
||||
*
|
||||
* Please send suggestions, patches or bug reports to me or
|
||||
* the MiNT mailing list.
|
||||
*
|
||||
*/
|
||||
|
||||
# ifndef _MINT_PTRACE_H
|
||||
# define _MINT_PTRACE_H 1
|
||||
|
||||
|
||||
# define PT_TRACE_ME 0 /* child declares it's being traced */
|
||||
# define PT_READ_I 1 /* read word in child's I space */
|
||||
# define PT_READ_D 2 /* read word in child's D space */
|
||||
# define PT_WRITE_I 4 /* write word in child's I space */
|
||||
# define PT_WRITE_D 5 /* write word in child's D space */
|
||||
# define PT_CONTINUE 7 /* continue the child */
|
||||
# define PT_KILL 8 /* kill the child process */
|
||||
# define PT_ATTACH 9 /* attach to running process */
|
||||
# define PT_DETACH 10 /* detach from running process */
|
||||
# define PT_SYSCALL 11 /* continue and stop at next return from syscall */
|
||||
|
||||
# define PT_BASEPAGE 999
|
||||
|
||||
# define PT_FIRSTMACH 32 /* for machine-specific requests */
|
||||
# include "arch/ptrace.h"
|
||||
|
||||
|
||||
# endif /* mint/ptrace.h */
|
||||
0
devtools/ahcccf.bin/include/mint/random.h
Normal file
0
devtools/ahcccf.bin/include/mint/random.h
Normal file
71
devtools/ahcccf.bin/include/mint/screen.h
Normal file
71
devtools/ahcccf.bin/include/mint/screen.h
Normal file
@@ -0,0 +1,71 @@
|
||||
|
||||
#ifndef _MINT_SCREEN_H
|
||||
#define _MINT_SCREEN_H 1
|
||||
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Data structures for IOCTL on /dev/screen */
|
||||
|
||||
#define SCR_NUM_COLORS 256 /* max possible num. of colors (even more on Falcon) */
|
||||
|
||||
/* SCR_ALIGN gives a mask telling how the physical screen must be
|
||||
aligned (for the SCRSETP ioctl call. A typical use might be
|
||||
newscrn = malloc(size + SCR_ALIGN) & (~SCR_ALIGN)
|
||||
If SCR_ALIGN is -1, then the physical screen may not be remapped
|
||||
*/
|
||||
#define SCR_ALIGN 0x0ffL
|
||||
|
||||
/* define the following only if the physical memory occupied by the
|
||||
screen is not accessible to user programs without an operating
|
||||
system request to re-map or shar memory (i.e. don't define this
|
||||
unless you have a version of Minix with a hardware memory
|
||||
manager
|
||||
*/
|
||||
/* #define SCR_VIRT_MEM */ /* screen lives in virtual memory */
|
||||
|
||||
|
||||
/* physical screen attributes; information returned by the
|
||||
SCRGETPARAM ioctl call */
|
||||
|
||||
struct scr_param {
|
||||
long scr_base; /* physical address of screen */
|
||||
short scr_width; /* width of screen (pixels) */
|
||||
short scr_height; /* height of screen (pixels) */
|
||||
short scr_depth; /* no. of bitplanes on screen */
|
||||
short scr_mode; /* special mode info about screen */
|
||||
};
|
||||
|
||||
/* Each palette entry for the screen colors holds three entries;
|
||||
the red, green, and blue values for this color, from 0 (no color)
|
||||
to 255 (max. color).
|
||||
The actual number of different values recognized by the hardware
|
||||
is given by SCR_RGB_VALUES; for example, the atari ST recognizes
|
||||
only 8 possible values for each of red, green, and blue, for
|
||||
a total of 512 colors; for it, SCR_RGB_VALUES == 8.
|
||||
*/
|
||||
|
||||
#define SCR_RGB_VALUES 16
|
||||
|
||||
/* constants for accessing the scr_rgb array */
|
||||
#define RED 0
|
||||
#define BLUE 1
|
||||
#define GREEN 2
|
||||
|
||||
/* data structure returned by SCRGETCOLOR ioctl call */
|
||||
struct scr_palette {
|
||||
unsigned char scr_rgb[SCR_NUM_COLORS][3];
|
||||
};
|
||||
|
||||
|
||||
#define SCRGETPARAM (('S'<<8) | 1)
|
||||
#define SCRSETPARAM (('S'<<8) | 2)
|
||||
#define SCRGETCOLOR (('S'<<8) | 3)
|
||||
#define SCRSETCOLOR (('S'<<8) | 4)
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _MINT_SCREEN_H */
|
||||
35
devtools/ahcccf.bin/include/mint/slb.h
Normal file
35
devtools/ahcccf.bin/include/mint/slb.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (C) 2000 Konrad Kokoszkiewicz <draco@atari.org.pl>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
* MA 02111-1307, USA
|
||||
*
|
||||
*/
|
||||
|
||||
# ifndef _MINT_SLB_H
|
||||
# define _MINT_SLB_H 1
|
||||
|
||||
|
||||
typedef void *SLB_HANDLE;
|
||||
typedef long (*SLB_EXEC)(SLB_HANDLE sl, long fn, short nargs, ...);
|
||||
|
||||
typedef struct {
|
||||
SLB_HANDLE handle;
|
||||
SLB_EXEC exec;
|
||||
} SLB;
|
||||
|
||||
long _slbopen (char *fname, char *path, long ver, void *hnd, void *exec);
|
||||
|
||||
|
||||
# endif /* mint/slb.h */
|
||||
68
devtools/ahcccf.bin/include/mint/ssystem.h
Normal file
68
devtools/ahcccf.bin/include/mint/ssystem.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
* This file belongs to FreeMiNT. It's not in the original MiNT 1.12
|
||||
* distribution. See the file Changes.MH for a detailed log of changes.
|
||||
*/
|
||||
|
||||
# ifndef _MINT_SSYSTEM_H
|
||||
# define _MINT_SSYSTEM_H 1
|
||||
|
||||
#ifdef __KERNEL
|
||||
# include "include/mint.h"
|
||||
#endif
|
||||
|
||||
# define HAS_SSYSTEM
|
||||
# define S_OSNAME 0
|
||||
# define S_OSXNAME 1
|
||||
# define S_OSVERSION 2
|
||||
# define S_OSHEADER 3
|
||||
# define S_OSBUILDDATE 4
|
||||
# define S_OSBUILDTIME 5
|
||||
# define S_OSCOMPILE 6
|
||||
# define S_OSFEATURES 7
|
||||
# define S_GETCOOKIE 8
|
||||
# define S_SETCOOKIE 9
|
||||
# define S_GETLVAL 10
|
||||
# define S_GETWVAL 11
|
||||
# define S_GETBVAL 12
|
||||
# define S_SETLVAL 13
|
||||
# define S_SETWVAL 14
|
||||
# define S_SETBVAL 15
|
||||
# define S_SECLEVEL 16
|
||||
# define S_RUNLEVEL 17 /* currently disabled, reserved */
|
||||
# define S_TSLICE 18
|
||||
# define S_FASTLOAD 19
|
||||
# define S_SYNCTIME 20
|
||||
# define S_BLOCKCACHE 21
|
||||
# define S_FLUSHCACHE 22
|
||||
# define S_CTRLCACHE 23
|
||||
# define S_INITIALTPA 24
|
||||
# define S_CTRLALTDEL 25 /* ctraltdel behavoiur */
|
||||
# define S_DELCOOKIE 26
|
||||
# define S_LOADKBD 27 /* reload the keyboard table */
|
||||
# define S_CLOCKUTC 100
|
||||
# define S_TIOCMGET 0x54f8 /* 21752 */
|
||||
|
||||
/* experimental - need feedback
|
||||
* additional informations about the kernel
|
||||
* reserved 900 - 999
|
||||
*/
|
||||
# define S_KNAME 900 /* kernel name - arg1 pointer to a buffer of arg2 len */
|
||||
# define S_CNAME 910 /* compiler name - arg1 pointer to a buffer of arg2 len */
|
||||
# define S_CVERSION 911 /* compiler version - arg1 pointer to a buffer of arg2 len */
|
||||
# define S_CDEFINES 912 /* compiler definitions - arg1 pointer to a buffer of arg2 len */
|
||||
# define S_COPTIM 913 /* compiler flags - arg1 pointer to a buffer of arg2 len */
|
||||
|
||||
/* debug section
|
||||
* reserved 1000 - 1999
|
||||
*/
|
||||
# define S_DEBUGLEVEL 1000 /* debug level */
|
||||
# define S_DEBUGDEVICE 1001 /* BIOS device number */
|
||||
# define S_DEBUGKMTRACE 1100 /* KM_TRACE debug feature */
|
||||
|
||||
|
||||
# ifdef __KERNEL__
|
||||
long _cdecl s_system (int mode, ulong arg1, ulong arg2);
|
||||
# endif
|
||||
|
||||
|
||||
# endif /* _MINT_SSYSTEM_H */
|
||||
191
devtools/ahcccf.bin/include/mint/sysctl.h
Normal file
191
devtools/ahcccf.bin/include/mint/sysctl.h
Normal file
@@ -0,0 +1,191 @@
|
||||
/*
|
||||
* $Id: sysctl.h,v 1.3 2001/07/11 23:59:06 fna Exp $
|
||||
*
|
||||
* This file belongs to FreeMiNT. It's not in the original MiNT 1.12
|
||||
* distribution. See the file CHANGES for a detailed log of changes.
|
||||
*
|
||||
*
|
||||
* Modified for FreeMiNT by Frank Naumann <fnaumann@freemint.de>
|
||||
*
|
||||
* Please send suggestions, patches or bug reports to me or
|
||||
* the MiNT mailing list.
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Mike Karels at Berkeley Software Design, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)sysctl.h 8.1 (Berkeley) 6/2/93
|
||||
*/
|
||||
|
||||
# ifndef _MINT_SYSCTL_H
|
||||
# define _MINT_SYSCTL_H 1
|
||||
|
||||
|
||||
/*
|
||||
* Definitions for sysctl call. The sysctl call uses a hierarchical name
|
||||
* for objects that can be examined or modified. The name is expressed as
|
||||
* a sequence of integers. Like a file path name, the meaning of each
|
||||
* component depends on its place in the hierarchy. The top-level and kern
|
||||
* identifiers are defined here, and other identifiers are defined in the
|
||||
* respective subsystem header files.
|
||||
*/
|
||||
|
||||
# define CTL_MAXNAME 12 /* largest number of components supported */
|
||||
|
||||
|
||||
/*
|
||||
* Each subsystem defined by sysctl defines a list of variables
|
||||
* for that subsystem. Each name is either a node with further
|
||||
* levels defined below it, or it is a leaf of some particular
|
||||
* type given below. Each sysctl level defines a set of name/type
|
||||
* pairs to be used by sysctl(1) in manipulating the subsystem.
|
||||
*/
|
||||
struct ctlname
|
||||
{
|
||||
const char *ctl_name; /* subsystem name */
|
||||
int ctl_type; /* type of name */
|
||||
};
|
||||
# define CTLTYPE_NODE 1 /* name is a node */
|
||||
# define CTLTYPE_INT 2 /* name describes an integer */
|
||||
# define CTLTYPE_STRING 3 /* name describes a string */
|
||||
# define CTLTYPE_QUAD 4 /* name describes a 64-bit number */
|
||||
# define CTLTYPE_STRUCT 5 /* name describes a structure */
|
||||
|
||||
|
||||
/*
|
||||
* Top-level identifiers
|
||||
*/
|
||||
# define CTL_UNSPEC 0 /* unused */
|
||||
# define CTL_KERN 1 /* "high kernel" */
|
||||
# define CTL_HW 2 /* generic cpu/io */
|
||||
# define CTL_MACHDEP 3 /* machine dependent */
|
||||
# define CTL_DEBUG 4 /* debugging parameters */
|
||||
# define CTL_MAXID 5 /* number of valid top-level ids */
|
||||
|
||||
# define CTL_NAMES \
|
||||
{ \
|
||||
{ 0, 0 }, \
|
||||
{ "kern", CTLTYPE_NODE }, \
|
||||
{ "hw", CTLTYPE_NODE }, \
|
||||
{ "machdep", CTLTYPE_NODE }, \
|
||||
{ "debug", CTLTYPE_NODE }, \
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* CTL_KERN identifiers
|
||||
*/
|
||||
# define KERN_OSTYPE 1 /* string: system version */
|
||||
# define KERN_OSRELEASE 2 /* string: system release */
|
||||
# define KERN_OSREV 3 /* int: system revision */
|
||||
# define KERN_VERSION 4 /* string: compile time info */
|
||||
# define KERN_HOSTNAME 5 /* string: hostname */
|
||||
# define KERN_DOMAINNAME 6 /* string: (YP) domainname */
|
||||
# define KERN_SECURELVL 7 /* int: system security level */
|
||||
# define KERN_MAXPROC 8 /* int: max processes */
|
||||
# define KERN_MAXFILES 9 /* int: max open files */
|
||||
# define KERN_NGROUPS 10 /* int: # of supplemental group ids */
|
||||
# define KERN_IOV_MAX 11 /* int: max iovec's for readv(2) etc. */
|
||||
# define KERN_LOGIN_NAME_MAX 12 /* int: max length login name + NUL */
|
||||
# define KERN_BOOTTIME 13 /* struct: time kernel was booted */
|
||||
# define KERN_INITIALTPA 14 /* int: max TPA size of a process */
|
||||
# define KERN_MAXID 15 /* number of valid kern ids */
|
||||
|
||||
# define CTL_KERN_NAMES \
|
||||
{ \
|
||||
{ 0, 0 }, \
|
||||
{ "ostype", CTLTYPE_STRING }, \
|
||||
{ "osrelease", CTLTYPE_STRING }, \
|
||||
{ "osrevision", CTLTYPE_INT }, \
|
||||
{ "version", CTLTYPE_STRING }, \
|
||||
{ "hostname", CTLTYPE_STRING }, \
|
||||
{ "domainname", CTLTYPE_STRING }, \
|
||||
{ "securelevel", CTLTYPE_INT }, \
|
||||
{ "maxproc", CTLTYPE_INT }, \
|
||||
{ "maxfiles", CTLTYPE_INT }, \
|
||||
{ "ngroups", CTLTYPE_INT }, \
|
||||
{ "iov_max", CTLTYPE_INT }, \
|
||||
{ "login_name_max", CTLTYPE_INT }, \
|
||||
{ "boottime", CTLTYPE_STRUCT }, \
|
||||
{ "initialtpa", CTLTYPE_INT }, \
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* CTL_HW identifiers
|
||||
*/
|
||||
# define HW_MACHINE 1 /* string: machine class */
|
||||
# define HW_MACHINE_ARCH 2 /* string: machine architecture */
|
||||
# define HW_MODEL 3 /* string: specific machine model */
|
||||
# define HW_NCPU 4 /* int: number of cpus */
|
||||
# define HW_BYTEORDER 5 /* int: machine byte order */
|
||||
# define HW_PAGESIZE 6 /* int: software page size */
|
||||
# define HW_FREEPHYSMEM 7 /* int: free physical memory */
|
||||
# define HW_MAXID 8 /* number of valid hw ids */
|
||||
|
||||
# define CTL_HW_NAMES \
|
||||
{ \
|
||||
{ 0, 0 }, \
|
||||
{ "machine", CTLTYPE_STRING }, \
|
||||
{ "machine_arch", CTLTYPE_STRING }, \
|
||||
{ "model", CTLTYPE_STRING }, \
|
||||
{ "ncpu", CTLTYPE_INT }, \
|
||||
{ "byteorder", CTLTYPE_INT }, \
|
||||
{ "pagesize", CTLTYPE_INT }, \
|
||||
{ "freephysmem", CTLTYPE_INT }, \
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* CTL_DEBUG definitions
|
||||
*
|
||||
* Second level identifier specifies which debug variable.
|
||||
* Third level identifier specifies which stucture component.
|
||||
*/
|
||||
# define CTL_DEBUG_NAME 0 /* string: variable name */
|
||||
# define CTL_DEBUG_VALUE 1 /* int: variable value */
|
||||
# define CTL_DEBUG_MAXID 20
|
||||
|
||||
|
||||
# ifndef __KERNEL__
|
||||
|
||||
int __sysctl (int *name, unsigned long namelen, void *old, unsigned long *oldlenp,
|
||||
const void *new, unsigned long newlen);
|
||||
int sysctl (int *name, unsigned long namelen, void *old, unsigned long *oldlenp,
|
||||
const void *new, unsigned long newlen);
|
||||
|
||||
# endif
|
||||
|
||||
|
||||
# endif /* _MINT_SYSCTL_H */
|
||||
127
devtools/ahcccf.bin/include/mint/sysvars.h
Normal file
127
devtools/ahcccf.bin/include/mint/sysvars.h
Normal file
@@ -0,0 +1,127 @@
|
||||
/* definitions for various GEMDOS system variables in low memory */
|
||||
/* WARNING: this file is not compatible with the old one */
|
||||
|
||||
/*
|
||||
* Convention:
|
||||
* the address for each variable is defined.
|
||||
*/
|
||||
#ifndef _SYSVARS_H
|
||||
# define _SYSVARS_H 1
|
||||
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
|
||||
/* Processor state and post mortem dump area */
|
||||
|
||||
#define PROC_LIVES_MAGIC 0x12345678L /* proc_lives if dump is valid */
|
||||
#define proc_lives ((unsigned long *) 0x380L)
|
||||
struct __post_mortem_dump {
|
||||
unsigned long d0, d1, d2, d3, d4, d5, d6, d7;
|
||||
void *a0, *a1, *a2, *a3, *a4, *a5, *a6, *a7; /* a7 == ssp */
|
||||
void *pc; /* first byte is exception # */
|
||||
void *usp;
|
||||
unsigned short stk[16]; /* sixteen word of super stack */
|
||||
};
|
||||
#define proc_post_mortem_dump_p ((struct __post_mortem_dump *) 0x384L)
|
||||
#define proc_dregs (&proc_post_mortem_dump_p->d0)
|
||||
#define proc_aregs (&proc_post_mortem_dump_p->a0)
|
||||
#define proc_pc (proc_post_mortem_dump_p->pc)
|
||||
#define proc_usp (proc_post_mortem_dump_p->usp)
|
||||
#define proc_utk (proc_post_mortem_dump_p->stk)
|
||||
|
||||
|
||||
/* timer, crit error and process termination handoff vectors */
|
||||
#define etv_timer (((void (**)()) 0x400L))
|
||||
#define etv_critic (((void (**)()) 0x404L))
|
||||
#define etv_term (((void (**)()) 0x408L))
|
||||
|
||||
/* memory controller */
|
||||
#define MEMVALID_MAGIC 0x752019F3L /* once memory is sized */
|
||||
#define memvalid (((unsigned long *) 0x420L))
|
||||
#define mencntlr (((unsigned char *) 0x424L))
|
||||
/* 0 = 128K, 4 = 512K 0 = 256k(2banks) 5 = 1M */
|
||||
|
||||
/* reset vector, jump through resvector if resvalid on reset */
|
||||
#define RESVALID_MAGIC 0x31415926L
|
||||
#define resvalid ((unsigned long *) 0x426L)
|
||||
#define resvector ((void (**)()) 0x42aL)
|
||||
/* do a jmp 0x24L(a6) at end to go to system reset */
|
||||
|
||||
/* mem */
|
||||
#define phystop (((unsigned long *) 0x42eL)) /* physical top of ram */
|
||||
#define _membot (((unsigned long *) 0x432L)) /* bottom of avail */
|
||||
#define _memtop (((unsigned long *) 0x436L)) /* top of avail */
|
||||
#define MEMVAL2_MAGIC 0x237698AAL /* after suc. coldstart && memvalid */
|
||||
#define memval2 (((unsigned long *) 0x43aL))
|
||||
|
||||
/* floppy */
|
||||
#define flock (((short *) 0x43eL)) /* lock usage of DMA chip */
|
||||
#define seekrate (((short *) 0x440L)) /* 0=6ms 1=12ms 2=2ms 3=3ms */
|
||||
#define _timr_ms (((short *) 0x442L)) /* timer calib == 20ms */
|
||||
#define _fverify (((short *) 0x444L)) /* write verify flag */
|
||||
#define _bootdev (((short *) 0x446L))
|
||||
|
||||
/* video */
|
||||
#define palmode (((short *) 0x448L)) /* PAL video mode flag */
|
||||
#define defshiftmd (((unsigned char *) 0x44aL)) /* default video rez */
|
||||
#define sshiftmd (((short *) 0x44cL)) /* shadow of hdwr. shiftmd reg */
|
||||
/* 0=Lo 1=med 2=Hi rez */
|
||||
#define _v_bas_ad (((void *) 0x44eL)) /* screen mem base */
|
||||
#define vblsem ((short *) 0x452L)) /* vbl semaphore */
|
||||
#define nvbls (((short *) 0x454L)) /* # of vbl entries def. == 8 */
|
||||
#define _vblqueue (((void (***)()) 0x456L)) /* vbl queue pointer */
|
||||
#define colorptr (((short **) 0x45aL)) /* pal. on next vblank if!NULL */
|
||||
#define _vbclock (((unsigned long *) 0x462L)) /* vbi counter */
|
||||
#define _frclock (((unsigned long *) 0x466L)) /* #vbi not vblsem'ed */
|
||||
|
||||
#define _hz_200 ((unsigned long *) 0x4baL)
|
||||
|
||||
#define conterm (*((char *) 0x484L))
|
||||
#define savptr ((long *) 0x4A2L)
|
||||
#define _nflops ((short *) 0x4A6L)
|
||||
#define _sysbase ((long *) 0x4F2L)
|
||||
#define _shell_p ((long *) 0x4F6L)
|
||||
|
||||
typedef struct {
|
||||
short puns;
|
||||
char v_p_un[16];
|
||||
long pstart[16];
|
||||
short bpbs[1]; /* really 16 BPB's (bios parameter block) */
|
||||
} HDINFO;
|
||||
|
||||
#define pun_ptr ((HDINFO *) 0x516L)
|
||||
#define _p_cookies ((long **) 0x5A0L)
|
||||
|
||||
/* os header */
|
||||
typedef struct _osheader
|
||||
{
|
||||
unsigned short os_entry; /* 0x00 BRA to reset handler */
|
||||
unsigned short os_version; /* 0x02 TOS version */
|
||||
void (*reseth) __PROTO((void)); /* 0x04 -> reset handler */
|
||||
struct _osheader *os_beg; /* 0x08 -> base of OS */
|
||||
void *os_end; /* 0x0c -> end of OS ram usage */
|
||||
char *os_rsv1; /* 0x10 reserved */
|
||||
char *os_magic; /* 0x14 GEM memory usage param */
|
||||
long os_date; /* 0x18 Build date 0xMMDDYYYY */
|
||||
unsigned short os_conf; /* 0x1c OS conf bits */
|
||||
unsigned short os_dosdate; /* 0x1e DOS format build date */
|
||||
/* the following available on TOS version >= 1.2 */
|
||||
char **p_root; /* 0x20 -> base of OS pool */
|
||||
char **pkbshift; /* 0x24 -> kbd shift state var */
|
||||
char **p_run; /* 0x28 -> PID of current proc */
|
||||
char *p_rsv2; /* 0x2c reserved */
|
||||
} OSHEADER;
|
||||
|
||||
/* zzzz to-do more */
|
||||
|
||||
extern long get_sysvar (void *var) __THROW;
|
||||
extern void set_sysvar_to_long (void *var, long val) __THROW;
|
||||
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _SYSVARS_H */
|
||||
49
devtools/ahcccf.bin/include/mint/xbra.h
Normal file
49
devtools/ahcccf.bin/include/mint/xbra.h
Normal file
@@ -0,0 +1,49 @@
|
||||
|
||||
#ifndef _MINT_XBRA_H
|
||||
# define _MINT_XBRA_H 1
|
||||
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
typedef void (*xptr) __PROTO((void));
|
||||
|
||||
typedef struct __xbra
|
||||
{
|
||||
long xbra_magic;
|
||||
long gnuc_magic;
|
||||
xptr next;
|
||||
short jump;
|
||||
void (*this) __PROTO((void));
|
||||
} xbra_struct;
|
||||
|
||||
#define _XBRA_MAGIC 0x58425241L /* "XBRA" */
|
||||
#define _GNUC_MAGIC 0x474E5543L /* "GNUC" */
|
||||
#define _JMP_OPCODE 0x4EF9
|
||||
#define _JSR_OPCODE 0x4EB9
|
||||
|
||||
#define _XBRA_VEC(x) ((void (*) __PROTO((void))) &(x.jump))
|
||||
|
||||
#define _XBRA_INIT(fn) { \
|
||||
_XBRA_MAGIC, \
|
||||
_GNUC_MAGIC, \
|
||||
(xptr) 0, \
|
||||
_JMP_OPCODE, \
|
||||
(void (*) __PROTO((void))) fn \
|
||||
}
|
||||
|
||||
#define _TRAP_VEC(n,x) ((void (*) __PROTO((void))) (((long) n << 24) | (long) &(x.jump)))
|
||||
|
||||
#define _TRAP_INIT(fn) { \
|
||||
_XBRA_MAGIC, \
|
||||
_GNUC_MAGIC, \
|
||||
(xptr) 0, \
|
||||
_JSR_OPCODE, \
|
||||
(void (*) __PROTO((void))) fn \
|
||||
}
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _XBRA_H */
|
||||
Reference in New Issue
Block a user