diff --git a/asminc/cbm_ftype.inc b/asminc/cbm_filetype.inc similarity index 100% rename from asminc/cbm_ftype.inc rename to asminc/cbm_filetype.inc diff --git a/include/cbm.h b/include/cbm.h index 471349b71..9ce3cbfbf 100644 --- a/include/cbm.h +++ b/include/cbm.h @@ -70,6 +70,9 @@ # include #endif +/* Include definitions for CBM file types */ +#include + /*****************************************************************************/ @@ -124,19 +127,6 @@ extern char _filetype; /* Defaults to 'u' */ -/* CBM FILE TYPES */ -#define CBM_T_DEL 0 -#define CBM_T_SEQ 1 -#define CBM_T_PRG 2 -#define CBM_T_USR 3 -#define CBM_T_REL 4 -#define CBM_T_CBM 5 /* 1581 sub-partition */ -#define CBM_T_DIR 6 /* IDE64 and CMD sub-directory */ -#define CBM_T_LNK 7 /* IDE64 soft-link */ -#define CBM_T_VRP 8 /* Vorpal fast-loadable format */ -#define CBM_T_OTHER 9 /* File-type not recognized */ -#define CBM_T_HEADER 10 /* Disk header / title */ - /* CBM FILE ACCESS */ #define CBM_A_RO 1 /* Read only */ #define CBM_A_WO 2 /* Write only */ @@ -149,14 +139,6 @@ struct cbm_dirent { unsigned char access; }; -unsigned char __fastcall__ _cbm_filetype (unsigned char c); -/* Map the start character for a file type to one of the file types above. - * Note: 'd' will always mapped to CBM_T_DEL. The calling function has to - * look at the following character to determine if the file type is actually - * CBM_T_DIR. - * This is a function used by the implementation. There is usually no need - * to call it from user code. - */ /*****************************************************************************/ diff --git a/include/cbm_filetype.h b/include/cbm_filetype.h new file mode 100644 index 000000000..9192ee3e9 --- /dev/null +++ b/include/cbm_filetype.h @@ -0,0 +1,106 @@ +/*****************************************************************************/ +/* */ +/* cbm_filetype.h */ +/* */ +/* Definitions for CBM file types */ +/* */ +/* */ +/* */ +/* (C) 2012, Ullrich von Bassewitz */ +/* Roemerstrasse 52 */ +/* D-70794 Filderstadt */ +/* EMail: uz@cc65.org */ +/* */ +/* */ +/* This software is provided 'as-is', without any expressed or implied */ +/* warranty. In no event will the authors be held liable for any damages */ +/* arising from the use of this software. */ +/* */ +/* Permission is granted to anyone to use this software for any purpose, */ +/* including commercial applications, and to alter it and redistribute it */ +/* freely, subject to the following restrictions: */ +/* */ +/* 1. The origin of this software must not be misrepresented; you must not */ +/* claim that you wrote the original software. If you use this software */ +/* in a product, an acknowledgment in the product documentation would be */ +/* appreciated but is not required. */ +/* 2. Altered source versions must be plainly marked as such, and must not */ +/* be misrepresented as being the original software. */ +/* 3. This notice may not be removed or altered from any source */ +/* distribution. */ +/* */ +/*****************************************************************************/ + + + +#ifndef _CBM_FILETYPE_H +#define _CBM_FILETYPE_H + + + +/* Check for errors */ +#if !defined(__CBM__) +# error This module may be used only when compiling for CBM machines! +#endif + + + +/*****************************************************************************/ +/* Definitions */ +/*****************************************************************************/ + + + +/* CBM FILE TYPES. The definitions are used within standard headers, so we + * be careful with identifiers in the user name space. + */ +#define _CBM_T_DEL 0 +#define _CBM_T_SEQ 1 +#define _CBM_T_PRG 2 +#define _CBM_T_USR 3 +#define _CBM_T_REL 4 +#define _CBM_T_CBM 5 /* 1581 sub-partition */ +#define _CBM_T_DIR 6 /* IDE64 and CMD sub-directory */ +#define _CBM_T_LNK 7 /* IDE64 soft-link */ +#define _CBM_T_VRP 8 /* Vorpal fast-loadable format */ +#define _CBM_T_OTHER 9 /* File-type not recognized */ +#define _CBM_T_HEADER 10 /* Disk header / title */ + +#if __CC65_STD__ == __CC65_STD_CC65__ +/* Allow for names without leading underscores */ +#define CBM_T_DEL _CBM_T_DEL +#define CBM_T_SEQ _CBM_T_SEQ +#define CBM_T_PRG _CBM_T_PRG +#define CBM_T_USR _CBM_T_USR +#define CBM_T_REL _CBM_T_REL +#define CBM_T_CBM _CBM_T_CBM +#define CBM_T_DIR _CBM_T_DIR +#define CBM_T_LNK _CBM_T_LNK +#define CBM_T_VRP _CBM_T_VRP +#define CBM_T_OTHER _CBM_T_OTHER +#define CBM_T_HEADER _CBM_T_HEADER +#endif + + + +/*****************************************************************************/ +/* Code */ +/*****************************************************************************/ + + + +unsigned char __fastcall__ _cbm_filetype (unsigned char c); +/* Map the start character for a file type to one of the file types above. + * Note: 'd' will always mapped to CBM_T_DEL. The calling function has to + * look at the following character to determine if the file type is actually + * CBM_T_DIR. + * This is a function used by the implementation. There is usually no need + * to call it from user code. + */ + + + +/* End of cbm_filetype.h */ +#endif + + diff --git a/libsrc/cbm/Makefile b/libsrc/cbm/Makefile index c91428a42..f98e5ff19 100644 --- a/libsrc/cbm/Makefile +++ b/libsrc/cbm/Makefile @@ -57,7 +57,7 @@ S_OBJS = c_acptr.o \ c_unlsn.o \ c_untlk.o \ cbm_close.o \ - cbm_ftype.o \ + cbm_filetype.o \ cbm_open.o \ cbm_read.o \ cbm_write.o \ diff --git a/libsrc/cbm/cbm_ftype.s b/libsrc/cbm/cbm_filetype.s similarity index 97% rename from libsrc/cbm/cbm_ftype.s rename to libsrc/cbm/cbm_filetype.s index 862fb72bf..3df5de34d 100644 --- a/libsrc/cbm/cbm_ftype.s +++ b/libsrc/cbm/cbm_filetype.s @@ -5,7 +5,7 @@ ; unsigned char __fastcall__ _cbm_filetype (unsigned char c); ; - .include "cbm_ftype.inc" + .include "cbm_filetype.inc" .macpack generic