Annotation of frontvm/hardware/hostcall.h, revision 1.1.1.1

1.1       root        1: /*
                      2:   Hatari
                      3: */
                      4: 
                      5: 
                      6: /*
                      7:   GEMDOS error codes, See 'The Atari Compendium' D.3
                      8: */
                      9: #define GEMDOS_EOK      0    // OK
                     10: #define GEMDOS_ERROR   -1    // Generic error
                     11: #define GEMDOS_EDRVNR  -2    // Drive not ready
                     12: #define GEMDOS_EUNCMD  -3    // Unknown command
                     13: #define GEMDOS_E_CRC   -4    // CRC error
                     14: #define GEMDOS_EBADRQ  -5    // Bad request
                     15: #define GEMDOS_E_SEEK  -6    // Seek error
                     16: #define GEMDOS_EMEDIA  -7    // Unknown media
                     17: #define GEMDOS_ESECNF  -8    // Sector not found
                     18: #define GEMDOS_EPAPER  -9    // Out of paper
                     19: #define GEMDOS_EWRITF  -10   // Write fault
                     20: #define GEMDOS_EREADF  -11   // Read fault
                     21: #define GEMDOS_EWRPRO  -12   // Device is write protected
                     22: #define GEMDOS_E_CHNG  -14   // Media change detected
                     23: #define GEMDOS_EUNDEV  -15   // Unknown device
                     24: #define GEMDOS_EINVFN  -32   // Invalid function
                     25: #define GEMDOS_EFILNF  -33   // File not found
                     26: #define GEMDOS_EPTHNF  -34   // Path not found
                     27: #define GEMDOS_ENHNDL  -35   // No more handles
                     28: #define GEMDOS_EACCDN  -36   // Access denied
                     29: #define GEMDOS_EIHNDL  -37   // Invalid handle
                     30: #define GEMDOS_ENSMEM  -39   // Insufficient memory
                     31: #define GEMDOS_EIMBA   -40   // Invalid memory block address
                     32: #define GEMDOS_EDRIVE  -46   // Invalid drive specification
                     33: #define GEMDOS_ENSAME  -48   // Cross device rename
                     34: #define GEMDOS_ENMFIL  -49   // No more files
                     35: #define GEMDOS_ELOCKED -58   // Record is already locked
                     36: #define GEMDOS_ENSLOCK -59   // Invalid lock removal request
                     37: #define GEMDOS_ERANGE  -64   // Range error
                     38: #define GEMDOS_EINTRN  -65   // Internal error
                     39: #define GEMDOS_EPLFMT  -66   // Invalid program load format
                     40: #define GEMDOS_EGSBF   -67   // Memory block growth failure
                     41: #define GEMDOS_ELOOP   -80   // Too many symbolic links
                     42: #define GEMDOS_EMOUNT  -200  // Mount point crossed (indicator)
                     43: 
                     44: /*
                     45:   GemDOS file attributes
                     46: */
                     47: #define GEMDOS_FILE_ATTRIB_READONLY      0x01
                     48: #define GEMDOS_FILE_ATTRIB_HIDDEN        0x02
                     49: #define GEMDOS_FILE_ATTRIB_SYSTEM_FILE   0x04
                     50: #define GEMDOS_FILE_ATTRIB_VOLUME_LABEL  0x08
                     51: #define GEMDOS_FILE_ATTRIB_SUBDIRECTORY  0x10
                     52: #define GEMDOS_FILE_ATTRIB_WRITECLOSE    0x20
                     53: 
                     54: /*
                     55:   Disc Tranfer Address (DTA)
                     56: */
                     57: #define TOS_NAMELEN  14
                     58: 
                     59: typedef struct {
                     60:   unsigned char index[2];
                     61:   unsigned char magic[4];
                     62:   char dta_pat[TOS_NAMELEN];
                     63:   char dta_sattrib;
                     64:   char dta_attrib;
                     65:   unsigned char dta_time[2];
                     66:   unsigned char dta_date[2];
                     67:   unsigned char dta_size[4];
                     68:   char dta_name[TOS_NAMELEN];
                     69: } DTA;
                     70: 
                     71: #define DTA_MAGIC_NUMBER  0x12983476
                     72: #define MAX_DTAS_FILES    256      /* Must be ^2 */
                     73: #define CALL_PEXEC_ROUTINE 3       /* Call our cartridge pexec routine */
                     74: 
                     75: #define  BASE_FILEHANDLE     64    /* Our emulation handles - MUST not be valid TOS ones, but MUST be <256 */
                     76: #define  MAX_FILE_HANDLES    32    /* We can allow 32 files open at once */
                     77: 
                     78: /* 
                     79:    DateTime structure used by TOS call $57 f_dattime 
                     80:    Changed to fix potential problem with alignment.
                     81: */
                     82: typedef struct {
                     83:   unsigned short word1;
                     84:   unsigned short word2;
                     85: } DATETIME;
                     86: 
                     87: 
                     88: #ifndef MAX_PATH
                     89: #define MAX_PATH 256
                     90: #endif
                     91: 
                     92: typedef struct {
                     93:   char hd_emulation_dir[MAX_PATH];         /* hd emulation directory */
                     94:   char fs_currpath[MAX_PATH];              /* current path */
                     95:   int hd_letter;                           /* drive letter */
                     96: } EMULATEDDRIVE;
                     97: 
                     98: extern EMULATEDDRIVE emudrive;
                     99: 
                    100: extern void GemDOS_Init(void);
                    101: extern void GemDOS_Reset();
                    102: extern void GemDOS_InitDrives();
                    103: extern void GemDOS_UnInitDrives();
                    104: extern void GemDOS_CreateHardDriveFileName(int Drive,char *pszFileName,char *pszDestName);
                    105: extern BOOL GemDOS(void);
                    106: extern unsigned long HostCall_OpCode (uae_u32 opcode);
                    107: extern unsigned long HCall_OpCode (uae_u32 opcode);
                    108: 
                    109: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.