mirror of
https://github.com/cc65/cc65.git
synced 2024-11-16 02:10:52 +00:00
87 lines
3.7 KiB
ArmAsm
87 lines
3.7 KiB
ArmAsm
;
|
|
; 2002-07-18, Ullrich von Bassewitz
|
|
; 2022, ChaN
|
|
; 2023, Rumbledethumps
|
|
;
|
|
; Defines the platform-specific error list.
|
|
;
|
|
; The table is built as a list of entries:
|
|
;
|
|
; .byte entrylen
|
|
; .byte errorcode
|
|
; .asciiz errormsg
|
|
;
|
|
; and, terminated by an entry with length zero that is returned if the
|
|
; error code could not be found.
|
|
;
|
|
|
|
.export __sys_oserrlist
|
|
|
|
.include "rp6502.inc"
|
|
.include "errno.inc"
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Macros used to generate the list (may get moved to an include file?)
|
|
|
|
; Regular entry
|
|
.macro sys_oserr_entry code, msg
|
|
.local Start, End
|
|
Start:
|
|
.byte End - Start
|
|
.byte code
|
|
.asciiz msg
|
|
End:
|
|
.endmacro
|
|
|
|
; Sentinel entry
|
|
.macro sys_oserr_sentinel msg
|
|
.byte 0 ; Length is always zero
|
|
.byte 0 ; Code is unused
|
|
.asciiz msg
|
|
.endmacro
|
|
|
|
;----------------------------------------------------------------------------
|
|
; The error message table
|
|
|
|
.rodata
|
|
__sys_oserrlist:
|
|
|
|
sys_oserr_entry ENOENT , "No such file or directory"
|
|
sys_oserr_entry ENOMEM , "Out of memory"
|
|
sys_oserr_entry EACCES , "Permission denied"
|
|
sys_oserr_entry ENODEV , "No such device"
|
|
sys_oserr_entry EMFILE , "Too many open files"
|
|
sys_oserr_entry EBUSY , "Device or resource busy"
|
|
sys_oserr_entry EINVAL , "Invalid argument"
|
|
sys_oserr_entry ENOSPC , "No space left on device"
|
|
sys_oserr_entry EEXIST , "File exists"
|
|
sys_oserr_entry EAGAIN , "Try again"
|
|
sys_oserr_entry EIO , "I/O error"
|
|
sys_oserr_entry EINTR , "Interrupted system call"
|
|
sys_oserr_entry ENOSYS , "Function not implemented"
|
|
sys_oserr_entry ESPIPE , "Illegal seek"
|
|
sys_oserr_entry ERANGE , "Range error"
|
|
sys_oserr_entry EBADF , "Bad file number"
|
|
sys_oserr_entry ENOEXEC , "Exec format error"
|
|
sys_oserr_entry EUNKNOWN , "Unknown OS specific error"
|
|
sys_oserr_entry FR_DISK_ERR , "A hard error occurred in the low level disk I/O layer"
|
|
sys_oserr_entry FR_INT_ERR , "Assertion failed"
|
|
sys_oserr_entry FR_NOT_READY , "The physical drive cannot work"
|
|
sys_oserr_entry FR_NO_FILE , "Could not find the file"
|
|
sys_oserr_entry FR_NO_PATH , "Could not find the path"
|
|
sys_oserr_entry FR_INVALID_NAME , "The path name format is invalid"
|
|
sys_oserr_entry FR_DENIED , "Access denied due to prohibited access or directory full"
|
|
sys_oserr_entry FR_EXIST , "Access denied due to prohibited access"
|
|
sys_oserr_entry FR_INVALID_OBJECT , "The file/directory object is invalid"
|
|
sys_oserr_entry FR_WRITE_PROTECTED , "The physical drive is write protected"
|
|
sys_oserr_entry FR_INVALID_DRIVE , "The logical drive number is invalid"
|
|
sys_oserr_entry FR_NOT_ENABLED , "The volume has no work area"
|
|
sys_oserr_entry FR_NO_FILESYSTEM , "There is no valid FAT volume"
|
|
sys_oserr_entry FR_MKFS_ABORTED , "The f_mkfs() aborted due to any problem"
|
|
sys_oserr_entry FR_TIMEOUT , "Could not get a grant to access the volume within defined period"
|
|
sys_oserr_entry FR_LOCKED , "The operation is rejected according to the file sharing policy"
|
|
sys_oserr_entry FR_NOT_ENOUGH_CORE , "LFN working buffer could not be allocated"
|
|
sys_oserr_entry FR_TOO_MANY_OPEN_FILES , "Number of open files > FF_FS_LOCK"
|
|
sys_oserr_entry FR_INVALID_PARAMETER , "Given parameter is invalid"
|
|
sys_oserr_sentinel "Unknown error"
|